您现在的位置是:首页 >技术教程 >Ethercat概念学习网站首页技术教程
Ethercat概念学习
Ethercat技术调研
背景
最近我们要基于Ethercat技术进行开发,首先需要了解其基本原理,github上看到了有相关实现,一起来看看吧。
Ethercat技术
速度更快
传输速率:2*100 Mbaud 全双工
高速性、高实时性 微秒级
像火车一样有帧头、帧尾,子报文长度可变,通过车厢号,座位号找到数据
运行原理:飞速传输的以太网协议
EtherCAT 主站发送一个报文,报文顺序经过所有节点。EtherCAT 从站设备高速动态地(on the fly)读取寻址到该节点的数据,并在数据帧继续传输的同时插入数据。这样,数据帧的传输延时只取决于硬件传输延时。当某一网段或分支上的最后一个节点检测到开放端口(无下一个从站)时,利用以太网技术的全双工特性,将报文返回给主站。
简单来说,帧在走的时候是不停的,经过从站交换(提取插入)数据。下图说的每一个循环中帧的报文数据构成可以不同,比如说轴数据,每一个帧都携带这样的报文,那么循环时间是非常短的。
报文结构
不同类型的子报文,逻辑化分类好的数据,从站中处理,CRC校验诊断
性能高
实时性高
Ethecat 是工业以太网
(1)基于TCP/IP实现的工业以太网仍使用TCP/IP协议栈,通过上层合理的控制来解决通信过程中的不确定因素。这种方式具有较高的传输速率,适应于大量数据通信,更适合作为网关和交换设备的应用,不能实现很好的实时性。常用的通信控制方法有:合理调度,减少冲突的概率;定义帧数据的优先级,为实时数据分配最高优先级;使用交换式以太网等。使用这种方式的典型协议有Modbus/TCP和Ethernet/IP等。
(2)基于以太网实现的工业以太网仍然使用标准的、未修改的以太网通信硬件,但是不适用TCP/IP来传输数据。它使用特定的报文进行传输。TCP/IP协议栈能使用时间控制层分发一定的时间片来利用网络资源。该类协议主要有Ethernet Powerlink, EPA C Ethernet for Plant Automation ), PROFINET IRT等。通过这种方式可以实现较好的实时性。
(3)通过修改以太网协议实现的工业以太网,实现应答时间小于lms的硬实时,从站使用特定的硬件实现。由实时MAC控制实时通道内的通信,从根本上避免报文间的冲突。非实时数据依然能在通道中按原协议通信。典型协议有德国倍福的EtherCAT、西门子的PROFINET IRT等。
使用标准帧IEEE 802.3’
可替换为UDP/IP
拓扑灵活性
数据帧结构
数据头中,包含11位的EtherCAT数据长度,1位保留位和4位类型。
数据域由许多个子报文组成。每个子报文由19字节子报文头,最多1486字节的数据和2字节WKC组成。WKC称为工作计数器,初始值为0,每次子报文被从站操作后,WKC增加1位,当报文返回主站时,主站将比较返回报文的WKC值和预期WKC值,来确定报文是否被正确处理。
PDO对象
将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。
COE对象字典(OD):可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。主站和从站都需要有对象字典,其目的个人理解为方便主站和从站进行信息交换。
RxPDO:主站主动传输RxPDO数据给从站。
TxPDO:从站主动传输TxPDO数据给主站。
参考博客
https://zhuanlan.zhihu.com/p/594760527
https://blog.csdn.net/qq_46211259/article/details/127232886