使用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的情况下执行。 |