目录
1 实时以太网
1.1 什么是工业以太网
1.2 实时工业以太网通讯模型
1.3 传统以太网用于现场总线存在的问题
1.3.1 带宽利用率问题
1.3.2 堆栈延时问题
1.3.3 交换机延时问题
2 认识EtherCAT
3 EtherCAT通讯运行原理
3.1 EtherCAT数据交互方式”On The Fly”
3.2 分布时钟(DC)
3.3 拓扑结构
3.4 EtherCAT主站
3.5 EtherCAT从站
4 EtherCAT通讯协议
4.1 常用的应用层协议规范
4.2 EtherCAT数据帧
4.2.1 协议堆栈
4.2.2 数据帧构成
4.2.3 工作计数器(WKC)
4.2.4 遍历数据帧
4.2.5 数据收发端口
正文
与传统技术的现场总线相比,以太网现场总线具有以下优点:
-
传输速度快,数据包容量大,传输距离长。
-
使用通用以太网元器件,性价比高。
-
EtherCAT即Ethernet control Automation technology。
-
EtherCAT是一种超高速以太网现场总线,使用标准的以太网物理层,改变原来的CSMA/CD(载波侦听多路访问/冲突检测)链路层。
-
传输速率是100Mbit/s(100base-TX),传输媒介超5类屏蔽网线或光纤。
-
主站实现只需一张普通网卡,从站需要专用的从站控制芯片。
-
德国beckhoff公司开发,由ETG(EtherCAT Technology Group)协会推广。
-
2003年被引入市场,并于2007年成为国际标准。
-
PC系统无法提供精确的时钟,在ESC芯片中提供硬件时钟。
-
精确的时钟校准系统,主时钟不是放在主站上,可以放在任意一个从站上,每一个从站都有精确的时钟,定义其中一个从站时钟做为主时钟,所有其他从站时钟来和主时钟做校准。
-
精准同步 (<< 1μs)可通过分布时钟的精确校准实现。
-
通讯控制器:完成以太网数据链路的介质访问控制(MAC)功能。
-
MII:标准以太网接口,定义了与传输介质无关的标准电气和机械接口,将以太网数据链路层和物理层隔离,方便以太网选用任何传输介质。
-
物理层芯片PHY:实现编码、译码和收发。
-
隔离变压器:实现信号隔离,提高通讯可靠性。
-
通讯电缆:100Base-TX规范的5类UTP线缆。
EtherCAT主站依靠纯软件实现,不需要任何专用硬件,通常由EtherCAT配置工具和主站驱动组成:
-
配置工具解析设备描述文件,生成网络初始化命令和周期性通讯数据帧格式。
-
主站驱动在线运行,可以在线操作从站设备。
-
从站微处理器:实现应用层和用户自定义的程序。
-
EtherCAT从站控制器(ESC):实现EtherCAT协议栈。
-
物理层器件:以太网的PHY芯片和网口。
-
ESC为专用集成芯片,集成数据帧转发处理单元,每个ESC最多集成4个数据收发端口。
-
最大64KB的DPRAM存储空间,由同步管理器通道管理DPRAM,保证了应用数据的实时性。
-
具有FMMU逻辑地址映射功能,提高数据帧利用率。
-
集成分布时钟(DC)功能,为微处理器提供高精度的中断信号。
-
应用层AL:最高的控制功能层,直接面向具体的控制对象。
-
数据链路层DL:最基本的功能就是通过该层的协议使相邻两个节点之间进行可靠的数据传输。
-
物理层PL:为网络信号的传输提供了物理接口。
-
CANopen设备和应用行规广泛用于多种设备类别和应用,如I/O组件、驱动、编码器、比例阀、液压控制器,以及用于塑料或纺织行业的应用行规等。
-
EtherCAT可以提供与CANopen机制相同的通讯机制,包括对象字典、PDO(过程数据对象)、SDO(服务数据对象),甚至是网络管理。
-
SERCOS interface™ 是全球公认的、用于高性能实时运行系统的通讯接口,尤其适用于运动控制的应用场合。
-
在EtherCAT网段内实现任何以太网数据的传输。
-
交换机端口可用于连接以太网设备。
-
以太网数据帧通过嵌入到EtherCAT协议中进行传输。
-
类似于TFTP的简单协议。
-
可通过网络访问设备中的文件。
-
将统一的固件跨网络上传到设备。
-
EtherCAT的数据帧结构采用的是标准的以太网帧结构,其中帧头为标准的以太网帧头,只是帧类型固定为0x88A4。
-
数据包由EtherCAT头和EtherCAT数据组成,若干个子报文组成EtherCAT数据区。
-
子报文又由子报文头、数据域及工作计数器组成。
-
子报文头标记该子报文应传输到那一个从站,并且要对该子报文进行读或者写操作。子报文的数据区可以是从站ESC寄存器的数据,也可以是邮箱报文或是过程数据。
-
在主从站通信的过程中,16位的工作计数器(WKC)的值为从站读写操作计数。主站发起周期控制的时候,预先给定WKC一个值,当数据帧遍历完整个设备的时候,通过对比返回的WKC值,可以验证数据报文是否被各从站节点正确处理。
-
当子报文被发送时,WKC的值为 0。
-
经过从站时,根据操作类型和操作结果的不同,WKC的值会有一个相应的增量(上图为LRW操作类型)。
-
当子报文返回到主站之后,主站根据子报文中的工作计数器的值和工作计数器的预期值是否相等来判断子报文是否被有效处理。
-
主站发起系统的控制周期。
-
主站发下行报文,数据帧遍历所有从站设备,每个从设备在数据帧经过时分析寻址到的本机报文,根据报文头命令读取或写入数据到报文中指定位置。
-
从站硬件把该报文的工作计数器WKC加相应的计数表示该数据被处理,大概10ns的时间延迟。
-
访问最后一个从站时,将处理的数据帧作为上行报文直接发送给主站,主站收到后处理返回数据,记为一次通讯结束。
-
输入类型数据为插入EtherCAT子报文数据区;输出类型数据为从EtherCAT子报文数据区抽出。
-
实时性:通讯周期最小11us,同步性能小于1us。
-
现场走线方便:支持任意的拓扑结构,与传统脉冲驱动的伺服相比,大大节省走线布局。
-
成本优势:无需多余的交换机,设备维护简单,具备提供主站和从站整体方案。
-
安全性:加强版本Safety over EtherCAT,可以在同一个网络上进行安全相关的通讯和一般的控制通讯。
-
开放性:不同厂家的设备之间能协调地工作,实现应用的可移植性和互操作性。
-
一致性:向用户提供一个一致性的服务接口。
-
需要特定的从站硬件。
-
相对于低速总线,价格还是偏贵。
-
同一周期不具备重发。