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
← CP関数 CP_Offset関数 →