MOVE_PAUSE -- 运动暂停

类型

特殊运动指令

描述

BASE轴运动暂停。

只有在单轴或多轴插补运动时有效,多轴联动时一起暂停。

可以通过AXISSTATUS来查询是否有暂停。

当轴已经暂停或不在运动中时,调用这个指令会有警告输出,但不影响程序运行。某些运动不支持暂停,如VMOVE、同步运动指令等。

语法

MOVE_PAUSE (mode)

mode:暂停方式

0(缺省)

暂停当前运动。

1

在当前运动完成后正准备执行下一条运动指令时暂停

2

在当前运动完成后正准备执行下一条运动指令时,并且两条指令的MARK标识不一样时暂停

这个模式可以用于一个动作由多个指令来实现时,可以在一整个动作完成后暂停

3

强制暂停,IDLE模式下也可以进入暂停状态

20170513固件版本增加此功能

适用控制器

通用

例子

BASE(0)

DPOS=0

SPEED=100

 

例一  mode 0

MOVE(1000)         '当前运动

MOVEABS(-100)      '缓冲运动

MOVE_PAUSE(0)      '模式0,暂停当前运动  

?DPOS(0)            '打印结果,0

    '此时当前运动只运行了极短时间,扫描到MOVE_PAUSE时直接暂停

 

例二  mode 1

MOVE(1000)         '当前运动

MOVEABS(-100)      '缓冲运动

MOVE_PAUSE(1)      '模式1,先完成当前运动再暂停

WAIT IDLE 

?DPOS(0)            '打印结果,1000

'此时运行完当前运动,DPOS1000

 

例三  mode 2

MOVE_MARK=1       '标号手动设为1

MOVE(200)         '当前运动

MOVE_MARK=1       '标号设为与上一个运动一样

MOVEABS(-100)      '缓冲运动

MOVEABS(100)       '不设置运动标号,自动加一

MOVE_PAUSE(2)   '模式2,先完成当前运动,然后直到下一条运动指令                的标号与当前标号不一致时再暂停

DELAY(3000)         '等待暂停后

?DPOS(0)             '打印结果,-100,(速度过慢会导致打印时当前运动还在进行,导致结果大于-100

'此时运行完当前运动,下一条运动的标号被手动设置成相同的,继续执行,直到第3条运动标号不一致,暂停

相关指令

MOVE_MARKMOVE_RESUMEAXISSTATUS