为了在Linux中搭建etherCAT运行环境,首先对标准Linux内核进行扩展,增加Xenomai实时补丁,重新编译内核,构建实时Linux操作系统。然后在新系统中安装etherCAT工具,搭建主站环境。
1.安装参考教程
- https://blog.csdn.net/Allforyouz/article/details/78713453?locationNum=10&fps=1&tdsourcetag=s_pctim_aiomsg
- https://blog.csdn.net/Allforyouz/article/details/78721760
- https://github.com/ART-robot/ethercat_install
2.etherCAT介绍
2.1 概述
EtherCAT(Ethernet for Control Automation Technology)是一种由德国倍福(Beckhoff Automation)公司发明,基于以太网的实时工业现场总线通信协议。EtherCAT 采用符合以太网标准IEEE802.3的物理层,具有以太网的传输速度快、数据包容量大、 传输距离较长等优点。
标准以太网通信每个从站都发送独立的报文与主站通信,而标准以太网报文最短长度84byte,假设一个驱动器发送4byte的目标位置和控制字信息数据,则传输效率只有4/48(4.8%)。EtherCAT协议使用一个数据帧完成所有节点控制数据的发送和接受,故而可以实现很高的实时性。
2.2 原理
 **;基本原理**为EtherCAT主站发送一个报文,报文经过所有的节点。EtherCAT从站设备高速动态的读取寻址到该节点的数据,并在数据帧继续传输的同时插入数据,到达最后一个分支后,利用以太网技术的全双工特性,将报文返回给主站。最大有效数据利用率达90%以上,有效数据利用率理论上高于100MBit/s。每帧最多可容纳1486B,可以在30μs内更新1000个数字I/O信息。16位WKC可以支持65535个设备
 **;主站**仅需要一个标准的以太网口,典型结构如下,基本功能包括ESI文件的读取解析;从站设备的管理;实现过程数据通信;支持邮箱通信,实现非周期性数据传输。
主站协议栈基本功能:
1. 根据不同的系统平台安装网卡驱动,使用网卡封装,发送接收并解析以太网数据帧.
2. 获取从站设备描述文件ESI
3. 发送数据帧与从站通信
4. 使用非周期性邮箱数据在配置阶段设置从站参数,并在从站运行状态下读写数据和处理偶然事件
5. 使用周期性过程数据完成数据的实时交换
6. 提供应用层接口
从站
则需要有专门的etherCAT从站控制器(ESC),每个从站的信息(ESI)文件为XML格式,并包含了网络访问属性的完整描述。详细信心见从站结构部分
2.3 三层架构
2.3.1 物理层
100Mb/s的标准以太网,任何带有标准以太网口的PC机都可以作为etherCAT主站运行。
2.3.2 数据链路层
数据链路层负责处理如何进行通信,主从站之间主要通过邮箱和过程数据两种方式进行通信。其中邮箱用于发送较大的数据块(参数数据),保证能够到达目的地,但不能保证实时性;过程数据则是实时的,并且只考虑到最近的数据。
数据帧结构
报文寻址方式
通信服务命令
分布时钟
状态机ESM
存储同步管理通道SM(Sync Manager):邮箱模式