Páteční průmyslový protokol: EtherCAT
Zdroj: EtherCAT Technology Group
EtherCAT je jediný z velkých protokolů, který data nekopíruje, ale čte za pochodu: rámec proletí celou sítí a každý slave uzel si na svém místě přečte vstupy a zapíše výstupy. Latence je pak daná délkou kabelu, ne počtem zařízení — a to je důvod, proč se používá pro pohyb. Proto ho najdete u CNC a robotů, ne u teploměrů.
Co to je a odkud pochází
EtherCAT vyvinul Beckhoff v roce 2003 a spravuje ho EtherCAT Technology Group (ETG); standardizovaný je v IEC 61158. Princip „processing on the fly" znamená, že slave uzel nečeká na celý rámec: hardwarový EtherCAT Slave Controller (ESC) čte a zapisuje data během průchodu rámce. Právě ten čip je důvod, proč EtherCAT nejde udělat na obyčejné síťové kartě — a proč se v zadání objevila poznámka o „speciálním čipu jako u EtherCATu".
Jak funguje
Master pošle jeden nebo několik datagramů v jednom Ethernetovém rámci s ethertypem 0x88A4. Rámec projde fyzicky všemi slave uzly v pořadí topologie; každý slave uzel na předem dané adrese zapíše a přečte svou část. Na konci se rámec vrátí masteru s výsledky všech zařízení — jedno čtení, celá síť.
Working Counter (WKC) je kontrola konzistence: každý slave uzel, který data zpracoval, inkrementuje počítadlo. Master porovná očekávanou hodnotu s přijatou — pokud nesouhlasí, některé zařízení data nezpracovalo a cyklus je neplatný.
Distributed Clocks (DC) řeší synchronizaci: slave uzly mají vlastní hodiny synchronizované na masteru s přesností v řádu desítek nanosekund, takže lze měřit časy náběžných hran a synchronizovat více os.
Rámec a datagramy
Za Ethernetovou hlavičkou jde ethertyp 0x88A4 a pak jeden nebo více EtherCAT datagramů. Datagram má: příkaz (1 B), index (1 B), adresu (4 B), délku (2 B), IRQ (2 B), data, working counter (2 B).
Příkazy: APRD/APWR (auto-increment, fyzická adresa v pořadí), BRD/BWR (broadcast, všechny slave uzly), LRD/LWR (logická adresa, mapovaná konfigurací). Logické adresy umožňují masteru mluvit s procesními daty bez ohledu na fyzické pořadí.
Topologie a rychlosti
- Řetěz nebo kruh — slave uzly mají dva porty (IN/OUT) a rámec posílají dál. Není potřeba switch; switch naopak přidává zpoždění.
- Strom/větev je možný díky zařízením s více porty.
- Segment 100 m na kroucené dvoulince (100BASE-TX), celková délka sítě až desítky kilometrů díky opakovačům.
- Cyklus typicky 100 µs až 1 ms; s DC a dostatečně rychlým masterem i 50 µs.
Konfigurace zařízení
Každé zařízení má ESI/XML soubor (EtherCAT Slave Information) s popisem objektového slovníku (CoE — CANopen over EtherCAT), PDO mapování a parametrů. Konfigurace se dělá v prostředí masteru (TwinCAT, PLCnext, CODESYS): naskenuje se topologie, přiřadí se PDO, nastaví se cyklus a Distributed Clocks.
Testování a kód
Na masteru běží zálety v prostředí výrobce; pro diagnostiku je nejlepší Wireshark s filtrem ecat. V Pythonu existuje pysoem (binding na SOEM — Simple Open EtherCAT Master):
import pysoem
master = pysoem.Master()
master.open("eth0")
if master.config_init() > 0:
for s in master.slaves:
print(s.name, s.id, s.man)
master.config_map()
master.state = pysoem.OP_STATE
master.send_processdata(); master.receive_processdata()
Pro rychlou kontrolu, zda slave uzly odpovídají, stačí, když config_init() vrátí počet slave uzlů — pokud ne, je problém v kabeláži nebo v chybějícím ESI.
Kdy to použít
Pro pohyb, kde rozhoduje jitter a synchronizace: víceosé CNC, robotika, balicí stroje s přesnou vazbou. Nehodí se tam, kde chcete běžný Ethernet se standardními switchi a síťovým dohledem — EtherCAT je vlastní svět s vlastními nástroji.
Licence
Specifikace ETG jsou veřejné po registraci, norma placená. EtherCAT není licencovaný poplatek za paket, ale výrobci platí členství a testování shody; označení EtherCAT je chráněná značka. Existuje open source master (SOEM, IgH EtherCAT Master pro Linux).
Pro vývojáře: první věc, kterou u EtherCATu řešte, je topologie a WKC. Pokud WKC nesedí, nemá smysl ladit PDO — data jsou neplatná bez ohledu na to, co v nich je. A druhá věc: Distributed Clocks zapínejte jen tam, kde je skutečně potřebujete, jinak si zbytečně komplikujete start.
Seriál Páteční průmyslový protokol vychází každý pátek. Další díl najdete v přehledu série.
Zdroje
- EtherCAT — technology — EtherCAT Technology Group
- IEC 61158 — Fieldbus specifications — IEC
Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.