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设为ON,后续动作命令将按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