The value of Zmotion is to bring customers more success!
《视频教程:EtherCAT运动控制器的PLC编程(三) 电子齿轮》
电子齿轮模式能够将两轴或多轴联系起来,实现精确的同步运动,从而替代传统的机械齿轮连接。
被跟随的轴称为主轴,跟随的轴为从轴,通过将跟随轴按照某个比率连接到主轴上,从而达到主轴运动时,连接的跟随轴也跟随运动。同时连接的是脉冲个数,要考虑不同轴 UNITS 的比例。
第一部分 电子齿轮作用
1.脉冲补偿,减少上位机负担(因为目前用的发送脉冲的元件,都有脉冲发送频率的限制)。
2.匹配电机发出的脉冲数与机械最小移动量,可将指令输入1个脉冲对应的工件(或电机)移动量设定为任意值;可实现电机的无极变速,在电机启动和停止时,可以防止失步和过冲现象,这样就能充分发挥电机的潜能。
3.传递同步运动信息,实现坐标的联动、运动形式之间的变换(旋转-旋转,旋转-直线,直线-直线)、简化控制等。
第二部分 电子齿轮指令说明
4.电子齿轮使用例程
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
ATYPE=1,1
UNITS=100,1000
DPOS=0,0
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
TRIGGER '自动触发示波器
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.5
MOVE(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 m8002
DMOV K1 D0
DMOV K2 D2
DMOV K3 D4
DMOV K5 D6
//子函数调用
ld m8002
CALL L1
LDP M200
CALL @MoveAbsolu
LDP M201
CALL L0
//手轮控制部分
LD M10
out s0
ed
exe @print"关闭手轮"
call @HandWheel_Stop
//手轮控制部分:根据旋钮来选择驱动轴与连接倍率
STL S0
MPS
AND X0
EXE @CONNECT(modbus_long(10),modbus_long(6)) AXIS(modbus_long(0))
MRD
AND X1
EXE @CONNECT(modbus_long(10),modbus_long(6)) AXIS(modbus_long(2))
MRD
AND X2
EXE @CONNECT(modbus_long(10),modbus_long(6)) AXIS(modbus_long(4))
MRD
call @HandWheel_Stop
AND X10
DMOV K1 D10
MRD
AND X11
DMOV K10 D10
MPP
AND X12
DMOV K100 D10
RET
fend
//在不同情况下由这个子函数判断是否停止手轮功能
lbl @HandWheel_Stop
ldi x0
ANI X1
ANI X2
ORP X0
ORP X1
ORP X2
ORI S0
Base d0
exe @CANCEL(0)
Base d2
exe @CANCEL(0)
base d4
exe @CANCEL(0)
sret
//初始化选择轴
lbl l1
ld m8000
BASE D0 D2 D4 D6
EXE @atype = 1,1,1,3
EXE @UNITS = 1,1,1,1
EXE @ACCEL = 1000,1000,1000,1000
EXE @DECEL = 1000,1000,1000,1000
EXE @SPEED = 100,100,100,100
EXE @SRAMP = 0,0,0,0
EXE @DPOS = 0,0,0,0
EXE @MPOS = 0,0,0,0
sret
LBL @MoveAbsolu
ld m8000
base d0 d2 d4
exe @moveabs(TABLE(0),TABLE(2),TABLE(4))
sret
LBL l0
ld m8000
base d0 d2
exe @MOVECIRC(TABLE(10),TABLE(11),TABLE(12),TABLE(13),MODBUS_BIT(100))
sret
本次,EtherCAT运动控制器的PLC编程(三)——电子齿轮,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。