制御権とは
ロボットのアームを動かす命令が出来る権利です。制御権の宣言をしていないとロボットのアームを動かせません。
制御権の宣言
プログラムは多数ありますから、ロボットはどのプログラムの命令に従えば良いかわかりません。そのために、実行中のプログラムのみが有効となるように宣言文を入れます。
宣言文はTakeArm [アームグループ番号][ Keep = Keepオプション設定値]となります。アームグループ番号は私は使用していませんので省略しています。Keepには「0」か「1」を入れなければいけません。「0」は初期化でSPEEDの設定とツール座標系とワーク座標系の宣言をしていた場合に初期化し、逆に「1」はこの初期化は行われないので状態は継続されます。
制御権の宣言例
制御権の開放
制御権を取得できるのは実行中のプログラムの中の1つだけです。複数のプログラムが同時に制御権の宣言をする事はできませんので、宣言していないプログラムでロボットのアーム動作させたい場合には、現在制御権を取得しているプログラムが制御権の開放を行う必要があります。
開放の宣言文はGivearmです。解放したい時に記述してください。
宣言以外の開放
Givearm以外に、制御権が解放される条件があります。それは、プログラムの終了のENDです。ENDでプログラム実行が終了し制御権も解放されます。ですから、ENDで完結する場合にはGivearmの宣言は不要です。
補足
制御権の宣言と解放の補足です。下記の場合ですと、呼び出されたプログラムで制御権の宣言は不要になります。実行中のプログラムから呼び出されたプログラムは実行中のプログラムの一部としてみなされるのでのでGivearm/TakeArmが不要となるのです。(記述されていても問題は起きません。同じ宣言を1つのタスクで繰り返すだけです。)
宣言が不要の場合
RUN命令でプログラムの同時実行(マルチタスク)の場合には制御権をどのプログラムに持たせるのか注意してください。
マルチタスクで同時にプログラムを実行する時
まとめ
制御権の必要性と意味がお分かりいただけたでしょうか?プログラム作成時には必ず使用する決まり文句です。意味は理解しておきましょう。
関連記事:【制御/プログラム/PLC】
以上です。