使用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的情況下,函數將不會執行。