CVMove

Curve命令で定義した自由曲線CP動作を実行します。

書式
CVMove ファイル名[CP] [Till | Find] [SYNC]

パラメーター

ファイル名
Curve命令で作成され、コントローラーに保存されたファイル名を、文字列式または直接文字列で指定します。パスを指定することはできません。また、ChDiskなどの影響を受けません。詳細は、ChDiskを参照してください。
CP
最終ポイントの後のパスモーションを指定します。省略可能です。
Till | Find
TillまたはFind式を記述します。省略可能です。

Till | Find
Till Sw(式) = {On | Off}
Find Sw(式) = {On | Off}
SYNC
動作コマンドを予約します。SyncRobotsによる動作開始まで、ロボットは動作しません。

解説
CVMoveは、ファイルのデータが設定する自由曲線CP動作を実行します。このファイルは、あらかじめCurve命令によって作成されていなければなりません。

ファイル名に拡張子がないと、自動的に".cvt"がつきます。

CVMoveによるCP動作の速度と加減速度は、SpeedSやAccelS命令によって変更することができます。

Curve命令において、ポイントデータがローカル座標系で指定されている場合、ローカル座標系を基準にカーブファイルが作成されます。Curve命令実行後に、Local命令でローカル座標系を変更した場合、CVMove命令も変更後のローカル座標系に合わせてオフセットされます。

Curve命令のモード指定にECPを指定した場合、ECP座標を基準にカーブファイルが作成されます。Curve命令実行後に、ECP命令でECP座標を変更した場合、Curve命令も変更後のECP座標に合わせてオフセットされます。

CVMove命令を実行したときの現在位置とカーブファイルで指定されている最初のポイントの位置が一致していない場合、カーブファイルの最初のポイントまでローパワーモードでPTP動作します。CVMove命令を実行する場合は、事前にカーブファイルの開始点までアームを動作してください。
現在位置は姿勢フラグも含めて一致している必要があります。そのため、垂直6軸型ロボットでは見かけ上同じ位置にいてもJ6関節が1回転することがあります。

CVMove実行時には、周辺装置との干渉に十分注意してください。特に、垂直6軸型ロボット (Nシリーズを含む)では隣り合うポイント間で急激に姿勢を変化させようとすると、3次スプライン関数の性質上、その前後のポイントから姿勢の変化が開始され想定しない動作となる可能性があります。CVMove実行時には周辺装置との干渉に注意し、軌跡の確認を十分行ってください。ポイント間で姿勢が急激に変化する場合は、ポイント間の姿勢変化が少なくなるように、ポイントを細かく指定してください。

CVMove実行中に異常加速度エラーが発生する場合、Curve命令で作成する際の補間方式をIM_NORMALに変更してください。

CPパラメーターをつけた場合には、動作の減速開始時に次の動作命令の加速を重ね合わせることが可能です。この場合には、目標座標には位置決めされません。

参照
AccelS関数, Arc, Arc3, Curve, Move, SpeedS, Till, TillOn関数

CVMove使用例
下記のプログラムは水平多関節型ロボットを用いた場合の例です。mycurve.CVTという名前のカーブファイルを作成します。 ロボットはP1~P7を通過する曲線をトレースします。動作実行中、P2を通過時に出力ポートをオンします。

自由曲線を設定

> Curve "mycurve", O, 0, 4, IM_NORMAL, P1, P2, On 2, P(3:7)

アームをP1へJump命令で動作

> Jump P1

定義した自由曲線"mycurve"でアームを移動

> CVMove "mycurve"

閉曲線と開曲線の違いや、姿勢補正の有無についての使用例はCurve命令の項目を参照してください。