ARRIVE
(ステートメント)
【Ver.1.2 以降】

動作命令の全移動距離に対する動作割合を設定する事によって、ロボットが設定した動作割合に到達するまでプログラムを待機させます。

ARRIVE <動作割合>

通常の動作命令では動作完了あるいはパス開始まで次ステップの命令を実行することができませんが、IOBLOCK指定やNEXTオプション指定の動作命令では動作途中で次ステップの命令を実行する事が可能です。この場合、ARRIVE命令によってロボットが設定した動作割合に到達するまで次ステップの命令を待機させる事ができます。
<動作割合>は動作命令の全移動距離に対する割合を示し、1~99(単位は%)の範囲で、数値、あるいは整数型(I型)、実数型(F型)変数にて指定します。
この機能はロボットに対してのみ有効です。よってDRIVE、DRIVEAで付加軸のみを動作させる場合、ARRIVE機能は働きません。

-
ARRIVE命令はアームセマフォを取得した(TAKEARMした)タスクにおいて、直前の動作命令に対する動作割合を設定します。
-
アームセマフォを取得した後、動作命令を実行する前にARRIVE命令を実行した場合はエラー648Cになります。
-
アームセマフォを取得せずにARRIVE命令を実行した場合はエラー21F7になります。
-
ARRIVE命令実行中に瞬時停止した場合、再起動時に瞬時停止した位置から10mm以上ずれている場合はエラー6486になります。
-
ARRIVE命令実行中に瞬時停止した場合、再起動時に動作命令が実行されず<動作割合>に満たない場合はエラー6489になります。
-
<動作割合>はロボット移動距離に対する割合を示します。しかし、<動作割合>が一定であっても速度・加速度等の動作条件によってARRIVEが終了するロボット位置が変動する場合があります。また<動作割合>を多少変動させても、ARRIVEが終了するロボット位置が変わらない場合もあります。ARRIVE命令にてロボットと周辺機器との同期をとる場合は、タイミングをご確認ください。
-
電流制限機能と併用する場合は、電流制限によってロボット位置が<動作割合>を通過できなくなる可能性があります。この時、プログラムはARRIVE命令が完了するのを無限に待ち続けていますので、プログラム停止を実行して復帰させてください。
-
INTERRUPTと併用する場合、INTERRUPT ON後の動作命令は割り込みスキップ信号によって実行されなくなりますが、ARRIVE命令は実行されますので、割り込みスキップ信号のタイミングによっては、意図した動作命令とは異なる動作命令に対してARRIVE命令が実行されることがあります。また割り込みスキップ信号のタイミングにより、ロボット位置が<動作割合>を通過できなくなる可能性があります。この時、プログラムはARRIVE命令が完了するのを無限に待ち続けていますので、プログラム停止を実行して復帰させてください。
-
ティーチチェックではNEXTオプション、IOBLOCK命令は無効となりますので、ARRVIE命令は意味を持ちません。
-
ARRVIE命令の対象となる動作命令は、<動作オプション>を使用できません。<動作オプション>を使用した場合、ARRVIE命令は無効になります。ARRVIE命令の対象となる動作命令の内部速度・外部加減速度を使用する場合は次の例のようにしてください。<例>PROGRAM PRO1TAKEARMSPEED 10'内部SP 10MOVE P,P1,NEXTARRIVE 50SET IO [240]'動作割合が50%になったら、I/OをONSPEED 100'内部スピードを元の値に戻すEND

例1:
PROGRAM PRO1
|
|
TAKEARM
|
|
MOVE P, P1, NEXT
|
|
ARRIVE 50
|
'動作割合が50%になったら
|
SET IO [240]
|
'IO [240]をONします。
|
ARRIVE I1
|
'動作割合がI1%になったら
|
RESET IO [240]
|
'IO [240]をOFFします。
|
END
|
|
例2(付加軸の例):
4軸ロボットで次のようなアームグループが設定されている場合。

