3. EtherCAT网络与分布式时钟

在Omron Sysmac机器视觉与运动集成系统中,EtherCAT承担着连接NJ/NX系列控制器、伺服驱动器、视觉相机、I/O端子等设备的实时通信任务。理解EtherCAT的通信原理、过程数据对象(PDO)映射方式以及分布式时钟(DC)同步机制,是保证视觉触发与运动轴同步精度的基础。本节从数据帧结构出发,逐步展开到PDO映射配置和DC同步对视觉与运动协同的实际影响。

一、EtherCAT通信原理:从帧结构到从站处理

EtherCAT(Ethernet for Control Automation Technology)采用主从架构,但与传统以太网不同,它并不要求每个从站都完整接收并解析整个数据帧。主站(如NJ501-1500)发送一个标准以太网帧,帧内封装了EtherCAT数据报。每个从站使用ESC(EtherCAT Slave Controller)在帧经过时"边读边写":从站从数据报中提取属于自己的输出数据(主站→从站),同时将自己的输入数据(从站→主站)插入到数据报的对应位置。帧继续向下游传递,最终由末端从站返回主站。

这种"On-the-fly"处理方式使得整个网络在一个通信周期内完成所有从站的数据交换,无需逐站存储转发。以100个从站、每个从站32字节过程数据为例,帧长度约为4KB,在100Mbps速率下传输时间约0.4ms,加上从站处理延迟,典型周期可控制在1ms以内。Sysmac Studio中EtherCAT主站配置的"过程数据通信周期"即对应此周期,通常设置为0.5ms、1ms或2ms,需根据轴数和视觉触发频率权衡。

从站拓扑支持线型、树型、星型(通过分支器)等结构。线型连接时,末端从站返回的帧沿原路返回,因此从站顺序会影响帧延迟。对于视觉触发与运动同步要求高的场景,建议将视觉相机和伺服驱动器布置在靠近主站的拓扑位置,减少累积延迟。

EtherCAT 帧传输与从站 On-the-fly 处理示意 EtherCAT 主站 NJ/NX 控制器 周期 1ms 下行帧 从站1 伺服驱动器 ESC 读写 从站2 视觉相机 ESC 读写 从站3 I/O 端子 ESC 读写 上行帧(含各从站输入数据)返回主站 EtherCAT 数据报结构(简化) 以太网头 EtherCAT头 过程数据(PDO) 工作计数器 CRC 每个从站根据配置的偏移地址读写对应 PDO 区域,帧不停止传输

二、过程数据对象(PDO)映射:把控制信号放进周期帧

PDO映射决定了每个EtherCAT通信周期中,主站与从站之间交换哪些数据、各占多少位、位于数据报的哪个偏移位置。在Sysmac Studio中,PDO映射通过ESI(EtherCAT Slave Information)文件自动生成,但工程师需要理解其结构才能正确配置视觉触发与运动同步信号。

以Omron 1S系列伺服驱动器为例,其默认PDO映射包含:

  • RxPDO(主站→从站):控制字(Controlword,16位)、目标位置(Target Position,32位)、目标速度(Target Velocity,32位)、运行模式(Modes of Operation,8位)等。
  • TxPDO(从站→主站):状态字(Statusword,16位)、实际位置(Actual Position,32位)、实际速度(Actual Velocity,32位)、扭矩实际值(Torque Actual,16位)等。

对于视觉触发,关键PDO是数字量输出(如相机触发信号)和数字量输入(如相机拍照完成反馈)。在Sysmac Studio的EtherCAT配置界面中,可以将相机的"Trigger Output"映射到主站的过程数据区,并指定其位偏移。例如,将相机触发位映射到主站输出区第0字节的第0位,则在梯形图或ST程序中通过操作该位即可在下一个通信周期发出触发脉冲。

PDO映射的配置直接影响同步精度。若触发信号与伺服位置指令位于同一通信周期,则从触发发出到相机实际曝光的延迟包括:主站处理时间、帧传输时间、从站ESC处理时间、相机内部响应时间。其中帧传输和ESC处理时间由网络拓扑和从站数量决定,通常为几十微秒;相机内部响应时间则取决于相机型号,可能需要额外补偿。

配置建议:在Sysmac Studio中,通过"EtherCAT → 从站 → PDO映射"查看和编辑映射。对于视觉触发,建议将触发位与伺服控制字放在同一RxPDO中,确保同一周期内到达;同时将相机反馈位放在TxPDO中,便于主站判断触发是否被响应。

三、分布式时钟同步机制:让所有从站"看同一块表"

