DEPART  (ステートメント)


ツール座標系指定で相対動作を行ないます。


DEPART <補間方法>,[@<パス開始変位> ]<デパート長>[,<動作オプション>][,NEXT]


6軸
現在位置からツール座標系の-Z軸方向へ<デパート長>分移動します。
4軸
現在位置からベース座標系の+Z軸方向へ<デパート長>分移動します。
<補間方法>にはP(PTPと表記も可)、Lどちらかの選択ができます。
補間方法
意味
P(またはPTPと表記)
PTP制御で移動します。
L
CP制御で移動します。

<パス開始変位>の値は目標位置を中心とした球の半径で、動作指令値がその中に入ると次の制御へ移ります。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オプションは無効になります。
DEPARTステートメントは、MOVEステートメントによって書き換えることができます。
DEPART <補間方法>,[<パス開始変位量> ]<デパート長>[,<動作オプション>][,NEXT]
上のDEPARTステートメントを、MOVEステートメントで書くと、下のようになります。
6軸
MOVE <補間方法>,[<パス開始変位量> ]<現在位置>+(0, 0, -<デパート長>)H[,<動作オプション>][,NEXT]
例1:DEPART P, 70
'MOVE P, P0+(0, 0, -70)Hと同じ
;P0は現在位置
例2:DEPART P, @P 70
'MOVE P, @P P0+(0, 0, -70)Hと同じ
;P0は現在位置

4軸
MOVE <補間方法>,[<パス開始変位量> ]<現在位置>+(0, 0, <デパート長>)[,<動作オプション>][,NEXT]
例1:DEPART P, 70
'MOVE P, P0+(0, 0, 70)と同じ
;P0は現在位置
例2:DEPART P, @P 70
'MOVE P, @P P0+(0, 0, 70)と同じ
;P0は現在位置




DEPART動作位置の形態は、動作開始時の形態になります。したがって、DEPART動作位置が動作範囲外となり、「エラー667* ソフトリミットオーバ、可動範囲外2」が発生する場合があります。この場合は、備考に示すようにMOVE命令に置き換えて、さらにLETF(「10.3 形態」参照)にて形態を変更してください。


DEFSNG lf1, lf2

6軸
DEPART P, 70
'現在位置から-Zm方向に70mm離れた位置へ(PTP制御)
'移動します。
DEPART L, lf1, SPEED = 100
'現在位置から-Zm方向にlf1離れた位置へ(CP制御,
'S = 100)移動します。
DEPART P, lf2, S = 50
'現在位置から-Zm方向にlf2離れた位置へ(PTP制御,
'S = 50)移動します。
DEPART L, 80
'現在位置から-Zm方向に80mm離れた位置へ(CP制御)
'移動します。

4軸
DEPART P, 70
'現在位置からZb方向に70mm離れた位置へ(PTP制御)
'移動します。
DEPART L, lf1, SPEED = 100
'現在位置からZb方向にlf1離れた位置へ(CP制御,
'S = 100)移動します。
DEPART P, lf2, S = 50
'現在位置からZb方向にlf2離れた位置へ(PTP制御,
'S = 50)移動します。
DEPART L, 80
'現在位置からZb方向に80mm離れた位置へ(CP制御)
'移動します。