DEFEND  (ステートメント)


タスクを保護します。


DEFEND {ON|OFF}


通常、プログラムタスクは、一定期間ごとに自分よりもプライオリティの高い、または同等のプログラムタスクに、実行権を明け渡します。
他のプログラムタスクに実行権を渡さずに、一気に処理したい場合には、DEFENDコマンドを使います。DEFEND ON実行後は、DEFEND OFFが実行されるまで、実行権が確保されます。ただし、動作命令と、DELAY、WAIT、SET IOの時間指定の各コマンドを実行すると、実行権は他のプログラムタスクに移ります。
  • DEFEND ONで保護する区間はできるだけ短く設定してください。DEFEND ON実行後に、無限ループ状態になると、他のプログラムタスクに実行権が移らなくなります。
  • DEFEND ONで保護されていても、次の場合には、自動的に保護状態は解除されます。
    • ENDコマンドを実行した場合(呼び出したプログラムの最後にあるENDコマンドは除く)
    • KILLコマンドを実行した場合
    • ティーチングペンダントまたはI/Oによって、ロボットコントローラが初期化された場合


DEFEND ON
'自タスクを保護します。
SET IO[100]
'保護されているため、以下の3命令は必ず連続して実
'行されます。
SET IO[102]
SET IO[104]
DEFEND OFF
'自タスクの保護を解除します。