EtherCAT运动控制器在SCARA和码垛机械手中的应用

2024-08-28 19:44

本文主要是介绍EtherCAT运动控制器在SCARA和码垛机械手中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

XPLC104H8R硬件介绍

XPLC104H8R是正运动推出的一款高性价比多轴EtherCAT总线+脉冲型运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,是一款集成了Basic、PLC梯形图和HMI组态三种编程方式于一体的运动控制产品。

在这里插入图片描述

XPLC104H8R支持4轴运动控制,最多可扩展至32轴,通用IO包含32路输入口和32路输出口,模拟量AD/DA各2路,EtherCAT刷新周期1ms。支持直线插补、任意圆弧插补、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。

在这里插入图片描述

XPLC104H8R高性价比多轴运动控制器可用于电子半导体设备(检测类设备、组装类设备、锁附类设备、焊锡机)、点胶设备、非标设备、印刷包装设备、纺织服装设备、医疗设备、流水线等应用场合。

此类运动控制器与PCI运动控制卡相比具有如下优点:

(1)不使用插槽,稳定性更好;

(2)可以选用MINI电脑或ARM工控电脑,降低整体成本;

(3)控制器直接做接线板使用,节省空间;

(4) 控制器上可以并行运行程序,与PC只需要简单交互,降低PC软件的复杂性等优势。

XPLC控制器通过RTSys开发环境调试,RTSys是一个方便编程、编译和调试的环境。RTSys可以通过串口、以太网、PCI和LOCAL与控制器建立连接。应用程序可以使用VC,VB,VS, C++Builder,C#等软件来开发。调试时可以把RTSys软件同时连接到控制器,程序运行时需要动态库zmotion.dll。

在这里插入图片描述

XPLC系列控制器支持SCARA,标准码垛等多种机械手模型。采用脱机的方式将编辑好的程序下载到控制器上(也可以用PC监视或者实时发送指令操作),可利用触摸屏示教的方式编辑想要运动的轨迹。

▶▶▶ ZHD400X硬件介绍

在这里插入图片描述

ZHD400X是一款网络显示的触摸屏示教盒,示教盒必须和支持ZHMI功能的控制器配合使用,控制器软件开发需要ZDevelop2.6以上版本。

ZHD400X带有800*480分辨率的真彩显示屏,18个按键,配急停开关。

在这里插入图片描述

▶▶▶ FRAME1–标准SCARA

SCARA机械手支持2-4轴,大关节轴+小关节轴[+Z轴]、[+末端旋转轴]。

在这里插入图片描述

本系统应用于标准4轴SCARA机械手,2个关节轴X,Y,一个上下Z轴,及一个末端旋转轴R。

SCARA机械手使用步骤

1.确认电机转向是否正确。

电机方向及角度范围定义,各关节电机正向如下图蓝色箭头所示。

在这里插入图片描述

在这里插入图片描述

2.确认机械手各关节轴对应到控制器指令参数的轴次序。

选择各个关节轴轴号和对应的虚拟轴轴号。

在这里插入图片描述

在这里插入图片描述

3.TABLE中设置好机械结构相关参数。

建立机械手连接时,需要将机械结构参数按照如下次序依次填写到TABLE数组中。

在这里插入图片描述

从TableNum编号开始依次机械手结构参数大关节轴旋转中心到小关节轴旋转中心的距离,小关节轴旋转中心到末端旋转轴的旋转中心距离,大关节旋转一圈的脉冲数,小关节旋转一圈的脉冲数,末端旋转轴旋转一圈的脉冲数,末端旋转轴旋转中心到端工作点的距离,末端旋转轴旋转一圈伸缩轴移动的距离。

TABLE(tablenum,L1,L2,Pules1OneCircle,Pules2OneCircle,[Pules3OneCircle,L3] [,ZDis])。
例程从TABLE(10000)开始依次填入Frame所需机械参数。

在这里插入图片描述

4.电机参数设置。

各轴的轴类型和脉冲当量要设置正确。机械手的所有虚拟轴和关节轴的长度单位要求统一,一般都是mm单位。虚拟轴的UNITS跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的一个mm的脉冲数一般建议设置为1000,表示精度为小数点后3位,此例程内部以设置好无需再设置。

在这里插入图片描述

5.移动各关节轴到规定的零点位置。

机械手算法建立时,需要有个零点位置作为参考,同时需要确定好电机转向。

SCARA的零点位置为两个关节轴的零点时成一条直线,此时指向虚拟X轴的正向。

坐标方向: 当关节轴为零点的位置时,虚拟轴零点的坐标为(L1+L2,0),上下伸缩轴零点位置无特殊要求。 建立逆解连接之后虚拟轴的DPOS坐标自动校正为(L1+L2,0)。

在这里插入图片描述

6.建立机械手正逆解。

正解建立:先选择对应的机械手模型,不同机械手模型对应的table列表不同,使用CONNREFRAME指令建立正解模式,然后选择对应模型的轴列表。指令说明可通过RTSys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。

若机械手正解建立成功,虚拟轴MTYPE(当前运动类型)将显示为34,此时只能操作关节轴在关节坐标系中调整机械手姿态,手动运动可通过RTSys软件菜单栏的【工具】-【手动运动】,待【手动运动】界面弹出之后选择关节轴轴编号 (本文关节轴以轴0(J0轴),轴1(J1轴),轴2(J2轴)),轴3(J3轴)) , 然后根据实际需求选择点动或者寸动。虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

在这里插入图片描述

