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