7、映射正/负JOG输入
FWD_JOG——映射正向JOG输入;
REV_JOG——映射负向JOG输入。
正向/负向JOG输入对应的输入口编号,-1无效。
当有正向JOG信号输入时,对应轴按照JOGSPEED速度正向运动。
当有正向JOG信号输入时,对应轴按照JOGSPEED速度负向运动。
正负信号同时有效时,正向运动。
JOGSPEED——JOG速度。
JOG时的速度,单位为units/s。
当REV_JOG/FWD_JOG被设置,对应输入点按下时,并保持当前输入状态,电机将以JOGSPEED慢速运动,输入点松开运动停止。
例子:
BASE(0) '选择轴0
ATYPE=1 '脉冲轴类型
DPOS=0 '坐标清0
UNITS=100 '脉冲当量
SPEED =100 '主轴速度
ACCEL=1000 '加速度
DECEL=1000 '减速度
TRIGGER '自动触发示波器
JOGSPEED=50 'JOG速度50
FWD_JOG=0 'IN0作为正向JOG开关
REV_JOG=1 'IN1作为负向JOG开关
INVERT_IN(0,ON) '反转信号
INVERT_IN(1,ON)
运行效果:
输入0口有信号输入时,轴0正向运行,速度为50。
输入1口有信号输入时,轴0负向运行,速度为50。
输入0、1同时有信号输入时,轴0正向运行。
8、FAST_JOG——映射点动输入
快速点动的输入的编号,-1为无效。
如果设置快速点动输入,速度由SPEED参数给出。如果没有输入设置,速度由JOGSPEED参数给出。
FAST_JOG需要配合FWD_JOG(映射正向JOG输入)或(REV_JOG映射负向JOG输入)一起使用才能控制轴运行速度。
例子:
BASE(0) '选择轴0
DPOS=0 '坐标清0
UNITS=100
ATYPE=1
SPEED=100 '设置速度为100 units/s
ACCEL=500 '加速度为500units/s/s
JOGSPEED=200 '点动速度设为200units/s
FAST_JOG(0)=0 '轴0的快速输入设为IN0口
FWD_JOG(0)=1 '正向点动开关设为IN1口
INVERT_IN(0,ON) '反转电平
INVERT_IN(1,ON)
TRIGGER '自动触发示波器
IN0无输入时,按下IN1并保持,轴速度为JOGSPEED=200
IN0有输入时,按下IN1并保持,
轴速度为SPEED=100
四常用轴运动的运动状态
轴的运行状态可以通过轴参数窗口监控,或者读取对应指令的返回值判断轴状态。
1、MTYPE——当前运动类型
读取当前正在进行的运动指令类型。只读参数,获取指令返回值查表得出当前轴的运动类型。
语法:VAR1 = MTYPE
当插补联动时,对从轴总是返回主轴的运动指令类型。
2、NTYPE——下一条运动类型
读取当前正在进行的运动指令后面的第一条指令类型。只读参数,获取指令返回值后查表。
语法:VAR1 = MTYPE
当插补联动时,对从轴总是返回主轴的运动指令类型。
3、IDLE——当前运动状态
IDLE指令用于判断加在轴上的运动指令是否完成,运动中返回0,运动结束返回-1。
只读参数,程序中一般使用WAIT IDLE(轴号)语句判断轴状态。
当轴关联为机械手,CONNFRAME逆解时,关节轴一直返回0;CONNREFRAME正解时,虚拟轴一直返回0。
例子:
RAPIDSTOP(2)
WAIT IDLE
BASE(0,1,2)
ATYPE=1,1,1
UNITS=100,100,100
SPEED=100,100,100
ACCEL=1000,1000,1000
DECEL=1000,1000,1000
DPOS = 0,0,0
OP(0,OFF)
TRIGGER
MOVE(100,100) '轴0和轴1直线插补
MOVE(200) AXIS(2) '轴2运动
WAIT UNTIL IDLE(0) AND IDLE(1) AND IDLE (2)
'等待轴0,1,2都停止
OP(0,ON)
4、MSPEED——实际反馈速度
轴的测量反馈位置速度,单位是UNITS/S,只读参数。
插补运动时,读取的是各个轴的分速度。
5、VP_SPEED——当前运动速度
回轴当前运动的速度,单位为UNITS/S,只读参数。
当多轴运动时,主轴返回的是插补运动的速度,不是主轴的分速度。非主轴返回的是相应的分速度,与MSPEED效果一致。
VP_SPEED在默认情况下是为显示多轴合成速度设计的,是没有负值的,除非把SYSTEM_ZSET指令的bit0的值设置为0,就可以用来显示单轴的命令速度,可正可负。
例子:
BASE(0,1)
ATYPE=1 ,1
DPOS=0 ,0 '坐标清0
UNITS=100,100 '脉冲当量
SPEED =100,100 '主轴速度
ACCEL=1000,1000 '加速度
DECEL=1000,1000 '减速度
TRIGGER '自动触发示波器
MOVE(100,100) '两轴各运动100
运行效果:
插补运动轴0为主轴,VP_SPEED(0)返回插补运动合成速度。
6、AXISSTATUS——轴状态
查看轴的各种状态,按十进制显示数值,按二进制对应位判断状态,可同时发生多个错误。
轴参数窗口显示的是八进制,使用PRINT指令打印的值为十进制。
例子:
?AXISSTATUS(1) '查看轴1的状态,打印结果:576,表示找原点时超过正向软限位,轴参数窗口显示值:240h
7、AXIS_STOPREASON——轴停止原因
轴历史停止原因锁存,写0清除,自动按位锁存,锁存的是AXISSTATUS的信息。
五常用运动控制指令
1、VMOVE——持续运动
语法:VMOVE(运动方向) [AXIS(轴号)]
运动方向:-1负向运动,1正向运动
VMOVE执行后,除非使用CANCEL或RAPIDSTOP清除运动缓存,否则会一直运转。
当前面的VMOVE运动没有停止时,后方的VMOVE指令会自动替换前面的VMOVE指令并修改方向,因此无需CANCEL前面的VMOVE指令。
例子:
2、FORWARD——持续正向运动
语法:FORWARD [AXIS(轴号)]
让轴一直以SPPED的速度正向运动,必须CANCEL后才能切换REVERSE。
3、REVERSE——持续负向运动
语法:FORWARD [AXIS(轴号)]
让轴一直以SPPED的速度负向运动,必须CANCEL后才能切换FORWARD。
例子:
BASE(0) '选择轴0
ATYPE=1 '脉冲轴类型
DPOS=0 '坐标清0
UNITS=100 '脉冲当量
SPEED =100 '主轴速度
ACCEL=1000 '加速度
DECEL=1000 '减速度
TRIGGER '自动触发示波器
FS_LIMIT=200 '设置正向软限位200units
FORWARD AXIS(0) '让轴0一直以SPPED的速度正向运动
FS_LIMIT=200 '正向软限位200
FORWARD AXIS(0) '正向运动
RS_LIMIT=-300 '负向软限位-300
REVERSE AXIS(0) '负向运动
4、DATUM——单轴找原点
语法:DATUM (模式值)
单轴找原点运动,多个轴回零需要多次调用此指令,提供多种模式供选择。
下图模式值加10表示碰到限位后反找, 不会碰到限位停止,例如13=模式3+限位反找10,用于原点在正中间的情况。
下图模式值加100(模式100+n和110+n分别对应n和10+n),ATYPE=4或65,表示接入编码器后可以自动清零MPOS(仅限4系列),其他模式只能手动清零MPOS。
Z信号回零必须配置为带Z信号ATYPE(ATYPE=4或者7)。
除了采用控制器提供的回零方式,EtherCAT或RTEX伺服还可以采用驱动器回零, 此时原点和限位信号接在驱动器上
驱动器回零语法:DATUM(21,模式值)
驱动器回零模式值查看对应驱动器手册。
单轴找原点时,原点开关通过DATUM_IN设置,正负限位开关分别通过FWD_IN和REV_IN设置。
控制器正/负限位信号生效后,会立即停止轴,停止减速度为FASTDEC。回零的加10模式除外。
输入口映射方法:
BASE(0,1)
DATUM_IN =6,7 '将轴0,1原点输入对应到输入口6,7
INVERT_IN(6,ON) '把原点信号反转
INVERT_IN(7,ON) '把原点信号反转
FWD_IN=2,3 '将轴0,1正向限位开关输入对应到输入口2,3
INVERT_IN(2,ON) '把正向限位信号反转
INVERT_IN(3,ON) '把正向限位信号反转
REV_IN=4,5 '将轴0,1负向限位开关输入对应到输入口4,5
INVERT_IN(4,ON) '把负向限位信号反转
INVERT_IN(5,ON) '把负向限位信号反转
ZMC控制器输入OFF有效,表示到达原点/限位,常开类型信号需要采用INVERT_IN反转电平。ECI控制器与之相反,输入ON有效。
例子:
BASE(0)
DPOS=0
ATYPE=1
SPEED = 100 '找原点速度
CREEP = 10 '找到原点后反向爬行速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 '加减速平滑
DATUM_IN=5 '输入IN5作为原点开关
INVERT_IN(5,ON) '反转IN5电平信号,常开信号进行反转(ZMC控制器)
TRIGGER '自动触发示波器
DATUM(3)
模式3:轴以SPEED速度正向运行,直到碰到原点开关,然后以CREEP速度反向运动,直到再次回到原点开关的位置停下,此时回零完成,轴的DPOS自动置0,若中途碰到限位开关,轴立即停止。
例子:
BASE(0)
DPOS=0
ATYPE=4
SPEED = 100 '找原点速度
CREEP = 10 '找到原点后反向爬行速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 '加减速平滑
DATUM_IN=5 '输入IN5作为原点开关
INVERT_IN(5,ON) '反转IN5电平信号,常开信号进行反转(ZMC控制器)
TRIGGER '自动触发示波器
DATUM(103)
模式103:接入真实编码器,轴以SPEED速度正向运行,直到碰到原点开关,然后以CREEP速度反向运动,直到再次回到原点开关的位置停下,此时回零完成,轴的DPOS和MPOS自动置0,若中途碰到限位开关,轴立即停止。
5、CANCEL & RAPIDSTOP——轴停止
语法:CANCEL(模式)/RAPIDSTOP (模式)
CANCEL和RAPIDSTOP 均有四种模式,二者的区别是CANCEL为单轴/轴组停止指令,RAPIDSTOP为停止所有轴。
模式1:CANCEL=CANCEL(0) 取消当前运动,继续取缓冲区指令指令
模式2:CANCEL(1) 取消缓冲区的运动,当前运动仍然要执行完
模式3:CANCEL(2) 取消当前运动和缓冲区的运动,轴立即停止
模式4:CANCEL(3) 立即中断脉冲的发送
模式2减速度按FASTDEC快减速和DECEL减速度中最大的值,使用指令之后要调用绝对位置运动,必须先WAIT IDLE 等待停止完成。
加上轴号停止目标轴CANCEL AXIS(1),当想要让电机快速停止时,建议使用RAPIDSTOP(2) 或CANCEL(2)。
使用CANCEL指令停止插补运动中的主轴或者BASE轴列表中的任意一个轴,都会停止轴组的插补运动。
例子:
BASE(0)
DPOS=0
SRAMP=0
ATYPE=1
UNITS=100
SPEED=500
ACCEL=1000
DECEL=1000 '减速度
FASTDEC=10000 '快减速
TRIGGER
MOVE(1000) '当前运动
MOVE(-1000) '缓冲运动
'DELAY(1000) '延时
CANCEL(0)
以CANCEL指令为例,四种模式执行效果如下图。
CANCEL(0)取消当前运动
CANCEL(1)取消缓冲运动
CANCEL(2)取消当前&缓冲运动
CANCEL(3)中断脉冲发送
6、MOVE——直线插补
语法:MOVE(distance1 [,distance2 [,distance3 [,distance4...]]])
单轴直线运动或多轴直线插补运动,相对运动距离。绝对直线插补用MOVEABS指令。
插补是一个实时进行的数据密化的过程,根据给定的信息进行数字计算,不断计算出参与运动的各个坐标轴的进给量,分别驱动各自相应的执行部件产生协调运动,以使被控机械部件按理想的路线与速度移动。
插补运动时只有主轴速度参数有效,主轴是BASE的第一个轴,运动参照这个轴的参数,插补运动指令进入主轴的运动缓冲区。
支持不同类型的轴混合插补。
插补运动距离:
插补运动速度:主轴速度V0为设置的SPEED,各分轴速度Vn=V0×Xn/X
例子:
BASE(0,1)
ATYPE=1,1
UNITS=100,100
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100
DPOS=0,0
MPOS=0,0
TRIGGER
MOVE(150,200)
插补运动主轴为轴0,DPOS(0)、DPOS(1)各轴运动距离,MSPEED(0)、MSPEED(1)分轴速度,VP_SPEED(0)主轴的合成速度。
XY模式显示两轴插补合成轨迹
7、MOVECIRC——起点终点圆心三点圆弧插补
语法:MOVECIRC(end1,end2,centre1,centre2,direction)
(end1,end2)终点坐标;(centre1,centre2)圆心坐标;direction方向:0-逆时针,1-顺时针。
两轴圆弧插补,起点、终点、圆心三点画弧,起点使用轴当前坐标,相对运动。绝对圆弧插补使用MOVECIRCABS指令。
当起点坐标与终点坐标相同时,画出整圆。
例子:
BASE(0,1)
ATYPE=1,1 '设为脉冲轴类型
UNITS=100,100
DPOS=0,0
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
TRIGGER '自动触发示波器
MOVECIRC(200,0,100,0,1) '半径100顺时针画半圆
'MOVECIRC(0,0,100,0,0) '半径100逆时针画整圆
MOVECIRC(200,0,100,0,1)'半径100顺时针画半圆
MOVECIRC(0,0,100,0,0)'半径100逆时针画整圆
8、MOVECIRC2——起点中间点终点三点圆弧插补
语法:MOVECIRC2(mid1,mid2,end1,end2)
(mid1,mid2)中间点坐标;(end1,end2)终点坐标
与上面的指令不同之处在于本指令采用起点、中间点、终点三点画弧,起点使用轴当前坐标,相对运动。绝对圆弧插补使用MOVECIRC2ABS指令。
此指令不能进行整圆插补运动,整圆使用MOVECIRC相对圆弧,或连续使用两条此类指令。
例子:
BASE(0,1)
ATYPE=1,1 '设为脉冲轴类型
UNITS=100,100
DPOS=0,0
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
TRIGGER '自动触发示波器
MOVECIRC2(100,100,200,0) '半径100顺时针画半圆
'MOVECIRC2(100,-100,200,0) '半径100逆时针画半圆
MOVECIRC2(100,100,200,0)'半径100顺时针画半圆
MOVECIRC2(100,-100,200,0)'半径100逆时针画半圆
正运动技术运动控制器的基础轴参数与基础运动控制指令就讲到这里。更多学习视频及图文请关注我们的公众号“正运动小助手”。
本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。
FWD_JOG——映射正向JOG输入;
REV_JOG——映射负向JOG输入。
正向/负向JOG输入对应的输入口编号,-1无效。
当有正向JOG信号输入时,对应轴按照JOGSPEED速度正向运动。
当有正向JOG信号输入时,对应轴按照JOGSPEED速度负向运动。
正负信号同时有效时,正向运动。
JOGSPEED——JOG速度。
JOG时的速度,单位为units/s。
当REV_JOG/FWD_JOG被设置,对应输入点按下时,并保持当前输入状态,电机将以JOGSPEED慢速运动,输入点松开运动停止。
例子:
BASE(0) '选择轴0
ATYPE=1 '脉冲轴类型
DPOS=0 '坐标清0
UNITS=100 '脉冲当量
SPEED =100 '主轴速度
ACCEL=1000 '加速度
DECEL=1000 '减速度
TRIGGER '自动触发示波器
JOGSPEED=50 'JOG速度50
FWD_JOG=0 'IN0作为正向JOG开关
REV_JOG=1 'IN1作为负向JOG开关
INVERT_IN(0,ON) '反转信号
INVERT_IN(1,ON)
运行效果:
输入0口有信号输入时,轴0正向运行,速度为50。
输入1口有信号输入时,轴0负向运行,速度为50。
输入0、1同时有信号输入时,轴0正向运行。
8、FAST_JOG——映射点动输入
快速点动的输入的编号,-1为无效。
如果设置快速点动输入,速度由SPEED参数给出。如果没有输入设置,速度由JOGSPEED参数给出。
FAST_JOG需要配合FWD_JOG(映射正向JOG输入)或(REV_JOG映射负向JOG输入)一起使用才能控制轴运行速度。
例子:
BASE(0) '选择轴0
DPOS=0 '坐标清0
UNITS=100
ATYPE=1
SPEED=100 '设置速度为100 units/s
ACCEL=500 '加速度为500units/s/s
JOGSPEED=200 '点动速度设为200units/s
FAST_JOG(0)=0 '轴0的快速输入设为IN0口
FWD_JOG(0)=1 '正向点动开关设为IN1口
INVERT_IN(0,ON) '反转电平
INVERT_IN(1,ON)
TRIGGER '自动触发示波器
IN0无输入时,按下IN1并保持,轴速度为JOGSPEED=200
IN0有输入时,按下IN1并保持,
轴速度为SPEED=100
四常用轴运动的运动状态
轴的运行状态可以通过轴参数窗口监控,或者读取对应指令的返回值判断轴状态。
1、MTYPE——当前运动类型
读取当前正在进行的运动指令类型。只读参数,获取指令返回值查表得出当前轴的运动类型。
语法:VAR1 = MTYPE
当插补联动时,对从轴总是返回主轴的运动指令类型。
2、NTYPE——下一条运动类型
读取当前正在进行的运动指令后面的第一条指令类型。只读参数,获取指令返回值后查表。
语法:VAR1 = MTYPE
当插补联动时,对从轴总是返回主轴的运动指令类型。
3、IDLE——当前运动状态
IDLE指令用于判断加在轴上的运动指令是否完成,运动中返回0,运动结束返回-1。
只读参数,程序中一般使用WAIT IDLE(轴号)语句判断轴状态。
当轴关联为机械手,CONNFRAME逆解时,关节轴一直返回0;CONNREFRAME正解时,虚拟轴一直返回0。
例子:
RAPIDSTOP(2)
WAIT IDLE
BASE(0,1,2)
ATYPE=1,1,1
UNITS=100,100,100
SPEED=100,100,100
ACCEL=1000,1000,1000
DECEL=1000,1000,1000
DPOS = 0,0,0
OP(0,OFF)
TRIGGER
MOVE(100,100) '轴0和轴1直线插补
MOVE(200) AXIS(2) '轴2运动
WAIT UNTIL IDLE(0) AND IDLE(1) AND IDLE (2)
'等待轴0,1,2都停止
OP(0,ON)
4、MSPEED——实际反馈速度
轴的测量反馈位置速度,单位是UNITS/S,只读参数。
插补运动时,读取的是各个轴的分速度。
5、VP_SPEED——当前运动速度
回轴当前运动的速度,单位为UNITS/S,只读参数。
当多轴运动时,主轴返回的是插补运动的速度,不是主轴的分速度。非主轴返回的是相应的分速度,与MSPEED效果一致。
VP_SPEED在默认情况下是为显示多轴合成速度设计的,是没有负值的,除非把SYSTEM_ZSET指令的bit0的值设置为0,就可以用来显示单轴的命令速度,可正可负。
例子:
BASE(0,1)
ATYPE=1 ,1
DPOS=0 ,0 '坐标清0
UNITS=100,100 '脉冲当量
SPEED =100,100 '主轴速度
ACCEL=1000,1000 '加速度
DECEL=1000,1000 '减速度
TRIGGER '自动触发示波器
MOVE(100,100) '两轴各运动100
运行效果:
插补运动轴0为主轴,VP_SPEED(0)返回插补运动合成速度。
6、AXISSTATUS——轴状态
查看轴的各种状态,按十进制显示数值,按二进制对应位判断状态,可同时发生多个错误。
轴参数窗口显示的是八进制,使用PRINT指令打印的值为十进制。
例子:
?AXISSTATUS(1) '查看轴1的状态,打印结果:576,表示找原点时超过正向软限位,轴参数窗口显示值:240h
7、AXIS_STOPREASON——轴停止原因
轴历史停止原因锁存,写0清除,自动按位锁存,锁存的是AXISSTATUS的信息。
五常用运动控制指令
1、VMOVE——持续运动
语法:VMOVE(运动方向) [AXIS(轴号)]
运动方向:-1负向运动,1正向运动
VMOVE执行后,除非使用CANCEL或RAPIDSTOP清除运动缓存,否则会一直运转。
当前面的VMOVE运动没有停止时,后方的VMOVE指令会自动替换前面的VMOVE指令并修改方向,因此无需CANCEL前面的VMOVE指令。
例子:
2、FORWARD——持续正向运动
语法:FORWARD [AXIS(轴号)]
让轴一直以SPPED的速度正向运动,必须CANCEL后才能切换REVERSE。
3、REVERSE——持续负向运动
语法:FORWARD [AXIS(轴号)]
让轴一直以SPPED的速度负向运动,必须CANCEL后才能切换FORWARD。
例子:
BASE(0) '选择轴0
ATYPE=1 '脉冲轴类型
DPOS=0 '坐标清0
UNITS=100 '脉冲当量
SPEED =100 '主轴速度
ACCEL=1000 '加速度
DECEL=1000 '减速度
TRIGGER '自动触发示波器
FS_LIMIT=200 '设置正向软限位200units
FORWARD AXIS(0) '让轴0一直以SPPED的速度正向运动
FS_LIMIT=200 '正向软限位200
FORWARD AXIS(0) '正向运动
RS_LIMIT=-300 '负向软限位-300
REVERSE AXIS(0) '负向运动
4、DATUM——单轴找原点
语法:DATUM (模式值)
单轴找原点运动,多个轴回零需要多次调用此指令,提供多种模式供选择。
下图模式值加10表示碰到限位后反找, 不会碰到限位停止,例如13=模式3+限位反找10,用于原点在正中间的情况。
下图模式值加100(模式100+n和110+n分别对应n和10+n),ATYPE=4或65,表示接入编码器后可以自动清零MPOS(仅限4系列),其他模式只能手动清零MPOS。
Z信号回零必须配置为带Z信号ATYPE(ATYPE=4或者7)。
除了采用控制器提供的回零方式,EtherCAT或RTEX伺服还可以采用驱动器回零, 此时原点和限位信号接在驱动器上
驱动器回零语法:DATUM(21,模式值)
驱动器回零模式值查看对应驱动器手册。
单轴找原点时,原点开关通过DATUM_IN设置,正负限位开关分别通过FWD_IN和REV_IN设置。
控制器正/负限位信号生效后,会立即停止轴,停止减速度为FASTDEC。回零的加10模式除外。
输入口映射方法:
BASE(0,1)
DATUM_IN =6,7 '将轴0,1原点输入对应到输入口6,7
INVERT_IN(6,ON) '把原点信号反转
INVERT_IN(7,ON) '把原点信号反转
FWD_IN=2,3 '将轴0,1正向限位开关输入对应到输入口2,3
INVERT_IN(2,ON) '把正向限位信号反转
INVERT_IN(3,ON) '把正向限位信号反转
REV_IN=4,5 '将轴0,1负向限位开关输入对应到输入口4,5
INVERT_IN(4,ON) '把负向限位信号反转
INVERT_IN(5,ON) '把负向限位信号反转
ZMC控制器输入OFF有效,表示到达原点/限位,常开类型信号需要采用INVERT_IN反转电平。ECI控制器与之相反,输入ON有效。
例子:
BASE(0)
DPOS=0
ATYPE=1
SPEED = 100 '找原点速度
CREEP = 10 '找到原点后反向爬行速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 '加减速平滑
DATUM_IN=5 '输入IN5作为原点开关
INVERT_IN(5,ON) '反转IN5电平信号,常开信号进行反转(ZMC控制器)
TRIGGER '自动触发示波器
DATUM(3)
模式3:轴以SPEED速度正向运行,直到碰到原点开关,然后以CREEP速度反向运动,直到再次回到原点开关的位置停下,此时回零完成,轴的DPOS自动置0,若中途碰到限位开关,轴立即停止。
例子:
BASE(0)
DPOS=0
ATYPE=4
SPEED = 100 '找原点速度
CREEP = 10 '找到原点后反向爬行速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 '加减速平滑
DATUM_IN=5 '输入IN5作为原点开关
INVERT_IN(5,ON) '反转IN5电平信号,常开信号进行反转(ZMC控制器)
TRIGGER '自动触发示波器
DATUM(103)
模式103:接入真实编码器,轴以SPEED速度正向运行,直到碰到原点开关,然后以CREEP速度反向运动,直到再次回到原点开关的位置停下,此时回零完成,轴的DPOS和MPOS自动置0,若中途碰到限位开关,轴立即停止。
5、CANCEL & RAPIDSTOP——轴停止
语法:CANCEL(模式)/RAPIDSTOP (模式)
CANCEL和RAPIDSTOP 均有四种模式,二者的区别是CANCEL为单轴/轴组停止指令,RAPIDSTOP为停止所有轴。
模式1:CANCEL=CANCEL(0) 取消当前运动,继续取缓冲区指令指令
模式2:CANCEL(1) 取消缓冲区的运动,当前运动仍然要执行完
模式3:CANCEL(2) 取消当前运动和缓冲区的运动,轴立即停止
模式4:CANCEL(3) 立即中断脉冲的发送
模式2减速度按FASTDEC快减速和DECEL减速度中最大的值,使用指令之后要调用绝对位置运动,必须先WAIT IDLE 等待停止完成。
加上轴号停止目标轴CANCEL AXIS(1),当想要让电机快速停止时,建议使用RAPIDSTOP(2) 或CANCEL(2)。
使用CANCEL指令停止插补运动中的主轴或者BASE轴列表中的任意一个轴,都会停止轴组的插补运动。
例子:
BASE(0)
DPOS=0
SRAMP=0
ATYPE=1
UNITS=100
SPEED=500
ACCEL=1000
DECEL=1000 '减速度
FASTDEC=10000 '快减速
TRIGGER
MOVE(1000) '当前运动
MOVE(-1000) '缓冲运动
'DELAY(1000) '延时
CANCEL(0)
以CANCEL指令为例,四种模式执行效果如下图。
CANCEL(0)取消当前运动
CANCEL(1)取消缓冲运动
CANCEL(2)取消当前&缓冲运动
CANCEL(3)中断脉冲发送
6、MOVE——直线插补
语法:MOVE(distance1 [,distance2 [,distance3 [,distance4...]]])
单轴直线运动或多轴直线插补运动,相对运动距离。绝对直线插补用MOVEABS指令。
插补是一个实时进行的数据密化的过程,根据给定的信息进行数字计算,不断计算出参与运动的各个坐标轴的进给量,分别驱动各自相应的执行部件产生协调运动,以使被控机械部件按理想的路线与速度移动。
插补运动时只有主轴速度参数有效,主轴是BASE的第一个轴,运动参照这个轴的参数,插补运动指令进入主轴的运动缓冲区。
支持不同类型的轴混合插补。
插补运动距离:
插补运动速度:主轴速度V0为设置的SPEED,各分轴速度Vn=V0×Xn/X
例子:
BASE(0,1)
ATYPE=1,1
UNITS=100,100
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100
DPOS=0,0
MPOS=0,0
TRIGGER
MOVE(150,200)
插补运动主轴为轴0,DPOS(0)、DPOS(1)各轴运动距离,MSPEED(0)、MSPEED(1)分轴速度,VP_SPEED(0)主轴的合成速度。
XY模式显示两轴插补合成轨迹
7、MOVECIRC——起点终点圆心三点圆弧插补
语法:MOVECIRC(end1,end2,centre1,centre2,direction)
(end1,end2)终点坐标;(centre1,centre2)圆心坐标;direction方向:0-逆时针,1-顺时针。
两轴圆弧插补,起点、终点、圆心三点画弧,起点使用轴当前坐标,相对运动。绝对圆弧插补使用MOVECIRCABS指令。
当起点坐标与终点坐标相同时,画出整圆。
例子:
BASE(0,1)
ATYPE=1,1 '设为脉冲轴类型
UNITS=100,100
DPOS=0,0
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
TRIGGER '自动触发示波器
MOVECIRC(200,0,100,0,1) '半径100顺时针画半圆
'MOVECIRC(0,0,100,0,0) '半径100逆时针画整圆
MOVECIRC(200,0,100,0,1)'半径100顺时针画半圆
MOVECIRC(0,0,100,0,0)'半径100逆时针画整圆
8、MOVECIRC2——起点中间点终点三点圆弧插补
语法:MOVECIRC2(mid1,mid2,end1,end2)
(mid1,mid2)中间点坐标;(end1,end2)终点坐标
与上面的指令不同之处在于本指令采用起点、中间点、终点三点画弧,起点使用轴当前坐标,相对运动。绝对圆弧插补使用MOVECIRC2ABS指令。
此指令不能进行整圆插补运动,整圆使用MOVECIRC相对圆弧,或连续使用两条此类指令。
例子:
BASE(0,1)
ATYPE=1,1 '设为脉冲轴类型
UNITS=100,100
DPOS=0,0
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
TRIGGER '自动触发示波器
MOVECIRC2(100,100,200,0) '半径100顺时针画半圆
'MOVECIRC2(100,-100,200,0) '半径100逆时针画半圆
MOVECIRC2(100,100,200,0)'半径100顺时针画半圆
MOVECIRC2(100,-100,200,0)'半径100逆时针画半圆
正运动技术运动控制器的基础轴参数与基础运动控制指令就讲到这里。更多学习视频及图文请关注我们的公众号“正运动小助手”。
本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。