在这里插入图片描述

逆解建立:先选择对应的机械手模型,不同机械手模型对应的table列表不同,然后选择对应模型的轴列表,使用CONNFRAME指令建立正解模式。指令说明可通过RTSys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。

若机械手逆解建立成功,关节轴MTYPE(当前运动类型)将显示为33,【手动运动】界面操作虚拟轴方法同上。此时加工工艺指令只能操作虚拟轴,事先编辑好运动的轨迹在直角坐标系中运动 (本文虚拟轴以轴6,轴7,轴8,轴9为例),关节轴会自动计算在关节坐标系中如何联合运动。

在这里插入图片描述

在这里插入图片描述

▶▶▶ FRAME3–标准码垛

在这里插入图片描述

本例程使用FRAME3–标准码垛机械手,2个关节轴X,Y,一个上下Z轴,及一个末端旋转轴R。标准码垛机械手使用步骤如下。

1.确认电机转向是否正确。

定义各关节轴的正向如蓝色箭头所示。

在这里插入图片描述

在这里插入图片描述

2.确认机械手各关节轴对应到控制器指令参数的轴次序。

选择各个关节轴轴号和对应的虚拟轴轴号。

在这里插入图片描述

在这里插入图片描述

3.TABLE寄存器依次存入机械手结构参数。

在这里插入图片描述

在这里插入图片描述

从TableNum编号开始依次机械手结构参数零点时,xz平面内底座旋转轴的旋 转中心到大关节轴的旋转中心x方向的距离,零点时xz平面内,底座旋转轴的旋转中心到大关节轴的旋转中心z方向的距离,底座轴一圈脉冲数,大臂轴长度,小臂轴长度,大臂轴一圈脉冲数,小臂轴一圈脉冲数,末端的水平偏移,末端轴的一圈脉冲数到Table中。

TABLE(tablenum,LargeX,LargeZ,PulesLargeOneCircle,L1,L2,Pules1OneCircle,Pules2OneCircle,SmallX,SmallZ ,[PulesSmallOneCircle)
例程从TABLE(80002)开始依次填入Frame所需机械参数。

在这里插入图片描述

4.设置关节轴参数及虚拟轴参数。

各轴的轴类型和脉冲当量(units)要设置正确,设置为电机走1°需要的脉冲数。虚拟轴的units跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的脉冲当量一般设置为1000,表示精度为小数点后3位。

5.确定机械手零点位置。

定义大关节轴0点位置为大臂竖直;小关节轴0点位置为小臂水平。直角坐标系零点位置为底座中心。

在这里插入图片描述

6.建立机械手正逆解。

正解建立: 先选择对应的机械手模型,不同机械手模型对应的table列表不同,使用CONNREFRAME指令建立正解模式,然后选择对应模型的轴列表。指令说明可通过RTSys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。

若机械手正解建立成功,虚拟轴MTYPE(当前运动类型)将显示为34,此时只能操作关节轴在关节坐标系中调整机械手姿态,手动运动可通过RTSys软件菜单栏的【工具】-【手动运动】,待【手动运动】界面弹出之后选择关节轴轴编号 (本文关节轴以轴0(J0轴),轴1(J1轴),轴2(J2轴)),轴3(J3轴)),然后根据实际需求选择点动或者寸动。虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

在这里插入图片描述

在这里插入图片描述

逆解建立: 先选择对应的机械手模型,不同机械手模型对应的table列表不同,使用CONNFRAME指令建立正解模式。指令说明可通过RTSys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。

若机械手逆解建立成功,关节轴MTYPE(当前运动类型)将显示为33,【手动运动】界面操作虚拟轴方法同上。此时加工工艺指令只能操作虚拟轴,事先编辑好运动的轨迹在直角坐标系中运动 (本文虚拟轴以轴6,轴7,轴8,轴9为例) ,关节轴会自动计算在关节坐标系中如何联合运动。

在这里插入图片描述

在这里插入图片描述

▶▶▶ 例程演示

RTSys软件支持Basic,HMI与PLC混合编程,本例程采用Basic结合HMI界面混合编程进行演示。可通过RTSys软件菜单栏的【HMI】-【工具箱】,选择空间进行拖拉摆放,设计交互界面。

1.将程序下载到控制器运行,先后点击RTSys软件菜单栏的【工具】-【插件】-【XPLC SCREEN】。

在这里插入图片描述

2.待交互界面弹出后点击“菜单”按钮,选择“结构参数”输入密码,进入,或者直接按400X上面的的“F3”按钮,输入密码,进入,选择对应的机械手模型和配置对应的机构参数。

在这里插入图片描述

在这里插入图片描述

3.选择完机械手模型和设置好机械参数后,点击“轴参数”按钮进行轴参数配置。

在这里插入图片描述

4.设置完成之后点击“主界面”,回到主界面,点击“菜单”选择“手动运动”,或者按400X上面的”F6”调出手动运动界面,进行正逆解切换,和操作对应轴进行运动。

在这里插入图片描述

5.机械手仿真工具的使用。打开【 ZRobotView】软件,点击【连接】输入控制器的IP(默认 IP:192 168.0.11) 点击连接,待连接成功后点击切换即可 3D仿真机械手的运动情况。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本次,正运动技术EtherCAT运动控制器在SCARA和码垛机械手中的应用,就分享到这里。

更多精彩内容请关注“ 正运动小助手 ”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

这篇关于EtherCAT运动控制器在SCARA和码垛机械手中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115711

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.