跳转到内容

EtherCAT

维基百科,自由的百科全书

EtherCAT乙太网控制自动化技术[1])是一个开放架构,以乙太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网,最早是由德国的Beckhoff公司研发[2]

自动化对通讯一般会要求较短的资料更新时间(或称为周期时间)、资料同步英语Data synchronization时的通讯抖动量低,而且硬体的成本要低,EtherCAT开发的目的就是让乙太网可以运用在自动化应用中。

机能原理

一般工业通讯的网路各节点传送的资料长度不长,多半都比乙太网帧的最小长度要小。而每个节点每次更新资料都要送出一个帧,造成频宽的低利用率,网路的整体性能也随之下降。EtherCAT利用一种称为“飞速传输”(processing on the fly)的技术改善以上的问题[3]

EtherCAT 运作动画
EtherCAT 运作动画

在EtherCAT网路中,当资料通过EtherCAT节点时,节点会复制资料,再传送到下一个节点,同时识别对应此节点的资料,则会进行对应的处理,若节点需要送出资料,也会在传送到下一个节点的资料中插入要送出的资料[2] 。每个节点接收及传送资料的时间少于1微秒,一般而言只用一个的资料就可以供所有的网路上的节点传送及接收资料。

通讯协定

EtherCAT通讯协定是针对程序资料而进行优化,利用标准的IEEE 802.3以太网帧传递,Ethertype为0x88a4。其资料顺序和网站上设备的实体顺序无关,定址顺序也没有限制。主站可以和从站进行广播多播等通讯。若需要IP路由,EtherCAT通讯协定可以放入UDP/IP资料包中。

性能

EtherCAT的周期时间短,是因从站的微处理器不需处理乙太网的封包。所有程序资料都是由从站控制器的硬体来处理。此特性再配合EtherCAT的机能原理,使得EtherCAT可以成为高性能的分散式I/O系统:包含一千个分散式数位输入/输出的程序资料交换只需30us[2],相当于在100Mbit/s的乙太网传输125个位元组的资料。读写一百个伺服轴的系统可以以10 kHz的速率更新,一般的更新速率约为1–30 kHz,但也可以使用较低的更新速率,以避免太频繁的直接记忆体存取影响主站个人电脑的运作。

拓扑

EtherCAT使用全双工的乙太网实体层,从站可能有二个或二个以上的埠。若设备没侦测到其下游有其他设备,从站的控制器会自动关闭对应的埠并回传以太网帧。由于上述的特性,EtherCAT几乎支援所有的网路拓扑,包括总线式、树状或是星状,现场总线常用的总线式拓扑也可以用在以太网中。

EtherCAT的拓扑可以用网路线、分枝或是短线(stub)作任意的组合。有三个或三个以上以太网接口的设备就可以当作分接器,不一定一定要用网路交换器。 由于使用100BASE-TX的以太网物理层,二个设备之间的距离可以到100公尺,一个EtherCAT区段的网路最多可以有65535个设备。若EtherCAT网路是使用环状拓扑(主站设备需要有二个通讯埠),则此网路还有缆线冗馀的机能。

同步

为了系统的同步,EtherCAT协定中有提供分散式时钟机制,即使通讯循环周期有抖动,时钟的抖动远小于1µs,大约接近IEEE 1588精密时间协议英语Precision Time Protocol的标准。因此EtherCAT的主站设备不需针对时钟使用特殊的硬体,可以用软体实现在任何标准的乙太网MAC,即使没有特殊的通讯协处理器也没有关系。

标准建立分散式时钟的程序是由主站送出一特定位址的广播讯息给所有从站来启动。若使用环状拓扑,所有从站会在收到讯息时闩锁内部时钟,当讯息回来时会再闩锁内部时钟一次。主站会读所有从站闩锁的值,计算各个从站的延迟。为了消除抖动的影响及求得平均值,主站会尽可能的多次进行上述的程序。所有的从站延迟会依各从站在从站环状拓扑的位置来计算,并记录在一个偏移寄存器中。最后主站送出一个读写系统时钟的广播讯息,会使第一个从站的时钟为参考时钟,其他从站的内部时钟会调整到和第一个从站相同。

