快速入门 | 篇十四:运动控制器基础轴参数与基础运动控制指令

供稿:深圳市正运动技术有限公司

  • 关键词:正运动技术,运动控制器
  • 摘要:今天,我们来讲解一下正运动技术运动控制器的基础轴参数与基础运动控制指令。

之前正运动技术与大家分享了,运动控制器的固件升级、ZBasic程序开发、ZPLC程序开发、与触摸屏通讯和输入/输出IO的应用、运动控制器数据与存储的应用、运动控制器ZCAN、EtherCAT总线的使用、示波器的应用、多任务运行的特点、运动控制器中断的应用、U盘接口的使用以及ZDevelop 编程软件的使用等。


今天,我们来讲解一下正运动技术运动控制器的基础轴参数与基础运动控制指令。


材料准备与控制器接线参考


image.png

控制器接线参考


常用轴参数的设置


image.png

image.png


1、BASE——轴选择


语法:BASE(轴1,轴2,轴3,...)   


最大可用轴数根据控制器实际硬件决定。


BASE指令用于导向下一个运动指令轴的参数读/写入特定轴或轴组。


每一个过程有其自己的BASE基本轴组,每个程序能单独赋值。ZBasic 程序与控制轴运动的运动发生器分开。


每个轴的运动发生器有其独立的功能,因此每个轴能以自己的速度、加速度等进行编程。轴可以通过叠加运动、同步运动或者通过插补链接在一起,插补运动的速度等参数采用主轴的参数,默认BASE选择的第一个轴为主轴。


例子:


BASE(0,1,2,3)        '轴列表选择:0,1,2,3,轴0为主轴

BASE(3,2,5)          '轴列表选择:3,2,5,轴3为主轴


image.png


2、ATYPE——轴类型


语法:ATYPE=类型值


设置轴的类型,提供轴类型列表,只能设置为当前轴具备的特性。


在程序初始化的时候就设置好ATYPE,ATYPE若不匹配会导致程序无法正常运行。


支持不同类型的轴混合插补。


例子:

BASE(0,1,2)       '主轴为轴0

ATYPE=1,1,1       '按轴列表匹配,设为脉冲轴类型

ATYPE AXIS(4)=3   '轴4设为正交编码器类型

ATYPE(3)=65      '轴3设为ECAT周期位置模式65


image.png


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相同,不设置时减速度自动等于加速度值。


速度、加速度、减速度修改之后立即生效,建议在初始化时设置好。


例子:


RAPIDSTOP(2)

WAIT IDLE(0)

UNITS(0)=1000

SPEED(0)=100

ACCEL(0)=400

DECEL(0)=400

SRAMP(0)=0

DPOS(0)=0

TRIGGER 

MOVE(100) AXIS(0)


image.png


7、SRAMP——加减速曲线


加减速过程S曲线设置,用于平滑加减速。

语法:SRAMP=平滑时间 

平滑时间范围:0-250毫秒,设置后加减速过程会延长相应的时间

1)梯形曲线


SRAMP=0,速度曲线为梯形曲线,速度曲线按梯形曲线变化。保持速度、加减速度等参数值不变。


image.png

梯形曲线  SRAMP=0


2)S型曲线


通过设置SRAMP的值来设定合适的加减速变化率,使得速度曲线平滑,在机械启停或加减速时减少抖动。SRAMP值的范围在0-250毫秒之间,设置后加减速过程会变长相应的时间,时间越长速度曲线越平滑。设置时间若超过250毫秒,按照250毫秒进行平滑。


image.png

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运动


image.png


8、FASTDEC——急停减速度


急停减速度,单位为UNITS/S^2。

在CANCEL、RAPIDSTOP、达到限位或异常停止时自动采用。当设置为0值或小于DECEL值时自动为DECEL。

例子:

RAPIDSTOP(2)

WAIT IDLE(0)

BASE(0)              '选择轴0

DPOS=0

UNITS=100

SPEED=100            '速度

ACCEL=500

DECEL=500            '减速度

FASTDEC=2000         '快减减速度

TRIGGER              '自动触发示波器

VMOVE(1)             '持续正转

DELAY (1000)         '等待1s

CANCEL(2)            '快速停止


image.png

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)            '各轴运动距离


image.png


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)


image.png

运动轨迹


13、MPOS——编码器反馈位置


轴的测量反馈位置,单位是UNITS。

此参数常用于监控编码器的反馈位置,写MPOS会自动转换为OFFPOS偏移,仅修改坐标。

不连接编码器时MPOS=DPOS。


image.png


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)     '第二段运动


image.png


当MERGE设置为ON时,多段插补间仍减速,可能原因如下:

1)可能MERGE并没有设置成功,可以打印查看或在轴参数窗口查看。

2)控制器是点位运动型号,运动功能简单,不支持连续插补。

3)设置了CORNER_MODE拐角减速,打印确认。

4)使用了带SP的运动指令,并设置了ENDMOVE_SPEED,STARTMOVE_SPEED,此时速度由这两条指令确定。

5)多条插补间切换了主轴,主轴速度参数改变。

