3. EtherCAT通信原理精要

EtherCAT 的高实时性并非来自“更快的以太网”,而是来自一种特殊的报文处理方式:主站发出的以太网帧不在每个从站被完整接收、解析、再转发,而是由从站 ESC(EtherCAT Slave Controller)在帧“穿过”的瞬间完成读写。理解这一点,是理解主从架构、过程数据、分布式时钟和通信周期的共同基础。

一、主站与从站的逻辑架构

EtherCAT 网络中只有一个逻辑主站,通常由 PC 或工控机的标准以太网口配合主站协议栈实现,例如 TwinCAT、CODESYS 或 SOEM。主站负责发起所有通信、维护网络状态、组织过程数据映像,并处理邮箱通信。从站则是带 ESC 的伺服驱动器、I/O 模块或网关,它们不主动发起通信,只在帧经过时按配置的地址和偏移量读写数据。

以 Yaskawa Sigma-7 系列 EtherCAT 伺服为例,驱动器内部可理解为三层:ESC 负责 EtherCAT 帧的实时处理;伺服应用层负责把过程数据映射到位置、速度、转矩指令和状态字;电机控制层执行电流环、速度环和位置环。主站看到的“从站”,本质上是 ESC 中一段可被周期性读写的寄存器与过程数据区。

从站拓扑支持线型、树型和环型。线型连接下,帧依次穿过每个从站;环型冗余时,主站可检测断点并切换到备用路径。拓扑本身不改变“帧穿过即处理”的机制,但会影响传播延迟和冗余行为。

二、过程数据与邮箱数据

EtherCAT 通信分为两类逻辑通道:过程数据(Process Data)和邮箱数据(Mailbox Data)。过程数据是周期性、实时性要求高的数据,例如控制字、状态字、目标位置、实际位置、目标速度、实际速度、转矩指令和运行模式。它们被映射到逻辑过程数据映像中,每个通信周期随帧刷新一次。

邮箱数据是非周期性、可靠性要求高的数据,例如 SDO 参数读写、对象字典访问、固件升级和诊断信息。邮箱通信采用“握手”机制,主站写入请求后等待从站响应,因此不占用周期性过程数据带宽,但延迟明显高于过程数据。

在 Sigma-7 中,过程数据通过 PDO 映射配置。例如,主站可把 0x6040 控制字、0x607A 目标位置、0x6064 实际位置、0x6041 状态字映射到同一过程数据帧中。每个从站的过程数据长度由 PDO 映射决定,主站据此计算帧内偏移。若映射错误,典型现象是“通信正常但伺服不动作”或“位置反馈跳变”。

三、分布式时钟与同步

分布式时钟(DC,Distributed Clocks)用于让所有从站的本地时钟对齐到同一个参考时钟。通常选择第一个支持 DC 的从站作为参考时钟,主站通过测量帧往返延迟和从站处理延迟,计算出每个从站的时钟偏移和漂移补偿值,再周期性下发校正。

同步后的从站可以在同一时刻执行控制任务。对伺服而言,这意味着多个轴可以在同一通信周期内同时采样位置、同时更新指令,从而减少轴间相位差。Sigma-7 的 DC 模式通常配合 SYNC0 信号使用:主站按通信周期产生 SYNC0,从站在 SYNC0 触发时锁存输入并应用输出。

若 DC 未启用或同步质量差,常见现象是轴间同步误差增大、低速运行时出现爬行或抖动。判断时可观察从站 DC 状态、同步窗口和 SYNC0 周期是否稳定。

EtherCAT 通信原理:帧穿过、过程数据、邮箱数据与分布式时钟 EtherCAT 主站 TwinCAT / CODESYS / SOEM 过程数据映像 + 邮箱调度 DC 参考时钟计算 EtherCAT 帧 从站 1:Sigma-7 ESC 帧处理 PDO:0x6040/0x607A 邮箱:SDO / 诊断 从站 2:Sigma-7 ESC 帧处理 PDO:0x6041/0x6064 DC 本地时钟 从站 3:I/O ESC 帧处理 数字量输入/输出 DC 从时钟 返回 分布式时钟(DC)同步链 参考时钟 从站 1 本地时钟 偏移测量 从站 2 时钟 偏移 + 漂移补偿 偏移测量 从站 3 时钟 偏移 + 漂移补偿 SYNC0 同步脉冲 锁存输入 / 应用输出 EtherCAT 状态机与通信周期 INIT PRE-OP SAFE-OP OP 通信周期: 帧发送 → 从站读写 → 返回 → 下一周期 周期性过程数据刷新(如 1 ms / 500 μs)

四、状态机与通信周期

EtherCAT 从站必须按状态机顺序进入工作状态:INIT → PRE-OP → SAFE-OP → OP。INIT 阶段完成基本寄存器配置;PRE-OP 阶段可进行邮箱通信和对象字典访问,但过程数据尚未有效;SAFE-OP 阶段从站开始接收过程数据输入,但输出保持安全状态;OP 阶段过程数据输入输出均有效,伺服使能并执行运动控制。

状态迁移由主站写 AL Control 寄存器触发,从站通过 AL Status 反馈。若从站无法进入 OP,常见原因包括 PDO 映射不匹配、DC 配置错误、同步窗口超限或看门狗超时。排查时应先确认 AL Status 中的错误码,再检查 PDO 映射和 DC 参数。

通信周期是主站发送过程数据帧的间隔,常见为 1 ms、500 μs 或 250 μs。周期越短,控制带宽越高,但对主站 CPU、网络抖动和从站处理能力要求也越高。以 1 ms 周期为例,主站每毫秒发送一帧,帧穿过所有从站并返回,从站在 SYNC0 触发时锁存输入、应用输出。若周期抖动超过从站同步窗口,从站可能报同步错误并退出 OP。

判断通信是否健康,可依次观察:AL Status 是否稳定在 OP;过程数据是否持续刷新;DC 同步窗口是否在允许范围内;邮箱通信是否偶发超时。四者同时正常,才说明 EtherCAT 通信链路和伺服控制链路均处于可用状态。

把主从架构、过程数据、邮箱数据、分布式时钟、状态机和通信周期放在一起看,EtherCAT 的本质就清晰了:主站用一帧周期性地“扫过”所有从站,过程数据在穿过时被读写,邮箱数据在非周期时隙中可靠传输,分布式时钟让所有从站在同一时间基准上动作,状态机则保证从站从初始化到运行的安全过渡。理解这条主线,后续配置 PDO、调 DC、看 AL Status 和排查通信故障时,就能知道每一步在系统中的位置和作用。