EtherCAT 协议概述
EtherCAT名称中的CAT为Control AutomationTechnology(控制自动化技术)首字母的缩写。
每个从站设备都具有可编址的内存,其容量Zui大可为64KB,能够对其进行连续的或同步的读写操作。可以把多个EtherCAT命令数据嵌入到同一个以太网数据帧中,每个数据对应不同的设备或内存区。
01EtherCAT系统组成
全双工传输特性。使用主从模式进行访问控制,主站把数据帧发送给各个从站,每个从站从数据帧中读取自己的数据或把需要输入的数据插入数据帧中,将该报文传输到下一个EtherCAT从站。Zui后一个EtherCAT从站发回经过完全处理的报文,并由第一个从站作为响应报文将其发送给控制单元。
EtherCAT通信是由主站发起的,主站发出的数据帧传输到一个从站站点时,从站将解析数据帧,每个从站从对应报文中读取输出数据,并将输入数据嵌入到子报文中,修改工作计数器WKC的值,以标识从站己处理该报文。网段末端的从站处理完报文后,将报文转发回主站(Zui后一个工业现场设备的EtherCAT从站并且完成相应的操作的时候,在将这个以太网数据报文按原来的路线发送回去,Zui后由工业现场里第一个EtherCAT从站设备将这个被所有从站设备操作过的网络数据报文作为响应报文发送给自动化控制系统的主站),主站捕获返回的报文并对其进行处理,完成一次通讯过程。一个通讯周期过程中,报文传输延时大概为几个纳秒,克服了传统以太网先对数据包进行解析,再复制成过程数据而造成通讯效率低的缺陷。
ETherCAT主站运行条件
EtherCAT主站运行需具备以下几个基本功能:
(1)读取从站设备描述XML文件并对其进行解析,获取其中配置参数
(2)捕获和发送EtherCAT数据帧,完成EtherCAT子报文解析、打包等
(3)管理从站设备状态,运行状态机,完成主从站状态机设置和维护
(4)可进行非周期性数据通信,完成系统参数配置,处理通讯过程中突发事件
(5)实现周期性过程数据通信,实现数据实时交换,实时监控从站状态,从站反馈信号实时处理等功能
EtherCAT从站的组成
从站采用专用的从站协议控制器(EtherCAT Slave Controller ,简称ESC,常用的ESC芯片如lan9252)处理网络通信数据。网络数据的处理都在从站协议控制器内部有硬件完成,过程数据接口为从站应用层提供了一个双端口随机存储器(Dual-Port-RAM, DPRAM)来实现数据交换。EtherCAT从站提供网络数据通信和控制任务功能。
EtherCAT Slave Controller(ESC)传输过程:
每个ESC都有四个数据收发端口,并且均可以接收发送以太网帧。
如果ESC的四个端口都有外部链接,数据帧的内部传输顺序固定为端口0—>端口3 —>端口1 —>端口2—>端口0,如果某个端口没有外部链接,则此端口关闭,数据帧会自动跳过此端口传输到下一个未关闭的端口。正是由于ESC这种四端口的收发机制,使得其可以 构成多种物理拓扑结构,如树型、线型和星型结构等。
EtherCAT数据帧结构
EtherCAT数据使用类型为0x88A4 的以太网数据帧进行传输。EtherCAT数据由数据头(2个字节)和的数据区(44~1498 字节)组成。
数据帧结构说明:
1. 目标地址:接收方MAC地址
2. 源地址:发送方MAC地址
3. 帧类型:0x88A4,EtherCAT数据使用类型为0x88A4的以太网数据帧进行传输。
4. EtherCAT帧头:EtherCAT帧头为11bit数据长度;1bit 保留;4bit类型,等于1时表示EtherCAT数据处于ESC通信中,其余保留。
EtherCAT帧头 | |||
---|---|---|---|
位数 | 11bits | 1bit | 4bits |
意义 | EtherCAT数据长度 | 保留 | 类型 |
说明 | 即所有子报文长度总和 |
5. EtherCAT数据:数据区包含一个或多个EtherCAT 子报文,每一个子报文对应一个独立的从站设备。
1)EtherCAT子报文:
EtherCAT 数据区由不定数目的子报文组成,所有子报文对应操作单独的从站站点。
子报文数据段可根据需求嵌入 CoE、SoE、FSoE等协议数据格式。
EtherCAT 子报文由子报文头、数据域和工作计数器组成。
2)子报文数据帧格式:
3)命令码说明:
6. FCS:帧校验