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