工控协议解读之EtherCAT协议硬核分析
写在前面(文中超链接仅在微信公众号智能制造之家有效)
大家好,我是小智,智能制造之家号主
前面我们介绍了西门子、罗克韦尔、施耐德、倍福、三菱等工业巨头的工控协议和端口:
西门子、施耐德、三菱、RA:全球主要工控协议及端口解析
也原创了很多工业协议相关的硬核文章:
技术解读PROFINET、EthernetIP等7种主流工业以太网
最详细的工业网络通讯技术与协议总结解读(现场总线、工业以太网、工业无线)
IT、OT深度融合的当下,无论是OT侧,还是IT侧,各种协议都起到了至关重要的作用,比如前面我们前面已经解读了西门子的S7CommPlus,罗克韦尔的EthernetIP、施耐德的UMAS以及OPCUA等:
TIAV17S71200:解析最新西门子S7CommPlus协议
入门工业通讯之EtherNetIP协议分析
硬核技术分析OPCUA面向未来的工业通信全解析
西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅
工控巨头西门子、施耐德私有S7、UMAS协议解析与PLC密码破解
今天我们工业控制协议解读之EtherCAT
转载自网络安全应急技术国家工程实验室,
作者天融信
一、概述
EtherCAT(EthernetforControlAutomationTechnology)是一种基于以太网的开发构架的实时工业现场总线通讯协议,最初由德国倍福自动化有限公司(BeckhoffAutomationGmbH)研发。它于2003年被引入市场,于2007年成为国际标准,并于2014年成为中国国家标准。EtherCAT的出现为系统的实时性能和拓扑的灵活性树立了新的标准。
EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议(SIL3)。
二、原理
EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据,将其解码,之后再将过程数据复制到各个设备。EtherCAT是一种实时以太网技术,由一个主站设备和多个从站设备构成。主站可以使用标准网卡实现,从站选用特定的EtherCAT从站控制器ESC(EtherCATSlaveController)或者FPGA实现。EtherCAT报文(标准的ISOIEC88023以太网帧)由主站设备发出,途经各个从站设备,从站设备在报文经过时进行提取或插入数据。当报文到达网段内最后一个从站设备时再反方向传输,最后由第一个从站设备把收集到的信息返回到主站设备。
图2。1过程数据插入至报文中
三、拓扑
EtherCAT支持总线型、树型或星型等多种拓扑结构。通过现场总线而得名的总线结构或线型结构也可用于以太网,并且不受限于级联交换机或集线器的数量。最有效的系统连线方法是对线型、分支或树叉结构进行拓扑组合。因为所需接口在IO模块等很多设备中都已存在,所以无需附加交换机,还可以使用基于以太网的星型拓扑结构。EtherCAT系统最多可容纳65535个设备,因此整个网络规模几乎是无限制的。
采用不同的传输电缆可以最大限度地发挥布线的灵活性。灵活而价格低廉的标准以太网插接电缆可通过以太网模式(100baseTX)或通过E总线来传输信号。光纤(PFO)可以用于特殊的应用场合。以太网带宽(如不同的光缆及铜缆)可以结合交换机或媒介转换器使用。快速以太网的物理特性可以使设备之间的距离达到100米,而Ebus只能保障10米的间距。快速以太网或Ebus可以按照距离要求进行选择。
图3。1灵活的拓扑结构
四、协议格式介绍
4。1EtherCAT以太网
EtherCAT数据可以使用标准的IEEE802。3以太网数据帧传输,格式如图4。1所示,由以太网头、EtherCAT帧和FCS(帧校验)组成。
图4。1
4。1。1以太网帧头
DestMac和SrcMac分别表示接收方MAC地址、发送方MAC地址,VLANTag为可选字段,可以省略,值为IEEE802。1规定的0x81,0x00和2字节标签控制信息。EtherType值为0x88A4,表示EtherCAT协议。
4。1。2EtherCAT帧
EtherCAT帧格式如图4。2所示,分为头和数据两个部分。
图4。2
EtherCAT头:
Length字段值为EtherCAT数据的长度,Res为保留位,Type值的不同后续EtherCAT数据格式也不相同,值可以取:
0x0001:EtherCATDLPDU
0x0004:network变量
0x0005:邮箱
EtherCAT数据(主要介绍EtherCATDLPDU):
EtherCAT数据如图4。3所示,由多个子报文组成,每个子报文由子报文头、数据和WKC构成。
图4。3
子报文头:
数据:
数据的类型根据Cmd和Address这个字段确定。Address前16bit代表从站地址,后16bit代表寄存器地址,当Cmd为逻辑寻址类型时,Address整个32bit代表逻辑地址。寄存器地址大于0x1000,考虑是否为邮箱数据,邮箱数据在从站中的地址为SM0SM1,SM0起始位置为0x1000,SM2SM3属于FMMU(总线内存管理单元),只能逻辑地址访问。
WKC:
WKC(工作计数器)初始值由主站设置为0,当子报文经过从站时会对WKC进行增加,增加的数值根据Cmd的不同有所区别。当数据帧返回主站后,主站设备会根据WKC的值来判断报文是否被正确处理。
4。1。3FCS
接收方可以用FCS值来判断数据是否完整。
4。2EtherCATUDP
在4。1介绍了EtherCAT利用以太网帧传输的报文格式,EtherCAT协议还可以作为UDPIP数据报传输,如图4。4所示,二者报文格式的区别主要为增加了IP头和UDP头,EtherCATUDP协议适用于实时性要求不是很严格的场合。
图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拥有多种机制,支持主站到从站、从站到从站以及主站到主站之间的通讯。它实现了安全功能,采用技术可行且经济实用的方法,使以太网技术可以向下延伸至IO级。EtherCAT功能优越,可以完全兼容以太网,可将因特网技术嵌入到简单设备中,并最大化地利用了以太网所提供的巨大带宽,是一种实时性能优越且成本低廉的网络技术。
新能源,有矿就有话语权大家晚上好,我是老牛。今天是周末,和大家聊一下咱家的矿锂矿!大家知道,这两年的新能源车的普及速度真是惊人!10月新能源汽车市场渗透率已达到16。4。正如BYD……
设立品控标准,规范万物可直播据澎湃新闻网报道,针对直播电商如何选品,浙江省日前发布《直播电子商务选品和品控管理规范》团体标准。该标准对直播带货的选品、品控方面作出新的要求和规范,其中要求直播相关机构应当配……
双卡和TF卡都要用!二合一SIM卡横空出世,能打电话也能加存想要了解更多热门资讯、玩机技巧、数码评测、科普深扒,可以点击右上角关注我们的头条号:雷科技手机内部的空间一直都是寸土寸金,不少支持双卡双待的手机没法再容纳下第三个卡位,只……
比特币如何获得?最常见的比特币获取方式有哪些?近一个星期来比特币却赚足了风头,经历过跳水后也在缓慢反弹。欧易OKEx平台的数据显示,5月12日,比特币价格达到57000美元枚。我们很容易就能看出,比特币在60000美元以下……
新加坡工程院院士葛树志智造业突破要多学科融合,而不是单打独斗未来的工具是数学及运算的大脑层面的东西。21世纪经济报道记者陶力东莞报道10月12日,在由东莞市人民政府、南方财经全媒体集团指导,21世纪经济报道和东莞市工业和信息化局联……
瞄准知识产权服务新赛道法智金获逾亿元天使融资随着数字经济蓬勃,越来越多企业家与个人富豪对知识产权服务的投资兴趣日益增加。记者独家获悉,围绕知识产权服务开展技术创新的公司法智金集团获得逾亿元天使轮融资,投资方主要是多……
小米年轻人的第二台洗衣机9月27日发布IT之家9月24日消息小米宣布,将于9月27日发布一款洗衣机产品,号称年轻人的第二台洗衣机。从官方宣传语来看,该洗衣机可清洗贴身衣物(内衣)等。动动手指就可以,TA……
马爸爸到马打打你们怎么看给大家提个问,以前的杰克马和现在的马云到底有什么区别!!!我的回答是没区别,唯一的区别是别人对他的态度。但说实话这只是大部分人的跟风心态。墙倒众人推,破鼓众人捶而已。……
连发布会都没开的诺基亚X71,其实被小看了没有铺天盖地的宣传造势,没有频繁地预热炒作,连一场发布会都没有,诺基亚X71就这么被直接放在官网上市了。任性的不止是上市方式,还有命名。HMD现在对于手机产品线的命名方式……
现在做今日头条,还晚吗?不晚呀,我是去年2月14号申请的账号,到今天刚566天,总收益43821元,昨日收益336元,涨粉233个。做今日头条,就像是找对象。20岁出头的时候,总想再看看,找个更……
为啥欠钱的,老赖都不用微信,QQ?你上过外网嘛?如果没翻过墙,和你说什么你都不会信,有机会去外网看看,很多问题就不会再问了,自己就知道答案了欠钱的人他就是怕别人骚扰,怕别人找到他,他自己就是把所有的通讯都……
使用Nginx构建前端日志统计服务(打点采集)服务工作中经常会遇到需要数据支撑决策的时候,那么可曾想过这些数据从何而来呢?如果业务涉及Web服务,那么这些数据的来源之一便是服务器上各种服务器的请求数据,如果我们将专门用于统计的……