GIVEARM  (ステートメント)


現在取得しているアームグループを解放します。
アームグループ0(ロボットのみ)の場合、ロボット制御権を開放します。


GIVEARM


現在取得しているアームグループを解放します。これにより別のタスクがアームグループの制御権を取得できるようになります。
アームグループを取得していないタスクがGIVEARMコマンドを実行しようとした場合は、エラーとなります。
次の場合には、自動的にロボット制御権が解放されます。したがって、GIVEARMコマンドを省略してもかまわない場合があります。
  • ENDコマンドを実行した場合(呼び出したプログラムの最後にあるENDコマンドは除く)
  • KILLコマンドを実行した場合
  • ティーチングペンダントまたはI/Oによって、ロボットコントローラが初期化された場合



GIVEARM実行時は、現在取得しているアームグループの軸が完全に停止するのを待ちます。したがって、GIVEARMの前にパス動作指定をしてもパス動作しません。


例1:
TAKEARM
'ロボット動作を行うプログラムの先頭でTAKEARMを実行します。
MOVE P, lp1
'
MOVE P, lp2
'
GIVEARM
'1終了時にGIVEARMでロボット制御権を解放します。
'直後のENDで自動的に解放するので、必ずしも実行する
'必要はありません。

例2(付加軸有りの例):
PROGRAM PRO1
TAKEARM 1
'アームグループ1を取得。
GIVEARM
'現在取得しているアームグループ1を解放します。
END
PROGRAM PRO2
TAKEARM 2
'アームグループ2を取得。
END
'プログラム停止時、現在取得しているアームグループ
'2を解放します。