分布式时钟(Distributed Clocks,DC)是EtherCAT实现高精度同步的核心机制。在没有DC的情况下,各从站的本地时钟独立运行,存在漂移,导致运动轴之间的位置同步误差和视觉触发时刻不一致。DC机制通过以下步骤建立全局时间基准:

  1. 参考时钟选择:主站将第一个支持DC的从站(通常是第一个伺服驱动器)设为参考时钟(Reference Clock),其他从站为从时钟。
  2. 偏移测量:主站发送带有时间戳的测量帧,各从站记录帧到达和离开的时间,计算出本地时钟与参考时钟的偏移量。
  3. 漂移补偿:各从站根据偏移量调整本地时钟的速率,使其与参考时钟保持同步。补偿周期通常为10ms~100ms,同步精度可达纳秒级。
  4. 同步信号输出:从站可基于同步后的时钟产生SYNC0/SYNC1信号,用于触发伺服周期任务或相机曝光。

在Sysmac Studio中,DC模式通常设置为"DC Synchronous",同步周期与EtherCAT通信周期一致。对于1ms通信周期,DC同步精度典型值小于100ns。这意味着两个伺服轴之间的位置同步误差可控制在极低水平,视觉触发时刻的抖动也可忽略不计。

实际配置时,需注意以下参数:

  • Sync0周期:通常等于通信周期,如1ms。
  • Sync0偏移:相对于通信周期起点的偏移时间,用于调整从站任务执行时刻。例如设置为通信周期的50%,可使从站任务在帧到达后半个周期执行,避免与帧处理冲突。
  • DC激活:在从站配置中勾选"Enable Distributed Clocks",并确保所有需要同步的从站均启用。
注意:若视觉相机不支持DC,则其触发时刻只能依赖主站发送触发信号的时刻,此时同步精度受通信周期和主站任务抖动影响。对于高精度视觉引导运动应用,建议选择支持DC的相机,或通过外部硬件触发(如伺服编码器Z相)进行补偿。

四、DC同步对视觉触发与运动同步的实际影响

在典型的视觉引导拾取应用中,流程如下:传送带上的工件到达拍照位置 → 视觉相机触发拍照 → 图像处理计算偏移量 → 主站更新伺服目标位置 → 伺服轴运动到修正位置抓取。若没有DC同步,各步骤的时间基准不一致,可能导致:

  • 相机拍照时刻与传送带实际位置不匹配,图像中的工件位置与实际位置存在偏差。
  • 伺服轴运动指令与视觉计算结果之间的延迟不确定,导致抓取位置偏移。
  • 多轴协同运动时,各轴到达目标位置的时间不一致,产生轨迹误差。

启用DC后,所有从站基于同一时钟运行。相机在SYNC0信号触发下曝光,伺服轴在SYNC0信号触发下更新位置指令,主站的任务周期也与DC同步。这样,从拍照到运动修正的整个链路具有确定的时间关系,系统可以通过标定补偿固定延迟,实现高精度抓取。

以一个具体示例说明:假设通信周期为1ms,DC同步精度为50ns,相机曝光延迟为100μs,图像处理时间为5ms,伺服轴从收到指令到开始运动的时间为200μs。在DC同步下,这些延迟都是确定值,可以在视觉标定中统一补偿。若没有DC,相机曝光时刻可能抖动±0.5ms,图像处理时间也可能因主站任务调度而波动,导致补偿困难。

五、配置检查与验证方法

完成EtherCAT和DC配置后,可通过以下方式验证同步效果:

检查项 方法 预期结果
通信周期稳定性 Sysmac Studio → EtherCAT诊断 → 通信周期监控 周期抖动小于10μs
DC同步状态 查看从站DC同步标志位 所有从站显示"Synced"
PDO映射正确性 强制触发位,观察相机是否响应 触发后相机在预期周期内输出反馈
视觉-运动同步精度 使用标定板,多次拍照并记录抓取位置偏差 重复精度在允许范围内(如±0.1mm)

若发现同步异常,首先检查DC是否在所有相关从站上启用,其次确认Sync0偏移是否合理,最后检查PDO映射中触发位和反馈位是否位于同一通信周期。通过Sysmac Studio的"EtherCAT在线诊断"可以实时查看各从站的同步状态和通信错误计数,帮助快速定位问题。

掌握EtherCAT通信原理、PDO映射和DC同步机制,是构建高精度视觉与运动集成系统的前提。在实际项目中,应根据设备特性和精度要求,合理配置通信周期、PDO映射和DC参数,并通过诊断工具持续验证同步性能。