2. EtherCAT协议基础回顾

EtherCAT 的验收与交付之所以不能只看“能不能通”,根源在于它并不是一条普通的以太网链路,而是一套由主站统一调度、从站硬件实时转发的确定性通信系统。理解主从架构、过程数据对象、邮箱通信、分布式时钟和状态机这五个基础概念,才能在后续排查“通信正常但同步超差”“能扫描到从站却进不了 OP”这类问题时,知道该看哪里、该测什么。

一、主站与从站:谁在发号施令,谁在实时转发

EtherCAT 网络中只有一个逻辑主站(Master),通常由工业 PC 或嵌入式控制器上的软件协议栈实现,例如基于 IgH EtherCAT Master 或 TwinCAT 的实时网卡驱动。主站负责组态、发起周期性过程数据通信、处理邮箱请求和维护网络状态。从站(Slave)则是带 ESC(EtherCAT Slave Controller)专用芯片的现场设备,如伺服驱动器、远程 IO、编码器接口模块等。

EtherCAT 的关键机制是“飞读飞写”(processing on the fly):主站发出一帧以太网报文,报文依次经过每个从站的 ESC,从站在报文经过时直接读取属于自己的输出数据、写入自己的输入数据,而不需要完整接收整帧再转发。因此整网在一个周期内即可完成所有从站的数据交换,这也是它区别于普通以太网轮询的核心。验收时,主站侧的周期时间、从站数量、拓扑结构和报文长度共同决定了实际可达的最小周期。

二、过程数据对象 PDO:周期性交换的“快车道”

过程数据对象(Process Data Object,PDO)承载的是每个通信周期都要刷新的实时数据,例如伺服的控制字、目标位置、状态字、实际位置,或 IO 模块的通道值。PDO 分为两类:主站发往从站的 RxPDO(从站视角的接收),从站发往主站的 TxPDO(从站视角的发送)。

PDO 的映射决定了“哪些对象、按什么顺序、占多少位”被放进周期报文。例如某伺服从站可配置为:RxPDO 映射 0x6040 控制字(16 位)、0x607A 目标位置(32 位);TxPDO 映射 0x6041 状态字(16 位)、0x6064 实际位置(32 位)。映射一旦确定,主站组态的输入输出映像长度必须与之一致,否则会出现数据错位或从站拒绝进入 OP。验收中常见的“位置指令对不上”“状态字读出来是乱码”,多数是 PDO 映射与主站映像不匹配造成的。

三、邮箱通信 CoE:非周期参数的“慢车道”

邮箱通信(Mailbox)用于传输非周期数据,如 SDO 参数读写、对象字典访问、固件升级等。在 EtherCAT 上最常用的是 CoE(CANopen over EtherCAT),它把 CANopen 的对象字典和 SDO 服务映射到邮箱通道。邮箱通信与 PDO 走的是同一条物理链路,但优先级和时序不同:PDO 在每个周期固定发送,邮箱数据则在周期报文的空闲时段传输,因此 SDO 读写通常需要多个周期才能完成。

验收时要注意:SDO 读写成功不代表 PDO 配置正确,反之亦然。例如用 SDO 把 0x6060 设为 8(周期同步位置模式)后,还必须确认对应的 PDO 映射和同步模式已生效,伺服才会真正按周期位置运行。

四、分布式时钟 DC:让所有从站“对表”

分布式时钟(Distributed Clocks,DC)解决的是多轴同步问题。EtherCAT 选择一个从站作为参考时钟(Reference Clock),通常是第一个支持 DC 的从站。主站发送带有时间戳的 ARMW/FRMW 报文,各从站测量报文到达和离开的时间差,计算出自身时钟与参考时钟的偏移和漂移,并据此调整本地时钟,使全网时钟偏差控制在微秒甚至亚微秒级。

DC 生效后,从站可以工作在同步模式(如 DC SYNC0),由本地时钟在约定时刻触发采样和输出,从而保证多轴之间的相位一致。验收中若发现多轴同步误差大,应检查:参考时钟从站是否被正确指定、SYNC0 周期是否与主站周期匹配、从站是否真正进入 DC 模式,以及网络抖动是否过大。

五、状态机:从 INIT 到 OP 的必经之路

每个 EtherCAT 从站都维护一个通信状态机,标准状态包括 INIT、PRE-OP、SAFE-OP、OP,另外还有用于升级的 BOOT。状态迁移由主站通过邮箱写入 AL Control 寄存器触发,从站完成相应检查后回报实际状态。

各状态的含义与验收关注点如下:INIT 阶段只有邮箱可用;PRE-OP 阶段邮箱可用、PDO 不可用,主站在此完成 SDO 参数配置和 PDO 映射;SAFE-OP 阶段 PDO 可通信,但输出保持安全状态,输入仍可读取,适合验证输入数据是否正确;OP 阶段输入输出均正常刷新,是正式运行状态。若从站卡在 PRE-OP 无法进入 SAFE-OP,通常是 PDO 映射或同步配置有问题;卡在 SAFE-OP 无法进入 OP,则可能是 DC 未同步或输出使能条件未满足。

EtherCAT 从站状态机与通信能力 INIT 仅邮箱可用 PRE-OP 邮箱 + SDO 配置 SAFE-OP 输入可读,输出安全 OP 输入输出正常刷新 配置 映射 同步 异常回退 各状态下的通信通道与验收关注点 邮箱通信(CoE / SDO) INIT 起可用 参数读写、对象字典访问 过程数据(PDO) SAFE-OP 起可用 周期刷新,映射需匹配 分布式时钟(DC) SAFE-OP 起同步 SYNC0 触发采样输出 验收判断链 能扫描 → 能进 PRE-OP → SDO 配置成功 → PDO 映射一致 → DC 同步 → 进入 OP → 周期数据正确

六、把五个概念串起来看验收

实际验收时,这五个概念是层层递进的。先用主站扫描确认从站数量和拓扑;再检查每个从站能否从 INIT 顺利迁移到 PRE-OP,这一步验证邮箱通信是否正常;接着通过 SDO 写入必要参数并核对 PDO 映射,确认过程数据长度和顺序一致;然后观察从站能否进入 SAFE-OP 并读到正确的输入数据;最后确认 DC 同步已建立、SYNC0 周期与主站周期匹配,从站进入 OP,周期性数据开始正常刷新。