Trap (トラップ)
Trap命令を使用すると、イベント発生により、ラベルにジャンプする、またはファンクションを呼び出すことができます。
Trap命令には、次の2つのタイプがあります。
- ユーザーの定義する入力状態をイベントにするTrap (4個)
- システム状態をイベントにするTrap (7個)
Trapファンクションは短くし、連続ループは避けてください。Trapの種類により、Trapの再設定が必要なものと不必要なものがあります。また、実行できるコマンドが制限されています。
Trap命令の詳細は、以下のマニュアルを参照してください。
"SPEL+ランゲージリファレンス"
次のプログラムは簡単なTrap命令です。入力1がオンすると、Sw1でTrapのタスクが実行されます。
Function main
' トラップの設定
Trap 1 Sw(1) = On Xqt Sw1Trap
Do
RunCycle
Loop
Fend
Function Sw1Trap
' 出力1を2秒間オン
On 1, 2
' トラップの条件が解除されるまで待機
Wait Sw(1) = Off
' トラップの再設定
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が実行される条件では実行されません。 |