为了在初始化后保持时钟的同步,主站或从站需定期的再送出广播讯号,以计算各个从站内部时钟的速度差异,若有需要时,从站需要可以调整自身时钟的速度,或是有其他调整时钟的机制。

系统时钟是一个64位元的计时器,计数内容是从2000年1月1日0点0分开始所经过的时间,单位是奈秒(ns)。

设备行规

设备行规(device profile)描述应用需要的参数及设备的机能特性,包括可能依设备种类而不同的状态机。总线技术中已有许多可靠的设备行规,例如I/O设备、驱动器或阀等设备。EtherCAT同时支援CANopen设备行规及Sercos英语SERCOS interface驱动器行规。从CANopen或Sercos移植到EtherCAT时,在应用观点看到的内容是一様的,也可方便使用者或设备制造商的转换。

机能安全

EtherCAT有一个加强的协定版本,称为Safety over EtherCAT,可以在同一个网路上进行机能安全相关的通讯和一般的控制通讯。此安全通讯是以EtherCAT的应用层为基础,不会影响底层的通讯协定[4]。Safety over EtherCAT有通过IEC 61508的认证,符合安全完整性等级(SIL)3的要求。自2005年起已有使用Safety over EtherCAT的产品上市。

实现

EtherCAT主站可以用软体,在标准的乙太网MAC中实现。许多供应商有提供在不同作业系统下的程式码,也有许多开源软体或共享软体。EtherCAT从站需要特殊的EtherCAT从站控制器,才能实现飞速传输(processing on the fly)的技术。EtherCAT从站控制器可以用FPGA来实现,且已有现成的代码,此控制器也可以用ASIC来实现。

参考资料

  1. ^ 自動化在線 EtherCAT簡介. [2012-08-23]. (原始内容存档于2016-03-04). 
  2. ^ 2.0 2.1 2.2 cechina EtherCAT 原理介紹. [2012-08-23]. (原始内容存档于2016-03-04). 
  3. ^ ethercat.org EtherCAT簡介 (PDF). [2012-08-23]. (原始内容 (PDF)存档于2012-07-21). 
  4. ^ The safety solution for EtherCAT (PDF). [2012-08-24]. (原始内容存档 (PDF)于2012-07-21). 

其他参考资料

  • Büttner, H.; Janssen, D.; Rostan, M., 存档副本 (PDF), PC Control Magazine, 2003, 3: 14–19 [2012-09-11], (原始内容 (PDF)存档于2012-02-19)  |contribution=被忽略 (帮助)
  • Janssen, D.; Büttner, H., Computing & Control Engineering Journal, 2004, 15: 16–21  |contribution=被忽略 (帮助); 缺少或|title=为空 (帮助)
  • Rostan, M., High Speed Industrial Ethernet for Semiconductor Equipment, SEMI Technical Symposium: Innovations in Semiconductor Manufacturing (PDF), San Francisco, CA, USA: SEMI, 2004 [2012-09-11], (原始内容存档 (PDF)于2012-07-21) 
  • Potra, S.; Sebestyen, G., EtherCAT Protocol Implementation Issues on an Embedded Linux Platform, IEEE-TTTC International Conference on Automation, Quality and Testing, Robotics AQTR 2006, Cluj-Napora, Romania: IEEE: 420–425, 2006 
  • Robertz, S. G.; Nilsson, K.; Henriksson, R.; Blomdell, A., Industrial robot motion control with real-time Java and EtherCAT, 12th IEEE International Conference on Emerging Technologies and Factory Automation, Patras, Greece: IEEE, 2007 
  • Beckmann, G.; Sachs, J., 存档副本 (PDF), PC Control Magazine, 2007, 1: 22–27 [2012-08-24], (原始内容存档 (PDF)于2012-07-21)  |contribution=被忽略 (帮助)

外部链接