2. EtherCAT技术基础

EtherCAT(Ethernet for Control Automation Technology)是一种基于标准以太网的实时工业通信协议。它的核心思想不是让每个从站单独收发以太网帧,而是让一个以太网帧像“高速列车”一样依次穿过所有从站,从站在帧经过时实时读取和写入数据。这种“处理即转发”的机制,使EtherCAT在保持标准以太网物理层的同时,获得了微秒级同步精度和极高的带宽利用率,也是理解一致性测试对象的基础。

一、协议原理:On-the-fly 处理与逻辑环

EtherCAT主站发送一个标准以太网帧,帧头使用 EtherType 0x88A4 标识。该帧进入第一个从站后,从站控制器(ESC)不存储整帧再转发,而是在帧经过端口的瞬间完成数据提取与插入,这称为 On-the-fly(飞行中)处理。帧继续流向下一从站,直到最后一个从站,再由最后一个从站将帧原路返回主站,形成逻辑环。

由于每个从站只处理属于自己的数据段,帧的传输延迟主要由物理层和ESC转发延迟决定,而非软件协议栈。主站通常只需一个帧即可完成对所有从站的周期数据交换,因此EtherCAT的通信效率与从站数量关系不大,而与拓扑和帧长度有关。

关键点:EtherCAT不是“广播+轮询”,而是“帧穿越+就地读写”。从站不产生独立以太网帧,只修改经过的帧内容,因此不存在传统以太网中的冲突和排队问题。

二、主站与从站架构

EtherCAT网络由一个主站和若干从站组成。主站通常运行在标准PC或嵌入式控制器上,使用普通以太网MAC,不需要专用ASIC;从站则必须使用ESC芯片或FPGA实现,负责实时处理帧、控制过程数据接口和分布式时钟。

  • 主站:负责发送过程数据帧、管理网络状态、配置从站、处理邮箱通信和诊断。主站可以是软件主站(如TwinCAT、SOEM)或硬件主站。
  • 从站:由ESC、微控制器和应用层组成。ESC处理EtherCAT帧和分布式时钟,微控制器运行应用层协议(CoE、SoE等),并连接伺服、I/O、编码器等设备。
  • 分布式时钟(DC):第一个支持DC的从站作为参考时钟,其他从站时钟与之同步,实现纳秒级同步精度,是运动控制一致性的关键测试项。

三、数据帧结构与寻址方式

EtherCAT帧由以太网头、EtherCAT头和一个或多个数据报(Datagram)组成。每个数据报包含命令、索引、地址区、长度、数据和工作计数器(WKC)。WKC是判断从站是否正确处理数据的重要依据,也是一致性测试中频繁检查的字段。

字段 作用 一致性测试关注点
EtherType 0x88A4 标识EtherCAT帧 帧类型是否正确
Command 读写命令,如APRD、APWR、FPRD、FPWR、BRD、BWR 命令与寻址方式是否匹配
Address 逻辑地址、自动增量地址或广播地址 地址范围与从站配置是否一致
Length 数据区长度 长度与过程数据映射是否一致
WKC 工作计数器,从站处理成功则递增 WKC是否等于预期值

EtherCAT支持多种寻址方式:自动增量寻址用于启动阶段按顺序配置从站;固定位置寻址用于已知拓扑位置的从站;逻辑寻址用于周期性过程数据交换,将多个从站的输入输出映射到同一逻辑地址空间;广播寻址用于全局操作。逻辑寻址是正常运行时最常用的方式,也是测试中验证过程数据一致性的重点。

四、通信模式与状态机

EtherCAT通信分为周期性过程数据通信和非周期性邮箱通信。过程数据使用逻辑寻址,由主站周期发送;邮箱通信用于参数配置、固件升级和诊断,通常使用CoE(CANopen over EtherCAT)协议。从站状态机包括Init、Pre-Operational、Safe-Operational、Operational四个状态,状态转换必须严格遵循规范,否则一致性测试会失败。

典型状态转换:
Init → Pre-Op → Safe-Op → Op
  ↑       ↑        ↑       |
  └───────┴────────┴───────┘
  错误或配置变更时回退

测试提示:在Safe-Op状态下,从站可以接收过程数据输入,但不输出;进入Op后,输入输出均有效。一致性测试会检查每个状态下的邮箱通信、过程数据行为和错误响应。

五、案例场景:伺服轴周期通信

假设一个主站控制4个伺服从站,周期为1ms。主站使用逻辑寻址,将4个从站的控制字、目标位置和状态字、实际位置映射到同一帧的不同偏移。帧依次经过4个从站,每个从站读取自己的目标值并写入实际值。主站收到返回帧后,检查WKC是否等于4,并解析实际位置。若某个从站WKC异常,说明该从站未正确处理数据,可能原因包括地址配置错误、状态机未进入Op或ESC故障。

六、常见误区与复盘

  • 误区一:认为EtherCAT需要专用以太网交换机。实际上,EtherCAT从站自带转发端口,普通交换机可能破坏实时性,应使用ESC直连或专用分支模块。
  • 误区二:忽略WKC检查。WKC是判断从站是否参与处理的直接证据,测试中必须逐帧核对。
  • 误区三:混淆自动增量寻址和逻辑寻址。启动配置阶段常用自动增量,运行阶段必须切换到逻辑寻址。
  • 误区四:不验证分布式时钟同步。DC同步偏差会直接影响运动控制精度,是一致性测试的必测项。
EtherCAT 主站—从站架构与帧穿越逻辑环 EtherCAT 主站 标准以太网 MAC 周期帧 / 邮箱 从站 1 ESC + MCU 伺服 / I/O 从站 2 ESC + MCU 伺服 / I/O 从站 n ESC + MCU 伺服 / I/O 返回帧(逻辑环闭合) EtherCAT 数据帧结构 以太网头 EtherCAT头 数据报 1 Cmd / Addr / Len / WKC 数据报 2 Cmd / Addr / Len / WKC FCS 从站状态机与通信模式 Init Pre-Operational Safe-Operational Operational 邮箱:CoE / SoE 过程数据:逻辑寻址

理解上述协议原理、架构、帧结构、寻址和通信模式,是开展EtherCAT一致性测试的前提。测试时,需要围绕WKC、状态机、逻辑寻址映射、分布式时钟和邮箱协议逐项验证,才能确认从站是否真正符合EtherCAT规范。