工业以太网之EtherCAT简介

概述

EtherCAT(Ethernet for Control Automation Technology,以太网控制自动化技术)是一种高性能、实时的工业以太网通信协议,由德国倍福自动化公司(Beckhoff Automation)于2003年推出。

EtherCAT协会官网:https://www.ethercat.org/cn/technology.html

项目 信息
推出时间 2003年
开发商 德国倍福自动化(Beckhoff)
国际标准 IEC 61158(2007年)
协议类型 实时工业现场总线
以太网类型 IEEE 802.3

一句话概括:EtherCAT“以太网的皮,现场总线的芯”

technology_versatilenetwork.gif

典型应用领域:

  • 运动控制,多轴同步
  • 机器视觉,高速采集
  • 过程控制,分布式I/O
  • 机器人,协作机器人

EtherCAT 技术特征

设计理念

EtherCAT的核心创新在于 “飞读飞写”(Processing on the Fly) 机制:

主站发送数据帧 → 从站1读取/写入 → 从站2读取/写入 → ... → 从站N读取/写入 → 返回主站
                    ↓              ↓                    ↓
                 不存储转发      不存储转发            不存储转发

EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时读取相应的编址数据,同样,输入数据也是在报文经过时插入至报文中。整个过程中,报文只有几纳秒的时间延迟。由于发送和接收的以太网帧压缩了大量的设备数据,所以有效数据率可达90%以上。

technology_processimage.gif

关键特点:

  • 从站不需要存储转发整个数据帧
  • 数据帧在传输过程中被实时处理
  • 单个数据帧可服务多个从站
  • 极大降低通信延迟,提高带宽利用率

性能

EtherCAT借助于从站硬件集成和网络控制器主站的直接内存存取,整个协议的处理过程都在硬件中得以实现,因此,完全独立于协议堆栈的实时运行系统、CPU 性能或软件实现方式。1000个I/O的更新时间只需30 µs,其中还包括I/O周期时间。单个以太网帧最多可进行1486字节的过程数据交换,几乎相当于12000个数字输入和输出,而传送这些数据耗时仅为300 µs。对于复杂的运动控制,与100个伺服轴的通讯也只需100微秒。这种高速性能使得总线系统不再是控制回路的瓶颈。

technology_performance.gif

数据帧结构

EtherCAT数据帧基于标准以太网帧封装:

┌─────────────────────────────────────────────────────────────┐
│                    以太网帧头 (14 Bytes)                     │
│  目的MAC(6B) + 源MAC(6B) + 帧类型0x88A4(2B)                  │
├─────────────────────────────────────────────────────────────┤
│                    EtherCAT头 (2 Bytes)                      │
│  Length(2B) + Type(2B)                                       │
├─────────────────────────────────────────────────────────────┤
│                   EtherCAT数据区 (44~1948 Bytes)             │
│  由多个子报文(Sub-telegram)组成                              │
├─────────────────────────────────────────────────────────────┤
│                    帧校验序列 FCS (4 Bytes)                  │
└─────────────────────────────────────────────────────────────┘

帧类型说明:

Type值 含义
0x0001 EtherCAT DLPDU(数据链路协议数据单元)
0x0004 Network Variable
0x0005 邮箱(Mailbox)

technology_standardframes.gif

EtherCAT是用于过程数据的优化协议,凭借特殊的以太网类型,它可以在以太网帧内直接传送。EtherCAT帧可包括几个EtherCAT报文,每个报文都服务于一块逻辑过程映像区的特定内存区域。数据顺序不依赖于网络中以太网端子的物理顺序,可任意编址。从站之间的广播、多播和通讯均得以实现。EtherCAT不仅限于单个子网的应用。EtherCAT UDP将EtherCAT协议封装为UDP/IP数据报文,这就意味着,任何以太网协议堆栈的控制均可编址到EtherCAT系统之中,甚至通讯还可以通过路由器跨接到其它子网中。

网络拓扑结构

EtherCAT几乎支持任何拓扑类型,包括线型、树型、星型、环型拓扑(带冗余)等,具有极高的灵活性。

technology_topology.gif

拓扑优势:

  • 无需交换机(从站自带2个以太网口),不受限于级联交换机或集线器的数量
  • 支持线缆冗余(环型拓扑),当设备或电缆发生故障时,仅需一个周期即可完成切换
  • 最大支持65535个从站,网络的容量几乎没有限制
  • 网络距离可达100米(标准以太网线)

环形拓扑:
technology_redundancy.gif

高精度同步(分布式时钟)

对于需要精确协同动作的应用,如多轴同步控制,EtherCAT的分布式时钟(Distributed Clock)机制至关重要。采用EtherCAT,数据交换就完全基于纯硬件机制。由于通讯采用了逻辑环结构 (借助于全双工快速以太网的物理层),主站时钟可以简单、精确地确定各个从站时钟传播的延迟偏移,反之亦然。分布时钟均基于该值进行调整,这意味着可以在网络范围内使用非常精确的、小于 1 微秒的、确定性的同步误差时间基。这不仅保证了伺服轴的精确同步,还可以为数据采集打上精确的时间戳,提升如速度计算等任务的精度。

协议支持(设备行规)

EtherCAT应用层通过多种协议(行规)来支持不同类型的通信需求,确保了设备的互操作性和易用性。

EtherCAT_Technology_09_CommunicationProfiles.jpg

协议/行规 功能描述 典型应用
CoE (CANopen over EtherCAT) 将CANopen设备行规应用于EtherCAT。使用SDO进行非周期性的参数配置,使用PDO进行周期性的实时过程数据交换。 通用从站设备,如I/O模块、驱动器参数配置与实时控制
SoE (SERCOS over EtherCAT) 实现SERCOS驱动行规,广泛应用于伺服驱动技术。 伺服驱动器
FoE (File over EtherCAT) 通过EtherCAT进行固件升级。 设备远程固件更新、文件传输
EoE (Ethernet over EtherCAT) 将EtherCAT网络透明传输标准以太网数据。 连接非实时以太网设备,如摄像头、维护终端
AoE (ADS over EtherCAT) 允许从站设备像本地设备一样通过ADS访问主站或其它从站的变量。 设备间点对点通讯、复杂系统集成

开源实现

IgH EtherCAT 是一个适用于 Linux 2.6 或更高版本的开源EtherCAT主站实现:

IgH.png

总结

EtherCAT作为工业4.0智能制造的核心通信技术,凭借其高速、实时、灵活、低成本的特点,已成为全球工业自动化领域的主流选择。其独特的”飞读飞写”机制和灵活的拓扑结构,使其在运动控制、机器人、过程控制等对实时性要求严苛的场景中具有显著优势。

技术优势:

优势 说明
高实时性 周期时间可低至100μs,抖动<1μs
📊 高带宽利用率 单帧处理多从站,利用率>90%
🔧 拓扑灵活 支持线型、树型、星型、环型
🛡️ 功能安全 支持SIL3安全协议(FSoE)
🔄 线缆冗余 环型拓扑支持断线自动恢复
🎯 高精度同步 分布式时钟(DC)同步精度<1μs
💰 成本低 无需交换机,从站硬件简单

随着工业物联网(IIoT)和边缘计算的发展,EtherCAT也在不断演进,与TSN(时间敏感网络)等新技术融合,继续引领工业通信技术的发展方向。