The value of Zmotion is to bring customers more success!
ZMC406支持6轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。
ZMC406支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、Matlab、Qt、Linux、VB.Net、Python等接口。
ZMC406支持6轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24路输入口和12路输出口,模拟量AD/DA各两路,EtherCAT最快125us的刷新周期。
此类运动控制器与PCI运动控制卡相比具有如下优点:
▶▶▶
机械手相关概念
1、关节轴与虚拟轴
2、正解运动与逆解运动
▶▶▶
机械手使用操作步骤
1、确认电机转向是否正确。
‘从TableNum编号开始依次机械手结构参数上间距半径、下间距半径、上杆长度、下杆长度、第一个关节轴旋转一圈的脉冲数、第二个关节轴旋转一圈的脉冲数、第三个关节轴旋转一圈的脉冲数、末端与下面中心点的X偏移、末端与下面中心点的Y偏移、末端与下面中心点的Z偏移、第四个关节轴旋转一圈的脉冲数到Table中。 TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)
3、设置关节轴参数及虚拟轴参数。
各轴的轴类型和脉冲当量(units)要设置正确,设置为电机走1°需要的脉冲数。虚拟轴的units跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的1mm的脉冲数一般建议设置为1000,表示精度为小数点后3位。
'关节轴设置 BASE(Axis_JList(0),Axis_JList(1),Axis_JList(2),Axis_JList(3)) '脉冲轴类型设置为1。若是总线轴类型,可设置为65 ATYPE = 1,1,1,1 UNITS = UnitsJList(0),UnitsJList(1),UnitsJList(2),UnitsJList(3) '设置关节轴速度、加速度(一般设置为速度的10倍)、减速度(一般设置为速度的10倍) SPEED = SpeedJList(0),SpeedJList(1),SpeedJList(2),SpeedJList(3) ACCEL = ADSpeedJList(0),ADSpeedJList(1),ADSpeedJList(2),ADSpeedJList(3) DECEL = ADSpeedJList(0),ADSpeedJList(1),ADSpeedJList(2),ADSpeedJList(3) 'S曲线 SRAMP = SrampJ(0),SrampJ(1),SrampJ(2),SrampJ(3) '虚拟轴设置 BASE(Axis_VList(0),Axis_VList(1),Axis_VList(2)) '虚拟轴轴类型设置为0 ATYPE = 0,0,0 '虚拟轴脉冲当量设置为1000--表示精度为小数点后3位 UNITS = 1000,1000,1000 '设置虚拟轴速度、加速度(一般设置为速度的10倍)、减速度(一般设置为速度的10倍) SPEED = SpeedVList(0),SpeedVList(1),SpeedVList(2) ACCEL = AccelV(0),AccelV(1),AccelV(2) DECEL = DecelV(0),DecelV(1),DecelV(2) 'S曲线 SRAMP = SrampV(0),SrampV(1),SrampV(2)
4、移动各关节轴到规定的零点位置。
5、根据需求建立正解或逆解控制机械手。
▶▶▶
机械手指令说明
2、CONNFRAME -- 建立逆解连接
▶▶▶
Delta机械手模式建立
1、正解建立
指令说明可通过Rtsys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。
'将机械手参数从编号TableNum开始依次存储到Table数组中 TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4) '选择轴列表 BASE(Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4) '建立机械手正解 CONNREFRAME(FrameType,TableNum,Axis_J1,Axis_J2,Axis_J3,Axis_J4)
以Delta机械手的Frame12模型为例。
先将机械手结构参数从某个Table起始编号依次存储到Table数组中,然后选择对应模型的轴列表,使用CONNFRAME指令建立正解模式。指令说明可通过Rtsys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。
'将机械手参数从编号TableNum开始依次存储到Table数组中 TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4) '选择轴列表 BASE(Axis_J1,Axis_J2,Axis_J3,Axis_J4) '建立机械手逆解 CONNFRAME(FrameType,TableNum,Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)
▶▶▶
程序编辑
RTSys软件支持Basic,HMI与PLC混合编程,本例程采用Basic结合HMI界面混合编程进行演示。可通过RTSys软件菜单栏的【HMI】-【工具箱】,选择控件进行拖拉摆放,设计交互界面。
在本次例程中均先在bas文件中定义全局的SUB子函数,编辑子函数的功能(工程源码见文章末尾)需求然后使用控件绑定,控件的动作均选择调用函数。操作流程如下图。
▶▶▶
应用例程
1、需求描述
Delta机械手逆解建立时以零点位置为参考,确定一个安全高度。基本动作为机械手上升到安全高度去固定的取料点上方,然后下降打开Op口通过真空吸的方式去取料,延时抬升到安全高度然后运动到固定的2*2码盘位置,下降到码盘位置关闭Op进行放料,然后抬升依次循环直到将码盘放满后停止。
'启动标志位置1 StartFlag = 1 LOCAL SafeHigh,i '安全高度 SafeHigh = DPOS(Axis_VList(2))-25 '行,列 LOCAL Row,Col '固定的取料点位置 LOCAL SrcBorrow_X,SrcBorrow_Y,SrcBorrow_Z SrcBorrow_X = 5 SrcBorrow_Y = 5 SrcBorrow_Z = SafeHigh-20 '选择虚拟轴 BASE(Axis_VList(0),Axis_VList(1),Axis_VList(2)) '设置加工的速度、加速度、减速度 SPEED = SpeedVList(0) ACCEL = AccelV(0) DECEL = DecelV(0) '打开连续插补 MERGE = ON '每次启动临时总数清零 TmpSum = 0 '运动到零点位置参考的安全高度 MOVEABS(0,0,SafeHigh) FOR Col=1 TO 2 FOR Row=1 TO 2 '运动到取料点上方 MOVEABS(SrcBorrow_X,SrcBorrow_Y,SafeHigh) '下降到取料点 MOVEABS(SrcBorrow_X,SrcBorrow_Y,SrcBorrow_Z) '打开Op口吸附取料 MOVE_OP(8,ON) '延时 MOVE_DELAY(300) '上升到安全高度 MOVEABS(SrcBorrow_X,SrcBorrow_Y,SafeHigh) '运动到码盘放料点上方位置 MOVEABS(-5*Row,5*Col,SafeHigh) '下降到码盘放料点位置 MOVEABS(-5*Row,5*Col,SrcBorrow_Z) '关闭Op口进行放料 MOVE_OP(8,OFF) '延时 MOVE_DELAY(300) '上升到安全高度 MOVEABS(-5*Row,5*Col,SafeHigh) '临时总数自增 TmpSum = TmpSum+1 NEXT NEXT '等待所有轴停止 WAIT UNTIL IDLE(Axis_VList(0)) AND IDLE(Axis_VList(1)) AND IDLE(Axis_VList(2)) DELAY(10) RAPIDSTOP(2) DELAY(10) '启动标志位置0 StartFlag = 0
▶▶▶
调试分析
1、将程序下载到控制器运行,先后点击RTSys软件菜单栏的【工具】-【插件】-【XPLC SCREEN】。
2、 待交互界面弹出后,在主界面机械手模式选择”机械手正解” 。
3、 建立正解连接之后,打开正运动机械手仿真软件ZRobotView,点击“连接”弹出”连接控制器”窗口,然后选择连接控制器的方式(仿真工具支持串口和网口连接)。这里以网口连接为例,在IP栏选择控制器的IP然后进行连接。
5、切换到 RTSys编程软件,先后点击菜单栏的【常用】-【示波器】。待示波器窗口弹出后选择XYZ模式,从三维空间观察动作演示效果。数据源选择DPOS(规划位置),数据源编号选择虚拟轴轴号。示波器参数确认后,先后点击【停止】-【启动】-【手动触发】。
完整代码获取地址
本次,正运动技术EtherCAT运动控制器Delta机械手应用 ,就分享到这里。
更多精彩内容请关注“ 正运动小助手 ”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制器_运动控制系统_视觉控制器__运动控制PLC_运动控制_机器人控制器_视觉定位_XPCIe/XPCI系列运动控制卡等等。