Páteční průmyslový protokol: EtherNet/IP
Zdroj: ODVA
EtherNet/IP je průmyslový protokol, kterému stačí běžný Ethernet a obyčejný switch — žádný speciální čip, žádná dvoulinka. Organizace ODVA ho postavila nad svůj objektový model CIP a provoz rozdělila na dvě koleje: servisní zprávy přes TCP a cyklická data přes UDP. Výsledkem je protokol, který se vejde do milisekund.
Co to je a odkud pochází
EtherNet/IP (Industrial Protocol) vznikl koncem 90. let v Rockwell Automation a dnes ho spravuje ODVA. Není to nový přenosový protokol — je to CIP přenesený přes TCP/UDP. To je důležité: kdo zná CIP, zná i EtherNet/IP, jen se mění obal.
Jak funguje
Protokol má dva režimy a plete si je každý, kdo začíná:
- Explicit messaging — TCP port 44818. Klient pošle požadavek, server odpoví. Slouží ke čtení tagů, konfiguraci, diagnostice. Je to normální request/response, takže má latenci podle sítě.
- Implicit messaging — UDP port 2222. Cyklická výměna I/O dat modelem producent/konzument; data tečou bez potvrzování v pevném intervalu RPI (Requested Packet Interval), typicky 1–100 ms. Ztráta jednoho rámce se neopakuje, počká se na další.
Spojení se navazuje přes Connection Manager: otevře se session (RegisterSession), pak se vytvoří instance spojení s parametry RPI, typu (multicast/unicast) a velikostmi vstupů a výstupů.
Rámec
Každá zpráva začíná enkapsulační hlavičkou o 24 bajtech: příkaz (2 B), délka (2 B), session handle (4 B), stav (4 B), kontext odesílatele (8 B) a volby (4 B). Za ní následuje buď CIP zpráva (explicit), nebo CPF blok s daty (implicit).
Adresování uvnitř CIP je objektové: třída, instance, atribut. Zapisy a čtení jdou přes EPATH — posloupnost segmentů, kde logický segment nese třídu a instanci (např. 0x20 0x01 0x24 0x01 pro Identity, instanci 1).
Po čem to běží
Po standardním Ethernetu 100 Mb/s nebo 1 Gb/s, kroucená dvoulinka Cat5e a výš, přes normální switche. Topologie je hvězda nebo strom; kruh vyžaduje podporu v zařízeních (DLR — Device Level Ring). Pro multicastová I/O data je nutné na switchích zapnout IGMP snooping, jinak se provoz rozleje do celé sítě a switch se udusí.
Fyzicky to znamená: RJ45, běžný switch, žádný EBUS. To je hlavní rozdíl proti EtherCATu.
Konfigurace zařízení
Každé zařízení má EDS soubor (Electronic Data Sheet) — textový popis objektů, parametrů a velikostí I/O. Bez EDS konfigurační nástroj neví, co od zařízení čekat. V praxi: nahrajete EDS do prostředí (Studio 5000, TwinCAT, PLCnext Engineer), přiřadíte IP adresu, nastavíte RPI a velikosti assembly instancí, a pak se spojení otevře.
Testování a kód
V Pythonu je nejrychlejší cesta knihovna pycomm3:
from pycomm3 import LogixDriver
with LogixDriver("192.168.1.20") as plc:
print(plc.read("Counter")) # tag
print(plc.generic_message( # libovolna CIP sluzba
service=0x0E, class_code=0x01, instance=1, attribute=0x07))
Pro pasivní diagnostiku stačí Wireshark s filtrem enip — uvidíte RegisterSession, Forward Open i cyklická data s časy.
Kdy to použít a kdy ne
Hodí se tam, kde je řídicí systém od Rockwellu nebo kde chcete jednu síť pro řízení i pro IT. Nehodí se na pohybové aplikace s požadavkem na synchronizaci v mikrosekundách — tam patří EtherCAT nebo PROFINET IRT, protože UDP a switch zanášejí do cyklu jitter.
Licence
Specifikace CIP a EtherNet/IP vydává ODVA, jsou veřejně dostupné ke stažení, ale implementace musí projít shodou (conformance test), jinak nesmíte používat logo. Samotný protokol není licencovaný poplatek za paket — platí se členství v ODVA a certifikace výrobku.
Pro PLC programátora: nejčastější chyba při rozjezdu není v kódu, ale v síti — zapomenutý IGMP snooping, jiná maska na dvou portech nebo RPI nastavené na 1 ms u zařízení, které ho nedrží. Začněte na 20 ms, změřte, pak zkracujte.
Seriál Páteční průmyslový protokol vychází každý pátek. Další díl najdete v přehledu série.
Zdroje
Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.