PLC

Páteční průmyslový protokol: EtherNet/IP

Zdroj: ODVA

Grafika s označením EtherNet/IP a rámcovým diagramem
Ilustrace: redakce

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.

Explicitní zpráva EtherNet/IP

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

  1. EtherNet/IP — technology standards — ODVA
  2. Common Industrial Protocol (CIP) — ODVA

Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.