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
|
'自タスクの保護を解除します。
|