原创 | EtherCAT协议分析

admin 2021年9月4日06:17:47评论190 views字数 2693阅读8分58秒阅读模式

作者 | 天融信

 一、概述

EtherCAT(Ethernet for Control Automation Technology)是一种基于以太网的开发构架的实时工业现场总线通讯协议,最初由德国倍福自动化有限公司(Beckhoff Automation GmbH) 研发。它于2003年被引入市场,于2007年成为国际标准,并于2014年成为中国国家标准。EtherCAT的出现为系统的实时性能和拓扑的灵活性树立了新的标准。

EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议(SIL3)。

 二、原理

EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据,将其解码,之后再将过程数据复制到各个设备。EtherCAT是一种实时以太网技术,由一个主站设备和多个从站设备构成。主站可以使用标准网卡实现,从站选用特定的EtherCAT从站控制器ESC(EtherCAT Slave Controller)或者FPGA实现。EtherCAT报文(标准的ISO/IEC 8802-3以太网帧)由主站设备发出,途经各个从站设备,从站设备在报文经过时进行提取或插入数据。当报文到达网段内最后一个从站设备时再反方向传输,最后由第一个从站设备把收集到的信息返回到主站设备。

原创 | EtherCAT协议分析

图2.1 过程数据插入至报文中

 三、拓扑

EtherCAT支持总线型、树型或星型等多种拓扑结构。通过现场总线而得名的总线结构或线型结构也可用于以太网,并且不受限于级联交换机或集线器的数量。最有效的系统连线方法是对线型、分支或树叉结构进行拓扑组合。因为所需接口在I/O 模块等很多设备中都已存在,所以无需附加交换机,还可以使用基于以太网的星型拓扑结构。EtherCAT 系统最多可容纳65535个设备,因此整个网络规模几乎是无限制的。

采用不同的传输电缆可以最大限度地发挥布线的灵活性。灵活而价格低廉的标准以太网插接电缆可通过以太网模式(100baseTX)或通过E总线来传输信号。光纤(PFO)可以用于特殊的应用场合。以太网带宽(如不同的光缆及铜缆)可以结合交换机或媒介转换器使用。快速以太网的物理特性可以使设备之间的距离达到100米,而E-bus只能保障10米的间距。快速以太网或 E-bus可以按照距离要求进行选择。

原创 | EtherCAT协议分析

图3.1 灵活的拓扑结构

 四、协议格式介绍

4.1 EtherCAT 以太网

EtherCAT数据可以使用标准的IEEE 802.3以太网数据帧传输,格式如图4.1所示,由以太网头、EtherCAT帧和FCS(帧校验)组成。

原创 | EtherCAT协议分析

图4.1

4.1.1以太网帧头

Dest Mac和Src Mac分别表示接收方MAC地址、发送方MAC地址,VLAN Tag为可选字段,可以省略,值为IEEE 802.1规定的 0x81,0x00和2字节标签控制信息.Ether Type值为0x88A4,表示EtherCAT协议。

原创 | EtherCAT协议分析

4.1.2EtherCAT帧

EtherCAT帧格式如图4.2所示,分为头和数据两个部分。

原创 | EtherCAT协议分析

图4.2

EtherCAT头:

Length字段值为EtherCAT数据的长度,Res为保留位,Type值的不同后续EtherCAT数据格式也不相同,值可以取:

0x0001:EtherCAT DLPDU

0x0004:network变量

0x0005:邮箱

原创 | EtherCAT协议分析

EtherCAT数据(主要介绍EtherCAT DLPDU):

EtherCAT数据如图4.3所示,由多个子报文组成,每个子报文由子报文头、数据和WKC构成。

原创 | EtherCAT协议分析

图4.3

子报文头:

原创 | EtherCAT协议分析

数据:

数据的类型根据Cmd和Address这个字段确定。Address前16bit代表从站地址,后16bit代表寄存器地址,当Cmd为逻辑寻址类型时,Address整个32bit代表逻辑地址。寄存器地址大于0x1000,考虑是否为邮箱数据,邮箱数据在从站中的地址为SM0-SM1,SM0起始位置为0x1000 ,SM2-SM3属于FMMU(总线内存管理单元),只能逻辑地址访问。

原创 | EtherCAT协议分析

WKC:

WKC(工作计数器)初始值由主站设置为0,当子报文经过从站时会对WKC进行增加,增加的数值根据Cmd的不同有所区别。当数据帧返回主站后,主站设备会根据WKC的值来判断报文是否被正确处理。

4.1.3 FCS

接收方可以用FCS值来判断数据是否完整。

4.2 EtherCAT UDP

在4.1介绍了EtherCAT利用以太网帧传输的报文格式,EtherCAT协议还可以作为UDP/IP数据报传输,如图4.4所示,二者报文格式的区别主要为增加了IP头和UDP头,EtherCAT UDP协议适用于实时性要求不是很严格的场合。

原创 | EtherCAT协议分析

图4.4

4.3 报文示例

包含EtherCAT帧的以太网头如图4.5所示:

原创 | EtherCAT协议分析
图4.5

EtherCAT帧头如图4.6所示:

原创 | EtherCAT协议分析

图4.6

EtherCAT帧数据中其中子报文如图4.7所示:

原创 | EtherCAT协议分析

图4.7

五、寻址方式及命令类型

在EtherCAT子报文中的Address字段用于对EtherCAT设备进行寻址,寻址方式有位置寻址、节点寻址、逻辑寻址。

5.1位置寻址

位置寻址方式根据从站的物理位置来实现,在子报文头中Address字段前16bit用于存放地址值,报文每经过一个从站设备,地址值加1,当从站接收到地址值为0的报文则就是该从站需要接收的报文。

5.2节点寻址

节点寻址是通过主站在数据链路层启动阶段配置的节点地址来寻址从站。这确保了即使网段的拓扑结构改变或者设备增加/减少,从站设备也能通过相同的地址配置来寻址。

5.3逻辑寻址

首先需要了解FMMU(总线内存管理单元),存在于从站芯片ESC中,主要负责建立从站物理地址与主站逻辑地址的映射关系。逻辑寻址使用子报文头中Address字段全部空间来表示4GB的逻辑地址空间。当从站收到报文时,会检查报文中地址与FMMU中的地址是否相符,相符则根据具体命令进行读写操作。

5.4命令类型

EtherCAT可以根据寻址方式的不同对命令类型进行分类。

原创 | EtherCAT协议分析

六、总结

EtherCAT拥有多种机制,支持主站到从站、从站到从站以及主站到主站之间的通讯。它实现了安全功能,采用技术可行且经济实用的方法,使以太网技术可以向下延伸至I/O级。EtherCAT功能优越,可以完全兼容以太网,可将因特网技术嵌入到简单设备中,并最大化地利用了以太网所提供的巨大带宽,是一种实时性能优越且成本低廉的网络技术。



转载请注明来源:网络安全应急技术国家工程实验室
“投稿联系方式:010-82992251   [email protected]
原创 | EtherCAT协议分析

本文始发于微信公众号(网络安全应急技术国家工程实验室):原创 | EtherCAT协议分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月4日06:17:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   原创 | EtherCAT协议分析http://cn-sec.com/archives/470331.html

发表评论

匿名网友 填写信息