EtherCAT运动控制器的PLC编程(三) 电子齿轮
电子齿轮模式能够将两轴或多轴联系起来,实现精确的同步运动,从而替代传统的机械齿轮连接。
被跟随的轴称为主轴,跟随的轴为从轴,通过将跟随轴按照某个比率连接到主轴上,从而达到主轴运动时,连接的跟随轴也跟随运动。同时连接的是脉冲个数,要考虑不同轴 UNITS 的比例。
第一部分 电子齿轮作用
1.脉冲补偿,减少上位机负担(因为目前用的发送脉冲的元件,都有脉冲发送频率的限制)。
2.匹配电机发出的脉冲数与机械最小移动量,可将指令输入1个脉冲对应的工件(或电机)移动量设定为任意值;可实现电机的无极变速,在电机启动和停止时,可以防止失步和过冲现象,这样就能充分发挥电机的潜能。
3.传递同步运动信息,实现坐标的联动、运动形式之间的变换(旋转-旋转,旋转-直线,直线-直线)、简化控制等。
第二部分 电子齿轮指令说明
4.电子齿轮使用例程
RAPIDSTOP(2)WAIT IDLE(0)WAIT IDLE(1)BASE(0,1)ATYPE=1,1UNITS=100,1000DPOS=0,0SPEED=100,100ACCEL=1000,1000DECEL=1000,1000TRIGGER '自动触发示波器MOVE(100) AXIS(1) '轴1运动100,此时轴0不动WAIT IDLE(1) '上一段运动不连接CONNECT(0.5,1) AXIS(0) '轴0连接到轴1,比率为0.5'CONNPATH(0.5,1) AXIS(0) '轴0连接到轴1,比率为0.5MOVE(100) AXIS(1) '轴1运动100轴0运动距离:100*1000*0.5/100=500
5.指令注意事项
CONNECT-同步运动和CONNPATH-同步运动2,同为电子齿轮连接指令,而且二者的使用语法规则相同。
CONNECT连接的是 测量长度,主轴单轴所发的脉冲个数*连接比率=跟随轴所发的脉冲个数,即在连接比例相同的情况下,主轴单轴所发的脉冲个数与跟随轴所发的脉冲个数相等。
CONNPATH连接的是 插补矢量长度,插补合成轴所发的脉冲个数*连接比率=跟随轴所发的脉冲个数,即在连接比例相同的情况下,主轴与其他轴合成的插补运动所发的脉冲个数与跟随轴的所发的脉冲个数相同。
CONNPATH如果连接到单个轴,其运动的效果与CONNECT相同。
第三部分 电子齿轮应用案例
1.控制器示意图
ZMC006CE手轮接口(Encoder)示意图
2.手轮示意图
3.手轮与ZMC006CE手轮轴接线
4.手轮位置补偿——梯形图例程
梯形图程序结构:上电后循环扫描判断辅助继电器M的状态,从而调用不同的子程序执行。辅助继电器M的状态由HMI界面控制。
手轮应用梯形图程序:
下方子函数与主程序无关,作用是在HMI初始化函数中启动PLC文件任务,上方PLC文件由自动运行任务号开启,若不设置PLC文件自动运行,则可调用下方程序。
手轮应用案例界面效果
//指定轴号ld m8002DMOV K1 D0DMOV K2 D2DMOV K3 D4DMOV K5 D6//子函数调用ld m8002CALL L1LDP M200CALL @MoveAbsoluLDP M201CALL L0//手轮控制部分LD M10out s0edexe @print"关闭手轮"call @HandWheel_Stop//手轮控制部分:根据旋钮来选择驱动轴与连接倍率STL S0MPSAND X0EXE @CONNECT(modbus_long(10),modbus_long(6)) AXIS(modbus_long(0))MRDAND X1EXE @CONNECT(modbus_long(10),modbus_long(6)) AXIS(modbus_long(2))MRDAND X2EXE @CONNECT(modbus_long(10),modbus_long(6)) AXIS(modbus_long(4))MRDcall @HandWheel_StopAND X10DMOV K1 D10MRDAND X11DMOV K10 D10MPPAND X12DMOV K100 D10RETfend//在不同情况下由这个子函数判断是否停止手轮功能lbl @HandWheel_Stopldi x0ANI X1ANI X2ORP X0ORP X1ORP X2ORI S0Base d0exe @CANCEL(0)Base d2exe @CANCEL(0)base d4exe @CANCEL(0)sret//初始化选择轴lbl l1ld m8000BASE D0 D2 D4 D6 EXE @atype = 1,1,1,3EXE @UNITS = 1,1,1,1EXE @ACCEL = 1000,1000,1000,1000EXE @DECEL = 1000,1000,1000,1000EXE @SPEED = 100,100,100,100EXE @SRAMP = 0,0,0,0EXE @DPOS = 0,0,0,0EXE @MPOS = 0,0,0,0sretLBL @MoveAbsoluld m8000base d0 d2 d4exe @moveabs(TABLE(0),TABLE(2),TABLE(4))sretLBL l0 ld m8000base d0 d2 exe @MOVECIRC(TABLE(10),TABLE(11),TABLE(12),TABLE(13),MODBUS_BIT(100))sret
本次,EtherCAT运动控制器的PLC编程(三)——电子齿轮,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。