工控协议解读之EtherCAT协议硬核分析 目录
写在前面 大家好,我是小智~ 20年专注工控开发19924911320:成功密码 前面我们介绍了西门子、罗克韦尔、施耐德、倍福、三菱等工业巨头的工控协议和端口: 西门子、施耐德、三菱、RA:全球主要工控协议及端口解析 也原创了很多工业协议相关的硬核**: 技术解读PROFINET、Ethernet/IP等7种主流工业以太网 最详细的工业网络通讯技术与协议总结解读(现场总线、工业以太网、工业无线) IT、OT 深度融合的当下,无论是OT侧,还是IT侧,各种协议都起到了至关重要的作用,比如前面我们前面已经解读了西门子的S7CommPlus,罗克韦尔的Ethernet/IP、施耐德的UMAS以及OPC UA等: TIAV17+S7-1200:解析最新西门子S7CommPlus协议 入门工业通讯之EtherNet/IP协议分析 硬核技术分析OPC UA—面向未来的工业通信全解析 西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅 工控巨头西门子、施耐德私有S7、UMAS协议解析与PLC密码** 今天我们工业控制协议解读之EtherCAT~ 转载自网络安全应急技术国家工程实验室 ,
作者 | 天融信 一、概述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以太网帧)由主站设备发出,途经各个从站设备,从站设备在报文经过时进行提取或插入数据。当报文到达网段内最后一个从站设备时再反方向传输,最后由第一个从站设备把收集到的信息返回到主站设备。 图2.1 过程数据插入至报文中 三、拓扑EtherCAT支持总线型、树型或星型等多种拓扑结构。通过现场总线而得名的总线结构或线型结构也可用于以太网,并且不受限于级联交换机或集线器的数量。最有效的系统连线方法是对线型、分支或树叉结构进行拓扑组合。因为所需接口在I/O 模块等很多设备中都已存在,所以无需附加交换机,还可以使用基于以太网的星型拓扑结构。EtherCAT 系统最多可容纳65535个设备,因此整个网络规模几乎是无限制的。 采用不同的传输电缆可以最大限度地发挥布线的灵活性。灵活而价格低廉的标准以太网插接电缆可通过以太网模式(100baseTX)或通过E总线来传输信号。光纤(PFO)可以用于特殊的应用场合。以太网带宽(如不同的光缆及铜缆)可以结合交换机或媒介转换器使用。快速以太网的物理特性可以使设备之间的距离达到100米,而E-bus只能保障10米的间距。快速以太网或 E-bus可以按照距离要求进行选择。 图3.1 灵活的拓扑结构 四、协议格式介绍4.1 EtherCAT 以太网 EtherCAT数据可以使用标准的IEEE 802.3以太网数据帧传输,格式如图4.1所示,由以太网头、EtherCAT帧和FCS(帧校验)组成。 图4.1 4.1.1以太网帧头 Dest Mac和Src Mac分别表示接收方MAC地址、发送方MAC地址,VLAN Tag为可选字段,可以省略,值为IEEE 802.1规定的 0x81,0x00和2字节标签控制信息.Ether Type值为0x88A4,表示EtherCAT协议。 4.1.2EtherCAT帧 EtherCAT帧格式如图4.2所示,分为头和数据两个部分。 图4.2 EtherCAT头: Length字段值为EtherCAT数据的长度,Res为保留位,Type值的不同后续EtherCAT数据格式也不相同,值可以取: 0x0001:EtherCAT DLPDU 0x0004:network变量 0x0005:邮箱 EtherCAT数据(主要介绍EtherCAT DLPDU): EtherCAT数据如图4.3所示,由多个子报文组成,每个子报文由子报文头、数据和WKC构成。 图4.3 子报文头: 数据: 数据的类型根据Cmd和Address这个字段确定。Address前16bit代表从站地址,后16bit代表寄存器地址,当Cmd为逻辑寻址类型时,Address整个32bit代表逻辑地址。寄存器地址大于0x1000,考虑是否为邮箱数据,邮箱数据在从站中的地址为SM0-SM1,SM0起始位置为0x1000 ,SM2-SM3属于FMMU(总线内存管理单元),只能逻辑地址访问。 file:///C:\Users\86131\AppData\Local\Temp\ksohtml\wpsE9C5.tmp.png 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协议适用于实时性要求不是很严格的场合。 图4.4 4.3 报文示例 包含EtherCAT帧的以太网头如图4.5所示: 图4.5 EtherCAT帧头如图4.6所示: 图4.6 EtherCAT帧数据中其中子报文如图4.7所示: 图4.7 五、寻址方式及命令类型在EtherCAT子报文中的Address字段用于对EtherCAT设备进行寻址,寻址方式有位置寻址、节点寻址、逻辑寻址。 5.1位置寻址位置寻址方式根据从站的物理位置来实现,在子报文头中Address字段前16bit用于存放地址值,报文每经过一个从站设备,地址值加1,当从站接收到地址值为0的报文则就是该从站需要接收的报文。 5.2节点寻址节点寻址是通过主站在数据链路层启动阶段配置的节点地址来寻址从站。这确保了即使网段的拓扑结构改变或者设备增加/减少,从站设备也能通过相同的地址配置来寻址。 5.3逻辑寻址首先需要了解FMMU(总线内存管理单元),存在于从站芯片ESC中,主要负责建立从站物理地址与主站逻辑地址的映射关系。逻辑寻址使用子报文头中Address字段全部空间来表示4GB的逻辑地址空间。当从站收到报文时,会检查报文中地址与FMMU中的地址是否相符,相符则根据具体命令进行读写操作。 5.4命令类型EtherCAT可以根据寻址方式的不同对命令类型进行分类。 六、总结EtherCAT拥有多种机制,支持主站到从站、从站到从站以及主站到主站之间的通讯。它实现了安全功能,采用技术可行且经济实用的方法,使以太网技术可以向下延伸至I/O级。EtherCAT功能优越,可以完全兼容以太网,可将因特网技术嵌入到简单设备中,并最大化地利用了以太网所提供的巨大带宽,是一种实时性能优越且成本低廉的网络技术。 硬核专辑 ERP/PLM/MES/SCADA/PLC/工业软件研究报告 信息化、数字化、智能制造、工业互联网解决方案 自动化、信息化、数字化、工业网络、仿真与虚拟调试入门 WinCC技术 | 工业网络 | MES技术相关| 工业巨头战略布局 | 工业通讯案例 仿真与虚拟调试 | 职业感悟、认知提升 | 自动化控制标准合集 工业数据采集(MES\SCADA\PLC\IOT\传感器..)产业研究报告 2021-08-24 详细解读全球工业数字孪生主流玩家、技术体系与产业布局 2021-08-19 西门子、达索、PTC、中望:全球CAD核心玩家产品力对比分析 2021-08-16 工业软件深度报告之生产管控篇(MES+SCADA+DCS+PLC) 2021-08-15 MES与ERP主流接口方式与主要交互数据项 2021-08-13 XX汽车焊装智能工厂控制系统与信息系统(PLC+SCADA+MES)规划设计 2021-08-10 全球CAE市场:西门子、达索、ANSYS...,国产工业软件“无人区” 2021-08-09 工控系统行业报告:PLC/DCS/SCADA市场的中国机遇 2021-08-08
|