2. EtherCAT通信原理精要
EtherCAT(Ethernet for Control Automation Technology)之所以能在多轴运动控制中做到微秒级同步,核心在于它把“以太网帧”当作一条高速传送带:主站发出一帧,沿途每个从站都在帧经过的瞬间读取并写入属于自己的数据,而不是像普通以太网那样每个节点收完整帧再回一帧。理解这一点,是理解主站/从站分工、过程数据对象、分布式时钟和报文寻址的前提。
主站与从站:谁在指挥,谁在执行
在台达的EtherCAT方案中,主站通常由运动控制器(如AX系列、AS系列配合EtherCAT主站模块)承担,从站则是伺服驱动器(如ASDA-A3-E、ASDA-B3-E)、远程IO、编码器接口等。主站负责三件事:周期性下发命令帧、维护网络拓扑与从站状态机、计算并分发分布式时钟基准。从站负责三件事:在帧经过时完成数据交换、执行本地控制(如电流环、位置环)、把状态和反馈数据写回帧中。
需要特别注意的是,从站并不“接收整帧再处理”,而是由ESC(EtherCAT Slave Controller)硬件在帧穿越端口时完成读写。这意味着从站的处理延迟极低,但也意味着从站必须严格按主站配置的地址和偏移量操作,配置错误会直接表现为数据错位或从站不进入OP状态。
过程数据对象:PDO与数据映射
过程数据对象(PDO)是EtherCAT周期通信中真正搬运的数据。每个从站都有若干PDO,分为输入PDO(TxPDO,从站→主站)和输出PDO(RxPDO,主站→从站)。在台达ASDA-A3-E中,常见的RxPDO包括控制字、目标位置、目标速度、目标转矩;TxPDO包括状态字、实际位置、实际速度、实际转矩、错误码。
PDO本身不定义“第几个字节是什么”,真正决定布局的是PDO映射。主站在启动阶段通过SDO(服务数据对象)把映射写入从站的0x1C12/0x1C13等对象,把具体对象字典条目按顺序拼进PDO。例如把0x6040控制字、0x607A目标位置、0x60FF目标速度依次映射到RxPDO,主站周期帧中就会按这个顺序排列。映射一旦确定,周期通信中不再协商,只按偏移量读写,因此映射顺序和长度必须在主站配置与从站ESI文件之间保持一致。
分布式时钟:让所有轴在同一时刻动作
多轴运动控制最怕“各轴各走各的时间”。分布式时钟(DC,Distributed Clocks)解决的就是这个问题。EtherCAT网络中,第一个支持DC的从站通常被选为参考时钟(Reference Clock),其余从站通过测量帧到达和离开的时间差,计算出自己与参考时钟的偏移和漂移,并不断校正本地时钟。
校正完成后,所有从站共享一个统一的时间轴。主站可以在周期帧中携带“同步脉冲”或使用SYNC0信号,让各从站在同一时刻锁存目标位置、启动插补。台达伺服中与DC相关的关键参数包括DC模式使能、同步周期、同步偏移等。若DC未正确启用,多轴联动时会出现明显的跟随误差波动,甚至出现轴间不同步导致的机械抖动。
报文寻址:为什么EtherCAT不需要交换机
EtherCAT使用标准以太网帧,但帧类型为0x88A4。主站发出的帧在环状或线状拓扑中依次穿过每个从站。每个从站根据帧内的“寻址字段”判断这段数据是否属于自己:如果属于自己,就在帧经过时读取或写入;如果不属于自己,就只做转发。由于帧是“边传边处理”,整网的有效数据吞吐率非常高。
寻址方式主要有三种:位置寻址、逻辑寻址和广播寻址。位置寻址按从站在网络中的物理顺序访问,适合启动阶段或简单IO;逻辑寻址用一个32位逻辑地址映射多个从站的数据区,适合周期PDO通信;广播寻址用于写所有从站或读所有从站。台达主站配置中,周期通信通常使用逻辑寻址,把各从站的PDO映射到同一段逻辑地址空间,主站只需按偏移量读写,不必关心物理顺序。
台达实现要点:从配置到运行的关键检查
在台达系统中落地EtherCAT,建议按以下顺序检查。第一,确认ESI文件与驱动器固件版本匹配,否则PDO映射和对象字典可能不一致。第二,在主站中扫描从站,确认拓扑顺序与物理接线一致,位置寻址的从站编号不能错。第三,配置PDO映射,明确每个从站的RxPDO和TxPDO内容及长度,并核对总长度不超过帧容量。第四,启用分布式时钟,选择参考时钟从站,设置同步周期与SYNC0偏移。第五,把从站从INIT逐步切换到OP,观察状态字和错误码,确认无AL状态错误。
一个常见的教学示例参数如下:同步周期设为1 ms,DC同步偏移设为0,参考时钟选第一个伺服从站。若运行中某轴实际位置反馈出现周期性跳变,优先检查该从站的DC是否使能、同步周期是否与主站一致,以及PDO映射中实际位置的长度是否被错误截断。若从站无法进入OP,先看AL状态码:0x0011通常与PDO映射长度不匹配有关,0x0012与DC配置有关,0x0013与看门狗或同步丢失有关。
把以上四点串起来看:主站是周期帧的发起者和DC基准的维护者,从站是帧经过时的读写执行者,PDO是帧内真正搬运的数据布局,DC让所有从站共享同一时间轴,寻址方式决定主站如何找到每个从站的数据。台达实现的关键不在于“能不能通”,而在于映射、时钟和状态机三者是否严格一致。任何一处不一致,都会在运行中以跟随误差、轴间不同步或从站掉线的方式暴露出来。