6)多条插补间加入了MOVE_DELAY运动缓冲中延时指令,即使延时写0,也会导致减速。


常用轴参数的输入口设置


image.png


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输入信号,输入口状态如图所示。


image.png


2、映射正/负限位输入


FWD_IN——映射正限位输入

REV_IN——映射负限位输入

分别设置正向/负向硬件限位开关对应的输入点编号,-1无效。

硬限位开关是物理开关元件,由指令映射到相应输入开关信号上。控制器限位信号生效后,会立即停止轴,停止减速度为FASTDEC。


image.png


例子:

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)


image.png


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)    '运动


image.png


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正向运行。


image.png


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           '自动触发示波器


image.png


常用轴运动的运动状态


image.png


轴的运行状态可以通过轴参数窗口监控,或者读取对应指令的返回值判断轴状态。


1、MTYPE——当前运动类型


读取当前正在进行的运动指令类型。只读参数,获取指令返回值查表得出当前轴的运动类型。

语法:VAR1 = MTYPE

当插补联动时,对从轴总是返回主轴的运动指令类型。


2、NTYPE——下一条运动类型


读取当前正在进行的运动指令后面的第一条指令类型。只读参数,获取指令返回值后查表。

语法:VAR1 = MTYPE

当插补联动时,对从轴总是返回主轴的运动指令类型。


image.png


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)


image.png


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)返回插补运动合成速度。


image.png


6、AXISSTATUS——轴状态


查看轴的各种状态,按十进制显示数值,按二进制对应位判断状态,可同时发生多个错误。

轴参数窗口显示的是八进制,使用PRINT指令打印的值为十进制。

例子:

?AXISSTATUS(1)    '查看轴1的状态,打印结果:576,表示找原点时超过正向软限位,轴参数窗口显示值:240h


7、AXIS_STOPREASON——轴停止原因


轴历史停止原因锁存,写0清除,自动按位锁存,锁存的是AXISSTATUS的信息。


image.png


常用运动控制指令


image.png


1、VMOVE——持续运动


语法:VMOVE(运动方向)   [AXIS(轴号)]

运动方向:-1负向运动,1正向运动

VMOVE执行后,除非使用CANCEL或RAPIDSTOP清除运动缓存,否则会一直运转。

当前面的VMOVE运动没有停止时,后方的VMOVE指令会自动替换前面的VMOVE指令并修改方向,因此无需CANCEL前面的VMOVE指令。

例子:


BASE(0)            '选择轴0

ATYPE=1           '脉冲轴类型

DPOS=0             '坐标清0

UNITS=100          '脉冲当量

SPEED =100         '主轴速度

ACCEL=1000        '加速度

DECEL=1000        '减速度

TRIGGER              '自动触发示波器

VMOVE(1)  AXIS(0)     '轴0以SPPED速度正向运动,等效FORWARD指令

VMOVE(-1)  AXIS(0)     '轴0以SPPED速度负向运动,等效REVERSE指令

DELAY(1000)

CANCEL(2)  AXIS(0)      '取消AXIS(0)的当前运动。

WAIT IDLE(0)        '等待轴0运动停止


image.png


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的速度正向运动


image.png


4、DATUM——单轴找原点


语法:DATUM (模式值)     

单轴找原点运动,多个轴回零需要多次调用此指令,提供多种模式供选择。

下图模式值加10表示碰到限位后反找, 不会碰到限位停止,例如13=模式3+限位反找10,用于原点在正中间的情况。

下图模式值加100(模式100+n和110+n分别对应n和10+n),ATYPE=4或65,表示接入编码器后可以自动清零MPOS(仅限4系列),其他模式只能手动清零MPOS。


image.png


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有效。


image.png


例子:


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)


image.png


模式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)


image.png


模式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指令为例,四种模式执行效果如下图。


image.png

image.png

6、MOVE——直线插补


语法:MOVE(distance1 [,distance2 [,distance3 [,distance4...]]])

单轴直线运动或多轴直线插补运动,相对运动距离。绝对直线插补用MOVEABS指令。

插补是一个实时进行的数据密化的过程,根据给定的信息进行数字计算,不断计算出参与运动的各个坐标轴的进给量,分别驱动各自相应的执行部件产生协调运动,以使被控机械部件按理想的路线与速度移动。

插补运动时只有主轴速度参数有效,主轴是BASE的第一个轴,运动参照这个轴的参数,插补运动指令进入主轴的运动缓冲区。

支持不同类型的轴混合插补。

插补运动距离:


image.png


插补运动速度:主轴速度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)


image.png


插补运动主轴为轴0,DPOS(0)、DPOS(1)各轴运动距离,MSPEED(0)、MSPEED(1)分轴速度,VP_SPEED(0)主轴的合成速度。


image.png


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逆时针画整圆


image.png


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逆时针画半圆


image.png


正运动技术运动控制器的基础轴参数与基础运动控制指令就讲到这里。更多学习视频及图文请关注我们的公众号“正运动小助手”。


本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。


发布时间:2021年6月11日 9:40  人气:   审核编辑(王静 )
更多内容请访问(深圳市正运动技术有限公司
相关链接

我有需求