2. EtherCAT协议精要
EtherCAT(Ethernet for Control Automation Technology)之所以能在运动控制领域获得广泛应用,核心在于它把标准以太网从"逐帧收发"改造成了"帧内遍历"的实时总线。理解这一点,是理解后续所有配置、诊断与优化工作的起点。本节围绕四个关键机制展开:主从通信机制、过程数据对象(PDO)、邮箱协议(Mailbox)以及分布式时钟(DC),并说明它们对多轴同步运动控制的实际意义。
一、主从通信机制:一帧遍历所有从站
EtherCAT采用主从架构,但与传统主从轮询不同:主站(通常是倍福TwinCAT、CODESYS或基于IGH EtherCAT的工控机)只发送一个以太网帧,该帧依次经过每个从站的ESC(EtherCAT Slave Controller)芯片。每个从站在帧经过时,从帧中"读取"属于自己的输出数据、并"写入"自己的输入数据,然后立即把帧转发给下一个从站。最后一个从站(或支持回环的从站)将帧原路返回主站。
这种"On the fly"处理方式带来两个直接结果:一是通信延迟与从站数量几乎无关,只与帧长度和物理链路有关;二是主站只需处理一个帧,CPU负载极低。对于运动控制而言,这意味着即使挂载几十个伺服轴,周期抖动仍可控制在微秒级。
从站之间的拓扑可以是线型、树型、星型或环型,但逻辑上始终是一条"逻辑环"。工程中常见的做法是:主站网口 → 第一个从站IN口 → 从站OUT口 → 下一个从站……最后从站返回主站。若某从站支持"旁路"或"环网冗余",则可在断线时自动切换路径,这对高可用性产线尤为重要。
二、过程数据对象(PDO):周期数据的载体
PDO是EtherCAT周期通信中真正传输运动控制数据的对象。它分为两类:
- TxPDO:从站发送给主站的数据,例如实际位置、实际速度、状态字、扭矩反馈、数字输入状态。
- RxPDO:主站发送给从站的数据,例如目标位置、目标速度、控制字、扭矩指令、数字输出。
PDO的映射关系决定了"哪些对象被放进周期帧"。以一台支持CiA402协议的伺服驱动器为例,典型映射如下(示例参数,实际以设备ESI文件为准):
| 方向 | 对象 | 索引:子索引 | 位长 | 含义 |
|---|---|---|---|---|
| RxPDO | Controlword | 0x6040:00 | 16 | 控制字,控制状态机 |
| RxPDO | Target Position | 0x607A:00 | 32 | 目标位置 |
| RxPDO | Target Velocity | 0x60FF:00 | 32 | 目标速度 |
| TxPDO | Statusword | 0x6041:00 | 16 | 状态字,反馈状态机 |
| TxPDO | Actual Position | 0x6064:00 | 32 | 实际位置 |
| TxPDO | Actual Velocity | 0x606C:00 | 32 | 实际速度 |
PDO映射在从站上电或配置阶段由主站写入,之后每个周期只传输数据本身,不再传输索引和子索引,因此效率极高。工程中需要关注的是:映射的总位长不能超过该从站允许的PDO长度;映射顺序必须与主站配置一致;若使用"动态PDO映射",需在PREOP→SAFEOP转换前完成。
三、邮箱协议:非周期配置与诊断通道
邮箱协议(Mailbox Protocol)用于传输非周期数据,典型用途包括:SDO读写对象字典、上传/下载固件、读取诊断信息、事件上报。它不占用周期PDO的带宽,但需要主站与从站之间进行握手确认,因此延迟较高,不适合实时控制。
邮箱通信基于两种主要协议:
- CoE(CANopen over EtherCAT):最常用,把CANopen的对象字典、SDO、PDO映射、状态机完整移植到EtherCAT上。伺服驱动器的CiA402状态机就是通过CoE实现的。
- EoE(Ethernet over EtherCAT):把标准以太网帧封装在邮箱中,用于从站上的Web服务器、TCP/IP调试口等。
一个典型的SDO上传过程是:主站发送"Initiate Upload Request"(含索引、子索引),从站回复"Initiate Upload Response"(含数据长度),主站再发送"Upload Segment Request",从站回复数据段,直到传输完成。工程中若发现某个参数读不到,首先要确认该对象是否在ESI文件中声明、是否被PDO占用、以及邮箱是否已正确初始化。
四、分布式时钟(DC):多轴同步的基石
分布式时钟是EtherCAT实现高精度同步的核心机制。其基本思想是:让所有从站的本地时钟与主站时钟(或第一个支持DC的从站时钟)对齐,从而在同一个时间基准下采样和执行。
DC的工作过程分为两步:
- 测量与补偿:主站发送带有时间戳的帧,各从站记录帧到达和离开的时间,计算出传播延迟和本地时钟偏移。
- 漂移补偿:主站周期性地发送ARMW(Auto Increment Read Multiple Write)命令,各从站根据该命令调整自己的时钟,使其与参考时钟保持同步。
同步后的效果是:所有从站的SYNC0信号可以在同一时刻触发,抖动通常在纳秒级。对于多轴插补、电子齿轮、电子凸轮等应用,这意味着各轴的位置采样和指令输出在时间上严格对齐,避免因采样时刻不一致导致的轨迹误差。
五、对运动控制的意义
把这四个机制放在一起看,EtherCAT对运动控制的价值就清晰了:
- 确定性:一帧遍历所有从站,周期抖动小,适合位置环、速度环的硬实时要求。
- 高同步精度:DC使各轴在同一时刻采样和输出,多轴插补的轨迹误差显著降低。以1ms周期、4轴插补为例,若各轴采样时刻偏差100μs,在高速进给时可能产生数十微米的轮廓误差;DC同步后偏差可压缩到纳秒级。
- 灵活拓扑:线型、树型、环型均可,便于设备分布式布局。
- 配置与诊断分离:PDO保证实时性,Mailbox提供完整的对象字典访问,便于参数整定和故障排查。
实际调试时,可以按以下顺序检查:先用主站扫描拓扑,确认所有从站进入OP状态;再检查PDO映射是否与ESI一致;然后使能DC并观察各从站时钟偏移是否收敛;最后在示波器或主站诊断工具中观察SYNC0抖动。若某从站无法进入OP,优先检查邮箱初始化、PDO长度和DC配置三项。