CP_Offset

CP為On時,用於開始後續動作命令的位移時間。

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

(2) CP_Offset Off

參數

On | Off

  • On:啟用CP為On時的動作開始偏移功能。省略時,則顯示目前設定。
  • Off:停用CP為On時的動作開始偏移功能。
OffsetTime
以10~24(單位:ms)範圍的實數值,設定CP為On時的動作開始偏移時間。省略時,被設為預設值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