使用Trap
Trap可讓程式跳至標籤,或在發生特定事件時調用函數。
Trap分成下列兩種:
- 4 Trap由使用者定義的輸入啟動
- 7 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,持續兩秒
On 1, 2
'等待設陷狀況解除
Wait Sw(1) = Off
' 重設Trap
Trap 1 Sw(1) = On Xqt Sw1Trap
Fend
Trap | 描述 |
---|---|
Trap 1 - 4 Goto | 由使用者所指定的輸入條件觸發。使用者設陷可使用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的情況下,函數將不會執行。 |