CP_Offset

CP On時に、後続する動作命令を開始するオフセット時間を設定します。

書式
(1) CP_Offset [ On [, OffsetTime ] ]

(2) CP_Offset Off

パラメーター

On | Off

  • On: CP On時の動作開始オフセット機能を有効にします。省略した場合は、現在の設定を表示します。
  • Off: CP On時の動作開始オフセット機能を無効にします。
OffsetTime
CP On時の動作開始オフセット時間を10~24 (単位: ms)の範囲の実数値で設定します。省略した場合、デフォルト値10 msが設定されます。

解説
CP_Offsetは以下の動作命令が対象となります。
Move, Arc, Arc3, CVMove

CP Onや動作命令にCPパラメーターを付加すると、前の動作の減速開始と同時に次のステートメントが実行されます。この結果、下図のように減速区間と次の動作の加速区間が重なるパスモーションになります。この時、前の動作の減速開始と次の動作の加速開始は、ステートメントの開始処理にかかわるオーバーヘッド時間があるため、厳密に一致しません。そのため、パスモーションのつなぎ目付近では速度が落ち込み、等速軌道になりません。これを改善するため、後続する動作ステートメント開始時間を前倒しするのがCP_Offsetの機能です。

パスモーション

記号 説明
a 速度
b 時間
c 減速開始
d 加速開始

CP_Offsetをオンにすると、OffsetTimeパラメーターに設定された時間分、後続する動作命令の開始処理が早められ、実際のロボットの減速開始と次の動作の加速開始が同期し、パスモーションの等速性能が改善します。OffsetTimeパラメーターにはデフォルト値が設定されていますが、アプリケーションによって微調整してください。特に、後続する動作命令が"!並列処理!"を含む場合、動作開始にかかるオーバーヘッド時間が長くなるため、OffsetTimeをデフォルト値より大きな値 (16ms程度)に設定します。

CP_Offsetの設定時間 (OffsetTime)を調整するために、調整したい動作を実行中にTCPSpeedを用いてツール先端速度を観測します。適切なOffsetTimeが設定されると、動作のつなぎ目での速度が一定に近くなります。OffsetTimeが大きすぎる場合TCPSpeedが上昇し、OffsetTimeが小さすぎる場合は、TCPSpeedが落ち込みます。CP_Offsetの調整は実機環境で行ってください。実コントローラーとシミュレーターでは動作開始の処理時間が異なるため、適切な調整ができません。

TCPSpeed計測プログラム例

Function main
  Motor On
  Power High

  SpeedS 250; AccelS 1500
  Speed 50; Accel 50, 50

  Go XY(300, 500, 500, 90, 0, 180)

  CP_Offset On
  Xqt printTcPSpeed

  Move XY(0, 500, 500, 90, 0, 180) CP
  Move XY(-300, 500, 500, 90, 0, 180)

  Quit printTcPSpeed
  CP_Offset Off
Fend

Function printTcPSpeed
  Do
    Print TCPSpeed
  Loop
Fend

OffsetTime調整例

記号 説明
a 適切なOffsetTime
b OffsetTime=0
c OffsetTime過大

本命令はPTP動作を対象としません。PTP動作の場合は、通常通りのパスモーションとなります。

下記の場合はCP_Offsetはオフになります。

  • コントローラー起動時
  • Motor On実行
  • SFree, SLock, Brake 実行
  • Reset, Reset Error実行
  • 停止ボタン, Quit All実行などによるタスクの終了

参照
CP_Offset関数, CP, Move, Arc, Arc3, CVMove

CP_Offset使用例

CP_Offset On
Move P1
Move P2
CP_Offset Off