AbortMotion
用于将中断动作命令并执行动作的任务设为错误。
本命令用于高级方。请在充分理解命令规格之后使用。
格式
AbortMotion
参数
- 机器人编号
- 指定进行中断动作的机器人编号。
- All
- 中断所有机器人的动作。
说明
执行AbortMotion后机器人的状态如下所示。
如果无论什么情况都要继续处理,需要用OnErr捕获错误并记述错误处理。
错误2999可以使用常数ERROR_DOINGMOTION。
错误2998可以使用常数ERROR_NOMOTION。
在继续执行(Cont)前,请制作防止执行AbortMotion超过1次的程序。
机器人正在执行动作命令时
机器人将立即暂停(快速暂停)机械臂动作,并撤销剩余动作。
在已执行的机器人动作命令的任务中,将产生错误2999(ERROR_DOINGMOTION)。
以下的动作命令将从暂停位置直接移至目标位置。
机器人正在暂停(快速暂停)时
在执行AbortMotion时未发生任何问题,但是将在内部撤销剩余动作。
在指示继续执行(Cont)时,在已执行的机器人动作命令的任务中,将产生错误2999(ERROR_DOINGMOTION)。
以下的动作命令将从暂停位置直接移至目标位置。
机器人处于WaitRecover状态(打开安全门的状态)时
在执行AbortMotion时未发生任何问题,但是将在内部撤销剩余动作。
可以通过Recover命令的标志选择上一个动作。
- 如果执行“WithMove”动作,将恢复机器人的励磁并执行恢复动作。在指示继续执行(Cont)时,在已执行的机器人动作命令的任务中,将产生错误2999(ERROR_DOINGMOTION)。以下的动作命令将从完成恢复动作的位置直接移至目标位置。
- 如果执行“WithoutMove”将恢复机器人的励磁。在指示继续执行(Cont)时,在已执行的机器人动作命令的任务中,将产生错误2999(ERROR_DOINGMOTION)。以下的动作命令将从恢复励磁的位置直接移至目标位置。(没有恢复动作。)
机器人正在执行动作命令以外的命令时
在之前已执行的机器人动作命令的任务中,将产生错误2998(ERROR_NOMOTION)。如果任务因为Wait和Input命令而处于待机状态,将立即中断任务并发生错误2998。
如果按照CP On的设置执行动作命令并且程序从动作命令中退出,即使机器人正在动作,也会发生错误2998。
指定的机器人未按照程序(任务)动作时
将产生错误。
注意
支持的控制器型号
不支持T/VT系列。
参阅
OnErr、Recover、Till
AbortMotion使用示例
如果打开存储器I/O的0号,将执行AbortMotion,并且机器人移至Home位置。
Function main
Motor On
Xqt sub, NoEmgAbort
OnErr GoTo errhandle
Go P0
Wait Sw(1)
Go P1
Quit sub
Exit Function
errstart:
Home
Quit sub
Exit Function
errhandle:
Print Err
If Err = ERROR_DOINGMOTION Then
Print "机器人正在动作" '正在执行Go P0和 Go P1
EResume errstart
ElseIf Err = ERROR_NOMOTION Then
Print "机器人未动作" '正在执行Wait Sw(1)
EResume errstart
EndIf
Print "Error Stop" '发生其他错误
Quit All
Fend
Function sub
MemOff 0
Wait MemSw(0)
AbortMotion 1
MemOff 0
Fend