写在前面
EtherCAT的报文比较繁琐,且一些参考书籍错误较多,且晦涩难懂,对于初学者,很难快速的入门。本文适用于有一定基础的研究者,如对报文有一些研究、对canopen协议有一定了解、并且对TwinCAT有了解的研究者。当然,对于初学者来说,也是很好的引导,少走很多弯路。本文测试的数据,可用于对应数据帧结构一一对应来理解帧的结构。
一、EtherCAT数据帧结构
EtherCAT数据直接使用以太网数据帧传输(也可以使用UDP/IP协议格式传输,本文不做介绍),使用帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44~1498字节的数据。数据区由一个或多个EtherCAT子报文组成,子报文对应独立的设备或从站存储区域,如图所示。
1.1 EtherCAT帧结构定义
名称 | 含义 |
---|---|
目的地址 | 接收方MAC地址 |
源地址 | 发送方MAC地址 |
帧类型 | 0x88A4 |
EtherCAT头:长度 | EtherCAT数据区长度,即所有子报文长度总和 |
EtherCAT头:类型 | 1-表示与从站通信;其余保留 |
FCS(Frame Check Sequence) | 帧校验序列 |
1.2 EtherCAT子报文结构定义
名称 | 含义 |
---|---|