之前正运动技术与大家分享了,运动控制器的固件升级、ZBasic程序开发、ZPLC程序开发、与触摸屏通讯和输入/输出IO的应用、运动控制器数据与存储的应用、运动控制器ZCAN、EtherCAT总线的使用、示波器的应用、多任务运行的特点、运动控制器中断的应用、U盘接口的使用以及ZDevelop 编程软件的使用等。
今天,我们来讲解一下正运动技术运动控制器的基础轴参数与基础运动控制指令。
视频教程:《视频教程:运动控制器基础轴参数与基础运动控制指令》
一材料准备与控制器接线参考
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e24dffdc9526cffc692abfba89014a7d/9127a9773912b31be559446c9118367adbb4e1ed.jpg?tbpicau=2024-09-18-05_d888aaac9f130da419eeeb67c8cf3f74)
控制器接线参考
二常用轴参数的设置
![](http://tiebapic.baidu.com/forum/w%3D580/sign=16984a76648da9774e2f86238051f872/d4d0dab44aed2e73d7dc0f699001a18b86d6faed.jpg?tbpicau=2024-09-18-05_9495ba7a968b03d51669ce0dd709d1a5)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e209f6e5e103738dde4a0c2a831bb073/64b2367adab44aed757b37a1a41c8701a08bfbed.jpg?tbpicau=2024-09-18-05_e55967eda2760910275e522a93c3ce1d)
1、BASE——轴选择
语法:BASE(轴1,轴2,轴3,...)
最大可用轴数根据控制器实际硬件决定。
BASE指令用于导向下一个运动指令轴的参数读/写入特定轴或轴组。
每一个过程有其自己的BASE基本轴组,每个程序能单独赋值。ZBasic 程序与控制轴运动的运动发生器分开。
每个轴的运动发生器有其独立的功能,因此每个轴能以自己的速度、加速度等进行编程。轴可以通过叠加运动、同步运动或者通过插补链接在一起,插补运动的速度等参数采用主轴的参数,默认BASE选择的第一个轴为主轴。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d52e738909178a82ce3c7fa8c603737f/dbb8b31bb051f819d1108a0fcdb44aed2f73e7ed.jpg?tbpicau=2024-09-18-05_05c6a4c60a6a87878863d1c9535239ef)
2、ATYPE——轴类型
语法:ATYPE=类型值
设置轴的类型,提供轴类型列表,只能设置为当前轴具备的特性。
在程序初始化的时候就设置好ATYPE,ATYPE若不匹配会导致程序无法正常运行。
支持不同类型的轴混合插补。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=471f36f7ae014a90813e46b599773971/52fbf8198618367a83bcf69839738bd4b21ce5ed.jpg?tbpicau=2024-09-18-05_49a997e3e24f140158fa1fee16539a23)
3、UNITS——脉冲当量
语法:UNITS=脉冲数 UNITS(轴号)=脉冲数
控制器以UNITS作为基本单位,指定每单位发送的脉冲数,支持5位小数精度。
UNITS是用户单位与脉冲单位之间的纽带,UNITS=10000,MOVE(2) 等效给电机20000个脉冲。
若电机不带机械负载,电机转的圈数取决于电机转一圈需要的脉冲数:
例1:电机转一圈需要10000脉冲数,MOVE(3)想让电机转3圈,则UNITS=10000。
例2:电机转一圈需要2^17脉冲数,MOVE(2)想让电机转2圈,则UNITS=2^17。
例3:电机转一圈需要10000脉冲数,该电机连着10mm丝杆,则1000个脉冲表示丝杆前进1mm, 则UNITS=1000,MOVE(5)就表示前进5mm。
设置参考:
假设电机U=3600脉冲转一圈,电机转1°对应的UNITS:UNITS=U/360=3600/360=10,此时MOVE(1),电机转1°。
假设电机U=3600脉冲转一圈,丝杠一圈丝杆走一个螺距,螺距P=2mm,工作台走1mm对应的UNTIS:UNITS=U/P=3600/2=1800,此时MOVE(1),工作台走1mm。
机台存在减速比时,要把减速比算上,假设减速比i=2:1,UNITS=U*i/P=3600*2/2=3600。
4、SPEED——轴速度
轴运动时的速度,单位UNITS/S。
5、ACCEL——加速度
轴每秒达到的速度,越大到达目标速度SPEED的时间越短。
单位UNITS/S^2。
6、DECEL——减速度
轴的减速度原理与ACCEL相同,不设置时减速度自动等于加速度值。
速度、加速度、减速度修改之后立即生效,建议在初始化时设置好。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d259446c9118367aad897fd51e738b68/65aba18b87d6277ffc27bb7d3f381f30e824fced.jpg?tbpicau=2024-09-18-05_9b275b9e2dcd581995a2016bc4fff25d)
7、SRAMP——加减速曲线
加减速过程S曲线设置,用于平滑加减速。
语法:SRAMP=平滑时间
平滑时间范围:0-250毫秒,设置后加减速过程会延长相应的时间
1)梯形曲线
SRAMP=0,速度曲线为梯形曲线,速度曲线按梯形曲线变化。保持速度、加减速度等参数值不变。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d2130c24ef1986184147ef8c7aed2e69/51b68701a18b87d64677225a100828381e30fded.jpg?tbpicau=2024-09-18-05_fae57c4e8a78f4adad73d128baf9bd2b)
梯形曲线 SRAMP=0
2)S型曲线
通过设置SRAMP的值来设定合适的加减速变化率,使得速度曲线平滑,在机械启停或加减速时减少抖动。SRAMP值的范围在0-250毫秒之间,设置后加减速过程会变长相应的时间,时间越长速度曲线越平滑。设置时间若超过250毫秒,按照250毫秒进行平滑。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ffcbc5441d55b3199cf9827d73a98286/fcbd8a82b9014a90a60bcff8be773912b21beeed.jpg?tbpicau=2024-09-18-05_7ba75c68babe6760b81520d02afd9267)
S形曲线 SRAMP=100
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
ATYPE=1,1
UNITS=100,100
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
DPOS=0,0
MPOS=0,0
SRAMP(0)=0 '轴0梯形曲线
SRAMP(1)=200 '轴1S形曲线
TRIGGER
MOVE(100) AXIS(0) '轴0运动
MOVE(100) AXIS(1) '轴1运动
![](http://tiebapic.baidu.com/forum/w%3D580/sign=9b113a6d217adab43dd01b4bbbd4b36b/432187d6277f9e2f6400944d0830e924b999f3ed.jpg?tbpicau=2024-09-18-05_08850eabd2b212bcc4ae2352e8ac3129)
8、FASTDEC——急停减速度
急停减速度,单位为UNITS/S^2。
在CANCEL、RAPIDSTOP、达到限位或异常停止时自动采用。当设置为0值或小于DECEL值时自动为DECEL。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=97f4a2629d82b9013dadc33b438da97e/51b1b051f81986186e7266c15ded2e738ad4e6ed.jpg?tbpicau=2024-09-18-05_ccac0023598265745027b7faa86d9046)
FASTDEC=2000
![](http://tiebapic.baidu.com/forum/w%3D580/sign=585d0f6cfcc4b7453494b71efffc1e78/5bab4a90f603738dfb7f8567a41bb051f919eced.jpg?tbpicau=2024-09-18-05_8029299dc5751190a222762c704c024f)
FASTDEC=0 急停按照DECEL减速
9、CREEP——爬行速度
轴回零时爬行速度,用于原点搜寻,单位为units/s。使用方法参见下方DATUM单轴找原点指令说明。
10、LSPEED——起始速度
轴起始速度,同时用于停止速度,缺省0,单位为units/s。
当多轴运动时,作为插补运动的起始速度。
当需要追求效率时,可以考虑设置起始速度。
例子:
BASE(0,1) '选择轴0为主轴
DPOS=0,0
UNITS=100,100 '脉冲当量100
SPEED=100,100 '主轴速度
ACCEL=1000,1000
DECEL=1000,1000
LSPEED(0)=40 '起始速度
TRIGGER '自动触发示波器
MOVE(100,80) '各轴运动距离
![](http://tiebapic.baidu.com/forum/w%3D580/sign=15a13e53d8fc1e17fdbf8c397a90f67c/4bdd3912b31bb051ae113a6d217adab44bede0ed.jpg?tbpicau=2024-09-18-05_77f26a413625b2f4cf47bb7b7d374003)
11、AXIS——临时轴选择
语法:AXIS(轴号)
AXIS临时修改一个运动指令或轴参数到一个指定轴上去执行,很多指令后方都可以加AXIS参数,在命令行或程序行特别有效。
例子:
PRINT MPOS AXIS(3) '打印轴3的MPOS,等效于PRINT MPOS(3)
PRINT MPOS(4) '打印轴4的MPOS
MOVE(300) AXIS(2) '轴2运动100
REP_DIST AXIS(1)= 100 '设置轴1的坐标循环位置
12、DPOS——轴指令位置
轴的虚拟坐标位置,或称需求位置,单位是UNITS。
此参数常用于监控运动指令的运行情况,写DPOS会自动转换为OFFPOS偏移,仅修改坐标,不会移动电机。
BASE(0,1)
DPOS=0,100
MOVE(100,0) '第一段
MOVE(-100,-100) '第二段
MOVE(100,0) '第三段,终点(100,0)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e01157b1a04543a9f51bfac42e178a7b/a83af603738da9776a1a0f6ea751f8198718e3ed.jpg?tbpicau=2024-09-18-05_b8c7f185a0d5d487fc44277419edadf0)
运动轨迹
13、MPOS——编码器反馈位置
轴的测量反馈位置,单位是UNITS。
此参数常用于监控编码器的反馈位置,写MPOS会自动转换为OFFPOS偏移,仅修改坐标。
不连接编码器时MPOS=DPOS。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d08a05745d90f60304b09c4f0912b370/1ab38618367adab410e592069cd4b31c8601e4ed.jpg?tbpicau=2024-09-18-05_10091bccfcae980e63e87e83be283ca6)
14、MERGE——开启连续插补
语法:MERGE = ON/OFF或1/0
开启连续插补功能,将运动缓冲区前后缓冲的运动连接到一起,使连续的多段插补运动之间不减速,用以提高加工效率。
若不开启连续插补,上一条插补运动完成后,会先减速停止到速度为0,再重新加速执行下一条插补运动。
例子:
BASE(0) '选择轴0
DPOS=0
UNITS=100
SPEED=100
ACCEL=500
DECEL=500
MERGE=ON '打开连续插补
TRIGGER '自动触发示波器
MOVE(100) '第一段运动
MOVE(100) '第二段运动
![](http://tiebapic.baidu.com/forum/w%3D580/sign=591a0f6ea751f819f1250342eab44a76/697eb31c8701a18be7de9b0a892f07082938feed.jpg?tbpicau=2024-09-18-05_82ca4feb3a4051c17c5a946ab2ba311f)
MERGE=ON
![](http://tiebapic.baidu.com/forum/w%3D580/sign=2d8515022e12b31bc76ccd21b6183674/a8472e738bd4b31cd9091dfe90d6277f9f2ff8ed.jpg?tbpicau=2024-09-18-05_3b48efc0bc9896e6dc939b4b0574ae15)
MERGE=OFF
当MERGE设置为ON时,多段插补间仍减速,可能原因如下:
1)可能MERGE并没有设置成功,可以打印查看或在轴参数窗口查看。
2)控制器是点位运动型号,运动功能简单,不支持连续插补。
3)设置了CORNER_MODE拐角减速,打印确认。
4)使用了带SP的运动指令,并设置了ENDMOVE_SPEED,STARTMOVE_SPEED,此时速度由这两条指令确定。
5)多条插补间切换了主轴,主轴速度参数改变。
6)多条插补间加入了MOVE_DELAY运动缓冲中延时指令,即使延时写0,也会导致减速。
三常用轴参数的输入口设置
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e2108a0fcdb44aed594ebeec831c876a/657c277f9e2f07084c30a345fe24b899a801f2ed.jpg?tbpicau=2024-09-18-05_639f309dcb71447d3bfe1c71b5f13a36)
1、INVERT_IN——反转输入
反转输入状态,可以读取判断是否有反转。
语法:INVERT_IN(输入通道, ON/OFF) ON-反转,OFF不反转
ZMC控制器输入OFF时,认为有信号输入,要相反效果可以用INVERT_IN反转电平。
ECI系列控制器入ON时,认为有信号输入,要相反效果可以用INVERT_IN反转电平。
例子:
BASE(0,1,2,3) '选择轴0,1,2,3
FWD_IN=6,7,8,9 '分别设置正向限位开关
INVERT_IN(6,ON) '反转信号
INVERT_IN(7,ON)
输入口6、7设置信号反转,给输入口6、8输入信号,输入口状态如图所示。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=f67f8567a41bb0518f24b320067ada77/ccd98bd4b31c8701fe833ba3307f9e2f0608ffed.jpg?tbpicau=2024-09-18-05_a3fb335b4620f55b8f3404a155bf78da)
2、映射正/负限位输入
FWD_IN——映射正限位输入
REV_IN——映射负限位输入
分别设置正向/负向硬件限位开关对应的输入点编号,-1无效。
硬限位开关是物理开关元件,由指令映射到相应输入开关信号上。控制器限位信号生效后,会立即停止轴,停止减速度为FASTDEC。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=2839b620a419ebc4c0787691b226cf79/6828b9014a90f603228515022e12b31bb151eded.jpg?tbpicau=2024-09-18-05_81091cf8f651b88b0bc59a782c5d2b5e)
例子:
BASE(0,1,2,3) '选择轴0,1,2,3
FWD_IN=6,7,8,9 '分别设置正向限位开关
INVERT_IN(6,ON) '反转信号
INVERT_IN(7,ON)
INVERT_IN(8,ON)
INVERT_IN(9,ON)
软件限位用于限制轴的DPOS位置范围,用于软件的安全限位。
FS_LIMIT——正向软限位设置
FS_LIMIT(0)=200 '设置轴0正向软限位200units
RS_LIMIT——负向软限位设置
RS_LIMIT(0)=-300 '设置轴0负向软限位-300units
3、DATUM_IN——映射原点输入
通用输入口设置为原点开关信号,-1无效。
在轴回零过程中此信号输入才生效。
4、ALM_IN——映射报警输入
驱动器告警对应的输入口编号,-1无效。
控制器报警信号生效后,会立即停止轴,停止减速度为FASTDEC。
例子:
BASE(0,1)
DATUM_IN =6 ,7 '将轴0、1原点输入分别定义到输入口6、7
INVERT_IN(6,ON) '把原点信号反转
INVERT_IN(7,ON)
ALM_IN = 10,11 '将轴0、1告警信号分别定义到输入口10、11
INVERT_IN(10,ON) '信号反转
INVERT_IN(11,ON)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ab0bcff8be773912c4268569c8198675/381e4aed2e738bd4ee143b74b68b87d6267ff9ed.jpg?tbpicau=2024-09-18-05_bf4d52781579b10d1c3009e12fa6eac5)
5、FHOLD_IN——映射保持输入
保持输入对应的输入点编号,-1无效。
如果有输入信号,运动轴的速度由程序速度变为FHSPEED参数速度;当取消输入,运动过程中的运动速度返回程序速度。
6、FHSPEED——保持速度
轴保持速度,在FHOLD_IN被按下保持时的速度,单位为units/s。
对应的输入处于保持状态时才能一直以此速度运动。
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0) '选择轴
0DPOS=0 '坐标清0
UNITS=100
ATYPE=1
ACCEL=500 '加速度
DECEL=500
SPEED=100 '速度
FHSPEED=50 '保持速度
FHOLD_IN(0)=0 '轴0的保持输入设为IN0口
INVERT_IN(0,ON) '反转电平
TRIGGER '自动触发示波器
MOVE(10000) '运动
![](http://tiebapic.baidu.com/forum/w%3D580/sign=bfcc0b3054a98226b8c12b2fba82b97a/14a9738da9773912e7130c24ef198618377ae2ed.jpg?tbpicau=2024-09-18-05_ac525995f08a2ebffeb2468932f1e034)
今天,我们来讲解一下正运动技术运动控制器的基础轴参数与基础运动控制指令。
视频教程:《视频教程:运动控制器基础轴参数与基础运动控制指令》
一材料准备与控制器接线参考
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e24dffdc9526cffc692abfba89014a7d/9127a9773912b31be559446c9118367adbb4e1ed.jpg?tbpicau=2024-09-18-05_d888aaac9f130da419eeeb67c8cf3f74)
控制器接线参考
二常用轴参数的设置
![](http://tiebapic.baidu.com/forum/w%3D580/sign=16984a76648da9774e2f86238051f872/d4d0dab44aed2e73d7dc0f699001a18b86d6faed.jpg?tbpicau=2024-09-18-05_9495ba7a968b03d51669ce0dd709d1a5)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e209f6e5e103738dde4a0c2a831bb073/64b2367adab44aed757b37a1a41c8701a08bfbed.jpg?tbpicau=2024-09-18-05_e55967eda2760910275e522a93c3ce1d)
1、BASE——轴选择
语法:BASE(轴1,轴2,轴3,...)
最大可用轴数根据控制器实际硬件决定。
BASE指令用于导向下一个运动指令轴的参数读/写入特定轴或轴组。
每一个过程有其自己的BASE基本轴组,每个程序能单独赋值。ZBasic 程序与控制轴运动的运动发生器分开。
每个轴的运动发生器有其独立的功能,因此每个轴能以自己的速度、加速度等进行编程。轴可以通过叠加运动、同步运动或者通过插补链接在一起,插补运动的速度等参数采用主轴的参数,默认BASE选择的第一个轴为主轴。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d52e738909178a82ce3c7fa8c603737f/dbb8b31bb051f819d1108a0fcdb44aed2f73e7ed.jpg?tbpicau=2024-09-18-05_05c6a4c60a6a87878863d1c9535239ef)
2、ATYPE——轴类型
语法:ATYPE=类型值
设置轴的类型,提供轴类型列表,只能设置为当前轴具备的特性。
在程序初始化的时候就设置好ATYPE,ATYPE若不匹配会导致程序无法正常运行。
支持不同类型的轴混合插补。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=471f36f7ae014a90813e46b599773971/52fbf8198618367a83bcf69839738bd4b21ce5ed.jpg?tbpicau=2024-09-18-05_49a997e3e24f140158fa1fee16539a23)
3、UNITS——脉冲当量
语法:UNITS=脉冲数 UNITS(轴号)=脉冲数
控制器以UNITS作为基本单位,指定每单位发送的脉冲数,支持5位小数精度。
UNITS是用户单位与脉冲单位之间的纽带,UNITS=10000,MOVE(2) 等效给电机20000个脉冲。
若电机不带机械负载,电机转的圈数取决于电机转一圈需要的脉冲数:
例1:电机转一圈需要10000脉冲数,MOVE(3)想让电机转3圈,则UNITS=10000。
例2:电机转一圈需要2^17脉冲数,MOVE(2)想让电机转2圈,则UNITS=2^17。
例3:电机转一圈需要10000脉冲数,该电机连着10mm丝杆,则1000个脉冲表示丝杆前进1mm, 则UNITS=1000,MOVE(5)就表示前进5mm。
设置参考:
假设电机U=3600脉冲转一圈,电机转1°对应的UNITS:UNITS=U/360=3600/360=10,此时MOVE(1),电机转1°。
假设电机U=3600脉冲转一圈,丝杠一圈丝杆走一个螺距,螺距P=2mm,工作台走1mm对应的UNTIS:UNITS=U/P=3600/2=1800,此时MOVE(1),工作台走1mm。
机台存在减速比时,要把减速比算上,假设减速比i=2:1,UNITS=U*i/P=3600*2/2=3600。
4、SPEED——轴速度
轴运动时的速度,单位UNITS/S。
5、ACCEL——加速度
轴每秒达到的速度,越大到达目标速度SPEED的时间越短。
单位UNITS/S^2。
6、DECEL——减速度
轴的减速度原理与ACCEL相同,不设置时减速度自动等于加速度值。
速度、加速度、减速度修改之后立即生效,建议在初始化时设置好。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d259446c9118367aad897fd51e738b68/65aba18b87d6277ffc27bb7d3f381f30e824fced.jpg?tbpicau=2024-09-18-05_9b275b9e2dcd581995a2016bc4fff25d)
7、SRAMP——加减速曲线
加减速过程S曲线设置,用于平滑加减速。
语法:SRAMP=平滑时间
平滑时间范围:0-250毫秒,设置后加减速过程会延长相应的时间
1)梯形曲线
SRAMP=0,速度曲线为梯形曲线,速度曲线按梯形曲线变化。保持速度、加减速度等参数值不变。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d2130c24ef1986184147ef8c7aed2e69/51b68701a18b87d64677225a100828381e30fded.jpg?tbpicau=2024-09-18-05_fae57c4e8a78f4adad73d128baf9bd2b)
梯形曲线 SRAMP=0
2)S型曲线
通过设置SRAMP的值来设定合适的加减速变化率,使得速度曲线平滑,在机械启停或加减速时减少抖动。SRAMP值的范围在0-250毫秒之间,设置后加减速过程会变长相应的时间,时间越长速度曲线越平滑。设置时间若超过250毫秒,按照250毫秒进行平滑。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ffcbc5441d55b3199cf9827d73a98286/fcbd8a82b9014a90a60bcff8be773912b21beeed.jpg?tbpicau=2024-09-18-05_7ba75c68babe6760b81520d02afd9267)
S形曲线 SRAMP=100
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
ATYPE=1,1
UNITS=100,100
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
DPOS=0,0
MPOS=0,0
SRAMP(0)=0 '轴0梯形曲线
SRAMP(1)=200 '轴1S形曲线
TRIGGER
MOVE(100) AXIS(0) '轴0运动
MOVE(100) AXIS(1) '轴1运动
![](http://tiebapic.baidu.com/forum/w%3D580/sign=9b113a6d217adab43dd01b4bbbd4b36b/432187d6277f9e2f6400944d0830e924b999f3ed.jpg?tbpicau=2024-09-18-05_08850eabd2b212bcc4ae2352e8ac3129)
8、FASTDEC——急停减速度
急停减速度,单位为UNITS/S^2。
在CANCEL、RAPIDSTOP、达到限位或异常停止时自动采用。当设置为0值或小于DECEL值时自动为DECEL。
例子:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=97f4a2629d82b9013dadc33b438da97e/51b1b051f81986186e7266c15ded2e738ad4e6ed.jpg?tbpicau=2024-09-18-05_ccac0023598265745027b7faa86d9046)
FASTDEC=2000
![](http://tiebapic.baidu.com/forum/w%3D580/sign=585d0f6cfcc4b7453494b71efffc1e78/5bab4a90f603738dfb7f8567a41bb051f919eced.jpg?tbpicau=2024-09-18-05_8029299dc5751190a222762c704c024f)
FASTDEC=0 急停按照DECEL减速
9、CREEP——爬行速度
轴回零时爬行速度,用于原点搜寻,单位为units/s。使用方法参见下方DATUM单轴找原点指令说明。
10、LSPEED——起始速度
轴起始速度,同时用于停止速度,缺省0,单位为units/s。
当多轴运动时,作为插补运动的起始速度。
当需要追求效率时,可以考虑设置起始速度。
例子:
BASE(0,1) '选择轴0为主轴
DPOS=0,0
UNITS=100,100 '脉冲当量100
SPEED=100,100 '主轴速度
ACCEL=1000,1000
DECEL=1000,1000
LSPEED(0)=40 '起始速度
TRIGGER '自动触发示波器
MOVE(100,80) '各轴运动距离
![](http://tiebapic.baidu.com/forum/w%3D580/sign=15a13e53d8fc1e17fdbf8c397a90f67c/4bdd3912b31bb051ae113a6d217adab44bede0ed.jpg?tbpicau=2024-09-18-05_77f26a413625b2f4cf47bb7b7d374003)
11、AXIS——临时轴选择
语法:AXIS(轴号)
AXIS临时修改一个运动指令或轴参数到一个指定轴上去执行,很多指令后方都可以加AXIS参数,在命令行或程序行特别有效。
例子:
PRINT MPOS AXIS(3) '打印轴3的MPOS,等效于PRINT MPOS(3)
PRINT MPOS(4) '打印轴4的MPOS
MOVE(300) AXIS(2) '轴2运动100
REP_DIST AXIS(1)= 100 '设置轴1的坐标循环位置
12、DPOS——轴指令位置
轴的虚拟坐标位置,或称需求位置,单位是UNITS。
此参数常用于监控运动指令的运行情况,写DPOS会自动转换为OFFPOS偏移,仅修改坐标,不会移动电机。
BASE(0,1)
DPOS=0,100
MOVE(100,0) '第一段
MOVE(-100,-100) '第二段
MOVE(100,0) '第三段,终点(100,0)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e01157b1a04543a9f51bfac42e178a7b/a83af603738da9776a1a0f6ea751f8198718e3ed.jpg?tbpicau=2024-09-18-05_b8c7f185a0d5d487fc44277419edadf0)
运动轨迹
13、MPOS——编码器反馈位置
轴的测量反馈位置,单位是UNITS。
此参数常用于监控编码器的反馈位置,写MPOS会自动转换为OFFPOS偏移,仅修改坐标。
不连接编码器时MPOS=DPOS。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d08a05745d90f60304b09c4f0912b370/1ab38618367adab410e592069cd4b31c8601e4ed.jpg?tbpicau=2024-09-18-05_10091bccfcae980e63e87e83be283ca6)
14、MERGE——开启连续插补
语法:MERGE = ON/OFF或1/0
开启连续插补功能,将运动缓冲区前后缓冲的运动连接到一起,使连续的多段插补运动之间不减速,用以提高加工效率。
若不开启连续插补,上一条插补运动完成后,会先减速停止到速度为0,再重新加速执行下一条插补运动。
例子:
BASE(0) '选择轴0
DPOS=0
UNITS=100
SPEED=100
ACCEL=500
DECEL=500
MERGE=ON '打开连续插补
TRIGGER '自动触发示波器
MOVE(100) '第一段运动
MOVE(100) '第二段运动
![](http://tiebapic.baidu.com/forum/w%3D580/sign=591a0f6ea751f819f1250342eab44a76/697eb31c8701a18be7de9b0a892f07082938feed.jpg?tbpicau=2024-09-18-05_82ca4feb3a4051c17c5a946ab2ba311f)
MERGE=ON
![](http://tiebapic.baidu.com/forum/w%3D580/sign=2d8515022e12b31bc76ccd21b6183674/a8472e738bd4b31cd9091dfe90d6277f9f2ff8ed.jpg?tbpicau=2024-09-18-05_3b48efc0bc9896e6dc939b4b0574ae15)
MERGE=OFF
当MERGE设置为ON时,多段插补间仍减速,可能原因如下:
1)可能MERGE并没有设置成功,可以打印查看或在轴参数窗口查看。
2)控制器是点位运动型号,运动功能简单,不支持连续插补。
3)设置了CORNER_MODE拐角减速,打印确认。
4)使用了带SP的运动指令,并设置了ENDMOVE_SPEED,STARTMOVE_SPEED,此时速度由这两条指令确定。
5)多条插补间切换了主轴,主轴速度参数改变。
6)多条插补间加入了MOVE_DELAY运动缓冲中延时指令,即使延时写0,也会导致减速。
三常用轴参数的输入口设置
![](http://tiebapic.baidu.com/forum/w%3D580/sign=e2108a0fcdb44aed594ebeec831c876a/657c277f9e2f07084c30a345fe24b899a801f2ed.jpg?tbpicau=2024-09-18-05_639f309dcb71447d3bfe1c71b5f13a36)
1、INVERT_IN——反转输入
反转输入状态,可以读取判断是否有反转。
语法:INVERT_IN(输入通道, ON/OFF) ON-反转,OFF不反转
ZMC控制器输入OFF时,认为有信号输入,要相反效果可以用INVERT_IN反转电平。
ECI系列控制器入ON时,认为有信号输入,要相反效果可以用INVERT_IN反转电平。
例子:
BASE(0,1,2,3) '选择轴0,1,2,3
FWD_IN=6,7,8,9 '分别设置正向限位开关
INVERT_IN(6,ON) '反转信号
INVERT_IN(7,ON)
输入口6、7设置信号反转,给输入口6、8输入信号,输入口状态如图所示。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=f67f8567a41bb0518f24b320067ada77/ccd98bd4b31c8701fe833ba3307f9e2f0608ffed.jpg?tbpicau=2024-09-18-05_a3fb335b4620f55b8f3404a155bf78da)
2、映射正/负限位输入
FWD_IN——映射正限位输入
REV_IN——映射负限位输入
分别设置正向/负向硬件限位开关对应的输入点编号,-1无效。
硬限位开关是物理开关元件,由指令映射到相应输入开关信号上。控制器限位信号生效后,会立即停止轴,停止减速度为FASTDEC。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=2839b620a419ebc4c0787691b226cf79/6828b9014a90f603228515022e12b31bb151eded.jpg?tbpicau=2024-09-18-05_81091cf8f651b88b0bc59a782c5d2b5e)
例子:
BASE(0,1,2,3) '选择轴0,1,2,3
FWD_IN=6,7,8,9 '分别设置正向限位开关
INVERT_IN(6,ON) '反转信号
INVERT_IN(7,ON)
INVERT_IN(8,ON)
INVERT_IN(9,ON)
软件限位用于限制轴的DPOS位置范围,用于软件的安全限位。
FS_LIMIT——正向软限位设置
FS_LIMIT(0)=200 '设置轴0正向软限位200units
RS_LIMIT——负向软限位设置
RS_LIMIT(0)=-300 '设置轴0负向软限位-300units
3、DATUM_IN——映射原点输入
通用输入口设置为原点开关信号,-1无效。
在轴回零过程中此信号输入才生效。
4、ALM_IN——映射报警输入
驱动器告警对应的输入口编号,-1无效。
控制器报警信号生效后,会立即停止轴,停止减速度为FASTDEC。
例子:
BASE(0,1)
DATUM_IN =6 ,7 '将轴0、1原点输入分别定义到输入口6、7
INVERT_IN(6,ON) '把原点信号反转
INVERT_IN(7,ON)
ALM_IN = 10,11 '将轴0、1告警信号分别定义到输入口10、11
INVERT_IN(10,ON) '信号反转
INVERT_IN(11,ON)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ab0bcff8be773912c4268569c8198675/381e4aed2e738bd4ee143b74b68b87d6267ff9ed.jpg?tbpicau=2024-09-18-05_bf4d52781579b10d1c3009e12fa6eac5)
5、FHOLD_IN——映射保持输入
保持输入对应的输入点编号,-1无效。
如果有输入信号,运动轴的速度由程序速度变为FHSPEED参数速度;当取消输入,运动过程中的运动速度返回程序速度。
6、FHSPEED——保持速度
轴保持速度,在FHOLD_IN被按下保持时的速度,单位为units/s。
对应的输入处于保持状态时才能一直以此速度运动。
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0) '选择轴
0DPOS=0 '坐标清0
UNITS=100
ATYPE=1
ACCEL=500 '加速度
DECEL=500
SPEED=100 '速度
FHSPEED=50 '保持速度
FHOLD_IN(0)=0 '轴0的保持输入设为IN0口
INVERT_IN(0,ON) '反转电平
TRIGGER '自动触发示波器
MOVE(10000) '运动
![](http://tiebapic.baidu.com/forum/w%3D580/sign=bfcc0b3054a98226b8c12b2fba82b97a/14a9738da9773912e7130c24ef198618377ae2ed.jpg?tbpicau=2024-09-18-05_ac525995f08a2ebffeb2468932f1e034)