**EtherCAT**（**乙太網控制自動化技術**）是一個開放架構，以乙太網為基礎的現場總線系統，其名稱的CAT為控制自動化技術（**C**ontrol **A**utomation **T**echnology）字首的縮寫。EtherCAT是確定性的工業以太網，最早是由德國的Beckhoff公司研發。

自動化對通訊一般會要求較短的資料更新時間（或稱為週期時間）、資料同步（英语：）時的通訊抖动量低，而且硬體的成本要低，EtherCAT開發的目的就是讓乙太網可以運用在自動化應用中。

機能原理
----

一般工業通訊的網路各節點傳送的資料長度不長，多半都比乙太網幀的最小長度要小。而每個節點每次更新資料都要送出一個幀，造成頻寬的低利用率，網路的整體性能也隨之下降。EtherCAT利用一種稱為「飛速傳輸」（processing on the fly）的技術改善以上的問題。

EtherCAT 運作動畫EtherCAT 運作動畫
在EtherCAT網路中，當資料帧通過EtherCAT節點時，節點會複製資料，再傳送到下一個節點，同時識別對應此節點的資料，則會進行對應的處理，若節點需要送出資料，也會在傳送到下一個節點的資料中插入要送出的資料
。每個節點接收及傳送資料的時間少於1微秒，一般而言只用一個帧的資料就可以供所有的網路上的節點傳送及接收資料。

通訊協定
----

EtherCAT通訊協定是針對程序資料而進行優化，利用標準的IEEE 802.3以太網幀傳遞，Ethertype為0x88a4。其資料順序和網站上設備的實體順序無關，定址順序也沒有限制。主站可以和從站進行廣播及多播等通訊。若需要IP路由，EtherCAT通訊協定可以放入UDP/IP資料包中。

性能
--

EtherCAT的週期時間短，是因從站的微處理器不需處理乙太網的封包。所有程序資料都是由從站控制器的硬體來處理。此特性再配合EtherCAT的機能原理，使得EtherCAT可以成為高性能的分散式I/O系統：包含一千個分散式數位輸入/輸出的程序資料交換只需30us，相當於在100Mbit/s的乙太網傳輸125個位元組的資料。讀寫一百個伺服軸的系統可以以10 kHz的速率更新，一般的更新速率約為1–30 kHz，但也可以使用較低的更新速率，以避免太頻繁的直接記憶體存取影響主站個人電腦的運作。

拓撲
--

EtherCAT使用全雙工的乙太網實體層，從站可能有二個或二個以上的埠。若設備沒偵測到其下游有其他設備，從站的控制器會自動關閉對應的埠並回傳以太網幀。由於上述的特性，EtherCAT幾乎支援所有的網路拓撲，包括總線式、樹狀或是星狀，現場總線常用的總線式拓撲也可以用在以太網中。

EtherCAT的拓撲可以用網路線、分枝或是短線（stub）作任意的組合。有三個或三個以上以太網接口的設備就可以當作分接器，不一定一定要用網路交換器。
由於使用100BASE-TX的以太網物理層，二個設備之間的距離可以到100公尺，一個EtherCAT區段的網路最多可以有65535個設備。若EtherCAT網路是使用環狀拓撲（主站設備需要有二個通訊埠），則此網路還有纜線冗餘的機能。

同步
--

為了系統的同步，EtherCAT協定中有提供分散式时钟機制，即使通訊循環週期有抖動，时钟的抖動遠小於1µs，大約接近IEEE 1588精密時間協議（英语：）的標準。因此EtherCAT的主站設備不需針對时钟使用特殊的硬體，可以用軟體實現在任何標準的乙太網MAC，即使沒有特殊的通訊協處理器也沒有關係。

標準建立分散式时钟的程序是由主站送出一特定位址的廣播訊息給所有從站來啟動。若使用環狀拓撲，所有從站會在收到訊息時閂鎖內部時鐘，當訊息回來時會再閂鎖內部時鐘一次。主站會讀所有從站閂鎖的值，計算各個從站的延遲。為了消除抖動的影響及求得平均值，主站會儘可能的多次進行上述的程序。所有的從站延遲會依各從站在從站環狀拓撲的位置來計算，並記錄在一個偏移寄存器中。最後主站送出一個讀寫系統时钟的廣播訊息，會使第一個從站的時鐘為參考時鐘，其他從站的內部時鐘會調整到和第一個從站相同。

為了在初始化後保持時鐘的同步，主站或從站需定期的再送出廣播訊號，以計算各個從站內部時鐘的速度差異，若有需要時，從站需要可以調整自身時鐘的速度，或是有其他調整時鐘的機制。

系統時鐘是一個64位元的計時器，計數內容是從2000年1月1日0點0分開始所經過的時間，單位是奈秒（ns）。

設備行規
----

設備行規（device profile）描述應用需要的參數及設備的機能特性，包括可能依設備種類而不同的狀態機。總線技術中已有許多可靠的設備行規，例如I/O設備、驅動器或閥等設備。EtherCAT同時支援CANopen設備行規及Sercos（英语：）驅動器行規。從CANopen或Sercos移植到EtherCAT時，在應用觀點看到的內容是一様的，也可方便使用者或設備製造商的轉換。

