实际值、设定值和空闲时间
本页回答了何时接收和发送实际值和设定值以及它们与死区时间有何关系的问题。为简单起见,我们将重点放在位置上,但同样适用于其他值,例如速度或扭矩。我们还专注于 EtherCAT。其他现场总线的行为类似。(请注意,我们假设默认和推荐配置为 FrameAtTaskStart = TRUE
。)
实际值何时收到?
The actual position (<DriveA>.fActPosition
) is received at the beginning of the current bus task cycle. It is the actual position of the drive at the time of the previous EtherCAT SYNC event.
在总线任务周期 i 中,收到在前一总线任务周期 i-1 中发送的 EtherCAT 帧。该帧包含驱动器在 SYNC 事件 i-2 时锁定的实际位置

设定值何时发送?
在当前总线任务周期 i 中计算的设定值将在下一个总线任务周期 i+1 中发送到驱动器,并在 SYNC 事件 i+1 时由驱动器应用。参见上图。
空闲时间是多少,如何估计,如何使用?
通常,每当需要在驱动器到达某个位置时执行动作时,死区时间就很重要。停机时间对于精确确定给定时间的驱动位置也很重要。示例包括高速涂胶,或使用连接到 PLC 的高精度数字输入在 PLC 中执行触摸探针。
死亡时间的定义
死区时间是驱动器实际到达 PLC 发送的设定位置所花费的时间。这意味着这是两者之间的时间间隔 fActPosition
还有 fSetPosition
,在当前总线任务周期开始时。死区时间可以在通用驱动器编辑器中配置 (标签:常规) 或者使用 mc_WriteParameter 参数编号为 1070 的功能块 (fSetActTimeLagCycles
)。
将设定位置发送到驱动器所需的时间
驱动控制器到达设定位置所需的时间
从驱动器接收实际位置所花费的时间
死亡时间的估计
死机时间可以用以下公式来估算 smc_estimateDeadTime 功能块。驱动器应以恒定速度移动,并应使用多个死区时间测量值的中位数或平均
或者,可以使用追踪编辑器估算失效时间。有关更多信息,请参阅以下内容: 确定系统的死区时间
死区时间的使用
死区时间用于以下功能。如果您正在使用这些函数中的任何一个并且需要高精度,请务必确定和配置死区时间。
将控制器模式切换到控制器模式时
SMC_position
有关更多信息,请参阅以下内容: 标准用例
在控制器模式下
SMC_velocity
根据实际位置和设定速度计算设定位置在控制器模式下
SMC_torque
根据实际位置和实际速度计算设定位置如果开启了软件位置延迟监控
在
SMC_GetTravelTime
如果是输入,则为功能块ValueSource
有价值MC_SOURCE.ACT
在
SMC_DigitalCamSwitch_HighPrecision
如果是输入,则为功能块ValueSource
有价值MC_SOURCE.ACT
在
SMC_ETC_InterpolateAxisPosition
功能块(基于 PLC 的触摸探头)