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,需根据轴数和视觉触发频率权衡。
从站拓扑支持线型、树型、星型(通过分支器)等结构。线型连接时,末端从站返回的帧沿原路返回,因此从站顺序会影响帧延迟。对于视觉触发与运动同步要求高的场景,建议将视觉相机和伺服驱动器布置在靠近主站的拓扑位置,减少累积延迟。
二、过程数据对象(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处理时间由网络拓扑和从站数量决定,通常为几十微秒;相机内部响应时间则取决于相机型号,可能需要额外补偿。
三、分布式时钟同步机制:让所有从站"看同一块表"
分布式时钟(Distributed Clocks,DC)是EtherCAT实现高精度同步的核心机制。在没有DC的情况下,各从站的本地时钟独立运行,存在漂移,导致运动轴之间的位置同步误差和视觉触发时刻不一致。DC机制通过以下步骤建立全局时间基准:
- 参考时钟选择:主站将第一个支持DC的从站(通常是第一个伺服驱动器)设为参考时钟(Reference Clock),其他从站为从时钟。
- 偏移测量:主站发送带有时间戳的测量帧,各从站记录帧到达和离开的时间,计算出本地时钟与参考时钟的偏移量。
- 漂移补偿:各从站根据偏移量调整本地时钟的速率,使其与参考时钟保持同步。补偿周期通常为10ms~100ms,同步精度可达纳秒级。
- 同步信号输出:从站可基于同步后的时钟产生SYNC0/SYNC1信号,用于触发伺服周期任务或相机曝光。
在Sysmac Studio中,DC模式通常设置为"DC Synchronous",同步周期与EtherCAT通信周期一致。对于1ms通信周期,DC同步精度典型值小于100ns。这意味着两个伺服轴之间的位置同步误差可控制在极低水平,视觉触发时刻的抖动也可忽略不计。
实际配置时,需注意以下参数:
- Sync0周期:通常等于通信周期,如1ms。
- Sync0偏移:相对于通信周期起点的偏移时间,用于调整从站任务执行时刻。例如设置为通信周期的50%,可使从站任务在帧到达后半个周期执行,避免与帧处理冲突。
- DC激活:在从站配置中勾选"Enable Distributed Clocks",并确保所有需要同步的从站均启用。
四、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参数,并通过诊断工具持续验证同步性能。