ethercat数据帧是基于ethernet数据帧的,整体来讲也就是:
ethernet数据报头 + ethernet数据 + FCS这样的格式;
而ethercat子报文则填充在ethernet数据部分进行发送,具体来说呢,整体的格式如下:
先暂时只讨论子报文数据部分,具体的整个的报文组成放在之后描述,那么在子报文中,他的构成也可以大体明白了,就是 子报文头+子报文数据+WKC,先了解子报文头:
子报文头的0~8bit为命令,也就是./master/datagram.h/ec_datagram_type_t枚举类型,大体分为顺序寻址、配置寻址、逻辑寻址、广播寻址等。每中类型又分为读、写、读写三种命令类型。首先就是介绍EC_DATAGRAM_BRD类型子报文,这种类型的子报文,地址区32bit数据是分为APD和ADO两个部分的,前者为从站自增地址,后者为从站内部的物理内存地址,相同的地址分法同样适用于顺序寻址和配置寻址,但是不适用于逻辑寻址。对于BRD类型子报文,从站接收到并进行转发就会在APD部分增加1,通过这种方法就可以获得从站个数的信息。