使用Trap

Trap使程序跳转到一个标签或在发生某个事件时使一个函数得以调用。

Trap包括以下两种类型:

  • 4个Trap通过用户定义的输入触发
  • 7个Trap由系统触发

您应该保持Trap函数简短,避免连续循环。根据类型,一些Trap必须重新设置。此外,一些动作命令仅限于在Trap函数中执行。

有关Trap命令的详细信息,请参阅以下手册。

《SPEL+语言参考》

下面是一个简单的Trap示例。在这个例子中,当输入1打开时,其执行Sw1Trap函数。

Function main
  ' 设置Trap
  Trap 1 Sw(1) = On Xqt Sw1Trap
  Do
    RunCycle
  Loop
Fend

Function Sw1Trap
  ' 输出1打开2秒
  On 1, 2
  ' 等待清除Trap条件
  Wait Sw(1) = Off
  ' 重新设置Trap
  Trap 1 Sw(1) = On Xqt Sw1Trap
Fend
Trap 描述
Trap 1 - 4 Goto 通过用户指定的输入条件触发。用户Trap可以使用GoTo、Call或Xqt。
Trap 1 - 4 Call
Trap 1 - 4 Xqt
Trap Emergency Xqt 发生紧急停止时执行指定的函数。
Trap Error Xqt 发生错误时执行指定的函数。
Trap SgOpen Xqt 安全防护电路打开时执行指定的函数。
Trap SgClose Xqt 安全防护电路关闭时执行指定的函数。
Trap Pause Xqt 系统进入暂停状态时执行一个指定的函数。
Trap Abort Xqt 如果所有的任务(后台任务除外)已被用户或系统停止,如在执行与Abort All相应的命令时,执行指定的函数。
Trap Finish Xqt 如果所有任务(后台任务除外)已完成,则执行指定的函数。但是,该函数不会在执行Trap Abort的情况下执行。