EtherCAT 通訊協議入門
幼苗 工業自動化
建立於 2025年7月15日
ethercat industrial-automation protocol
為什麼要理解 EtherCAT
在自動化機台的開發中,PLC 與各軸馬達驅動器之間的通訊協定直接決定了系統的反應速度和同步精度。我接觸過 Modbus RTU/TCP、PROFINET、EtherNet/IP,但 EtherCAT 在需要高速多軸同步的場景中,表現明顯優於其他方案。
核心概念
EtherCAT 的全名是 Ethernet for Control Automation Technology,由 Beckhoff 在 2003 年提出。它的關鍵設計在於「processing on the fly」:
- 傳統 Ethernet 的做法:主站發封包 → 從站收到 → 從站處理 → 從站回傳
- EtherCAT 的做法:主站發一個封包沿著拓撲鏈傳遞,每個從站在封包經過時直接讀寫自己的資料區段,然後繼續往下傳。封包到最後一個從站後折返回主站
這代表不管有多少從站,通訊延遲幾乎只取決於乙太網路的物理傳輸時間,而不是從站數量。
實際數據
在我參與的一個六軸運動控制專案中:
- 使用 EtherCAT,16 個從站的完整 cycle time 可以壓到 1ms 以下
- 同樣的從站數量用 Modbus TCP,cycle time 約 10-20ms
- 差了一個數量級,對於高速取放或精密定位來說這是關鍵差異
拓撲彈性
EtherCAT 支援 line、tree、star 拓撲,但實務上 line topology(菊花鏈)最常見也最簡單。只需要一條 Ethernet 線從主站拉出來,串接所有從站,不需要交換機。這在機台內部佈線時非常方便。
與上位機的關係
EtherCAT 負責的是即時控制層的通訊。上位機(HMI / SCADA)通常不會直接走 EtherCAT,而是透過 PLC 或工業 PC 作為橋樑。我在開發上位機軟體時,通常是透過 TwinCAT ADS 或 OPC UA 與 EtherCAT master 間接溝通。
待探索
- EtherCAT 的 Distributed Clock 機制如何實現奈秒等級的同步
- CoE (CAN over EtherCAT) 與 SoE (Servo over EtherCAT) 的差異
- 與 TSN (Time-Sensitive Networking) 的未來競合關係
被引用於
目前沒有其他筆記引用此篇。