機能安全
----

EtherCAT有一個加強的協定版本，稱為Safety over EtherCAT，可以在同一個網路上進行機能安全相關的通訊和一般的控制通訊。此安全通訊是以EtherCAT的應用層為基礎，不會影響底層的通訊協定。Safety over EtherCAT有通過IEC 61508的認證，符合安全完整性等級（SIL）3的要求。自2005年起已有使用Safety over EtherCAT的產品上市。

實現
--

EtherCAT主站可以用軟體，在標準的乙太網MAC中實現。許多供應商有提供在不同作業系統下的程式碼，也有許多開源軟體或共享軟體。EtherCAT從站需要特殊的EtherCAT從站控制器，才能實現飛速傳輸（processing on the fly）的技術。EtherCAT從站控制器可以用FPGA來實現，且已有現成的代碼，此控制器也可以用ASIC來實現。

參考資料
----

1. ↑ .  [2012-08-23]. （原始内容存档于2016-03-04）.
2. 1 2 3 .  [2012-08-23]. （原始内容存档于2016-03-04）.
3. ↑   (PDF).  [2012-08-23]. （原始内容 (PDF)存档于2012-07-21）.
4. ↑   (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.  (PDF), San Francisco, CA, USA: SEMI, 2004  [2012-09-11], （原始内容存档 (PDF)于2012-07-21）
* Potra, S.; Sebestyen, G. , Cluj-Napora, Romania: IEEE: 420–425, 2006

* Robertz, S. G.; Nilsson, K.; Henriksson, R.; Blomdell, A. , Patras, Greece: IEEE, 2007

* Beckmann, G.; Sachs, J.  (PDF), PC Control Magazine, 2007, **1**: 22–27  [2012-08-24], （原始内容存档 (PDF)于2012-07-21）  `|contribution=`被忽略 (帮助)

* Cena, Gianluca; Cibrario Bertolotti, Ivan; Scanzio, Stefano; Valenzano, Adriano; Zunino, Claudio, , Nancy, France: IEEE: 43–52, 2010  [2012-09-11], doi:10.1109/WFCS.2010.5548638, （原始内容存档于2019-10-16）

外部連結
----

* EtherCAT Technology Group（页面存档备份，存于）
* EtherCAT Technology Group China（页面存档备份，存于）

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
自動化通訊協定 |
| --- |
|  |
| 程序自动化 | 
* AS-i
* BSAP（英语：）
* CC-Link
* CIP
* CAN
	+ CANopen
	+ DeviceNet
* ControlNet
* DF-1（英语：）
* DirectNET（英语：）
* EtherCAT
* Ethernet Global Data (EGD)（英语：）
* Ethernet Powerlink
* EtherNet/IP
* Factory Instrumentation Protocol（英语：）
* FINS（英语：）
* Foundation現場總線
	+ H1（英语：）
	+ HSE
* GE SRTP（英语：）
* HART
* Honeywell SDS（英语：）
* HostLink
* INTERBUS
* MECHATROLINK
* MelsecNet（英语：）
* Modbus
* IO-Link
* Optomux（英语：）
* PieP（英语：）
* Profibus
* PROFINET IO
* RAPIEnet（英语：）
* SERCOS interface（英语：）
* SERCOS III（英语：）
* Sinec H1（英语：）
* SynqNet（英语：）
* TTEthernet（英语：）

 |
|  |
| 工业控制系统 | 
* MTConnect（英语：）
* OPC DA（英语：）
* OPC HDA（英语：）
* OPC UA

 |
|  |
| 智能建筑 | 
* 1-Wire
* BACnet
* C-Bus（英语：）
* DALI（英语：）
* DSI（英语：）
* DyNet（英语：）
* Factory Instrumentation Protocol（英语：）
* KNX（英语：）
* LonTalk
* Modbus
* oBIX（英语：）
* VSCP（英语：）
* X10
* xAP（英语：）
* xPL（英语：）
* ZigBee

 |
|  |
| 电力系统（英语：） | 
* IEC 60870-5-103
	+ IEC 60870-5（英语：）
	+ IEC 60870-6（英语：）
* DNP3（英语：）
* Factory Instrumentation Protocol（英语：）
* IEC 61850（英语：）
* IEC 62351（英语：）
* Modbus
* Profibus

 |
|  |
| 自動抄錶 | 
* ANSI C12.18
* IEC 61107
* DLMS/IEC 62056
* M-Bus（英语：）
* Modbus
* ZigBee

 |
|  |
| 車用網路（英语：） | 
* AFDX
* ARINC 429（英语：）
* CAN
	+ ARINC 825（英语：）
	+ SAE J1939（英语：）
	+ NMEA 2000（英语：）
	+ FMS
* FlexRay（英语：）
* IEBus（英语：）
* J1587
* J1708
* KWP2000
* UDS
* LIN
* MOST
* VAN（英语：）

 |

 |