DRIVE  (ステートメント)  【SLIM準拠】


各軸の相対動作を行ないます。


DRIVE[<@パス開始変位>](<軸番号>,<相対移動量>)[,(<軸番号>,<相対移動量>)…] [,<動作オプション>][,NEXT]


<軸番号>で指定した軸を、<相対移動量>で指定した角度(DEG)へ移動させます。<相対移動量>が正の場合は、指定軸を+方向へ、負の場合は-方向へ動作させます。
このコマンドを実行するためには、動作させる軸を含むアームグループの取得が必要です。同じ軸を複数指定した場合は、後に指定したものが有効になります。
<@パス開始変位>の値は目標位置を中心とした球の半径で、動作指令値がその中に入ると次の制御へ移ります。mm単位で指定します。パス開始タイミングを変えるための目安となる数値であり、アーム先端がその中に入ったときに次の制御へ移るわけではありません。
  • 省略するとデフォルト値@0として処理します。
  • @0とすると、エンド動作で動きます。
  • @Pとすると、パス動作で動きます。
  • @Eとすると、エンコーダ値によって目標位置への到達を確認し、次の動作に移ります。
<動作オプション>にはSPEED、ACCEL、DECELがあります。
動作オプション
意味
SPEED(またはSと表記)
移動速度を指定します。意味はSPEED文と同じです。
ACCEL
加速度を指定します。意味はACCEL文と同じです。ただし、減速度の指定はできません。減速度の指定はDECEL文を使ってください。
DECEL
減速度を指定します。意味はDECEL文と同じです。

<NEXTオプション>を付けると、ロボットの動作完了を待たずに次の非動作命令に続きます。ただし、以下の命令は、ロボットの動作完了(パス開始)まで実行待ちになります。
ロボット動作命令(CHANGETOOL、CHANGEWORK、SPEED、JSPEED、ACCEL、JACCEL、DECEL、JDECEL)、最適可搬質量設定ライブラリ(aspACLD、aspChange)、アーム動作ライブラリ(mvSetPulseWidthなど)
また、動作オプションと併用した場合、NEXTオプションは無効になります。<NEXTオプション>を付けた場合、ステップ停止を実行すると、次の動作命令実行待ちの場合は、その動作を終了後に停止します。したがって、停止までの移動が長くなりますので注意してください。
また、ティーチチェックモードでは、NEXTオプションは無効になります。


DRIVEAMOVEのEXまたはEXAオプション
(付加軸を動かすコマンドはMOVEのEXまたはEXAオプション、DRIVE、DRIVEAのみです。)


付加軸を指定し、<@パス開始変位>オプションに数値を入力した場合、数値に関わらず、パス動作で動作します。


例1:
DEFINT li1, li2, li3
DEFSNG lf1, lf2, lf3
DRIVE (li1, 30)
'現在位置からli1を30度(deg)移動します。
DRIVE (li1, lf1)
'現在位置からli1の値の軸をlf1値分移動します。
DRIVE (li1, 0.78RAD), (li2, lf2), (li3, lf3)
'現在位置からli1を0.78(rad)、li2をlf2
'が示す値分、li3をlf3の値分移動します。

例2(付加軸の例):
PROGRAM PRO1
TAKEARM 1
'アームグループ1は7軸8軸を含んでいる。
DRIVE (7,30),(8,50)
'7軸8軸を動作させる。
END

7軸8軸を動作させるためには上の例ではアームグループ1またはアームグループ2を取得している必要があります。