EtherCAT从会到不会——概述(1)
本来还想着起什么名字,但是对比起内容,名字什么的一点都不重要。
最近我又想起要写点什么东西防止最后什么都不剩下。那就从EtherCAT开始吧!
什么是EtherCAT
老生常谈了
EtherCAT,全称Ethernet for Control Automation Technology
OK,那它是一种基于以太网的自动化控制的技术。他老爸是德国倍福(Beckhoff)公司。
它是一种实时以太网总线,主要用于工业现场设备的控制,如IO、传感器、变频器、伺服等。
问题: 那他跟标准的以太网有什么区别吗?
回答:那当然有区别啦(高傲脸)。有区别,但是它完全兼容标准的以太网(IEEE 802.3以太网标准)
特点
- 速度快,超过100M/s。
- 传输数据量大,最大1498 byte。
- 传输距离长,设备之间最大长度为100m。
- 拓扑方式多样,线型、星型、树型、菊花链。
- 更新周期小,小于1ms。(市面上常见最小同步周期为125us)
- 同步性能好,小于1us。
- 连接设备数量多,最多65535。
系统架构及工作原理
系统架构:EtherCAT系统由一个主站和多个从站组成。
工作原理:主站将所有给从站的数据打包,并放进一个封包中。该封包会按照连接顺序依次通过所有的从站,各从站会处理所经过的封包,最后再返回主站。这样就完成了一次通讯数据的交换,而每一个周期都会完成一次这样的通讯。

速度快:On the Fly(飞速传输)
通过On the Fly(飞速传输)技术,有效得提高带宽的利用率。
- 主站把所有从站需要通讯的数据全部打包成一个封包,然后再发出。所以封包的效率达到90%以上。
- 使用专用ESC(EtherCAT Slave Controller)硬件实现数据交换(纳秒级),带来超低的通讯延时。
我们经常会用列车来形容这种通讯方式。每一个EtherCAT封包可以看作一个“车厢”,每个数据看作为"乘客",列车按照一定的顺序行驶过各个“站台”(即从站)。当列车到站时,“乘客”就会自动上下“车厢”。列车经过了所有“站台”后就会返回“起始站”(即主站),此时就完成了一次数据通讯。
同步好:Distributed Clocks(分布式时钟)
所谓的分布式时钟(DC)就是总线上找到一个参考时钟,然后测试出所有主从站直接的通讯延时,以保证系统的同步性。

根据ETG(EtherCAT技术协会)的资料,在间隔300个节点的两个带分布式时钟的设备上,同时性约15ns。

EtherCAT总线的实现

如图所示,EtherCAT总线主要实现了物理层、数据链路层、应用层三层。
接下来,解释一下。
物理层:实现总线所需要的通讯硬件,如RJ45接口、Trafo(隔离变压器)、PHY(以太网芯片)等。
数据链路层:定义了总线直接的设备如何通讯以及数据处理。即主站与从站ESC芯片通讯完成数据的交换。
应用层:即可以用EtherCAT总线干什么事情。到这一层就是我们会听到的一些名词了。如:COE、SOE、EOE、FOE、AOE等。
应用协议介绍
COE:CANopen Over EtherCAT。
顾名思义,CANopen协议在EtherCAT上的实现。如最常听到的SDO、PDO其实都是CANopen的概念,也就是对各类从站主要的数据交互均需要依赖该应用协议来完成,所以说COE是EtherCAT上最重要的应用协议。
- CANopen是基于CAN通讯的一个通讯协议,其最基本的就是CIA 301标准。控制驱动器的标准是CIA 402。
SOE:Servo Drive Over EtherCAT
SERCOS(IEC 61800-7-204标准)在EtherCAT上的实现。SERCOS是一种实时通讯的协议,主要用于运动控制。
EOE:Ethernet Over EtherCAT
标准以太网在EtherCAT上的实现。使用 EoE 协议,可以在EtherCAT上实现以太网数据的传输,即以太网数据帧通过EtherCAT数据封包进行传输。

FOE:File access over EtherCAT
FoE 是允许在EtherCAT网络中传输文件的简易通讯协议。可以使用该协议向从站设备上传或者下载文件。
AOE:ADS over EtherCAT
ADS over EtherCAT (AoE)是由EtherCAT规范定义的客户端-服务器邮箱协议,是对EtherCAT访问非周期性数据的一种补充。例如,可以使用ADS协议将各类网关(CANopen、IOLink、Profibus等)整合进EtherCAT网络中,使得其他设备也可以访问EtherCAT设备的数据。

参考链接: