EtherNet/IP UDP Capture on Allen-Bradley 842E Encoders — figure 1

Zachytávání UDP komunikace EtherNet/IP u enkodérů Allen-Bradley 842E

Zachycení paketů UDP AB842E nelze zastavit při chybějících odpovědích – filtry pouze zahrnují. K izolaci tichého EtherNet/IP použijte zachytávání do vyrovnáv...

Když absolutní enkodér Allen-Bradley 842E EtherNet/IP přestane komunikovat, intuitivní požadavek na zachycení zní: „zastav trasování po N nezodpovězených požadavcích ENIP“. Tento mentální model se dobře hodí pro žebříkovou logiku, ale ne pro Wireshark, tcpdump ani většinu zařízení pro zachytávání provozu. Tyto nástroje vyhodnocují filtry zahrnutí u rámců, které existují. Mlčící enkodér nevytváří žádné rámce UDP/2222 Class 1, které by filtr mohl zachytit, takže není na čem zastavit. Diagnostickým problémem je detekce nepřítomnosti, nikoli hledání shody se signaturou.

Zachytávání UDP EtherNet/IP na enkodérech Allen-Bradley 842E — obrázek 1

Zachytávejte provoz nepřetržitě na UDP 2222 a poté porovnejte pozorované rámce enkodéru s výpočtem RPI — nečekejte na negativní spouštěč, který analyzátor nedokáže vyjádřit.

Rozsah a porty

Tento postup se týká variant 842E-SIP, 842E-MIP, 842E-DIP a M12 popsaných v dokumentu 842E-UM001. Firmware ověřte na webové stránce enkodéru v části Diagnostics → Device Information. Provozní I/O používá CIP Class 1 na UDP portu 2222; explicitní zprávy používají zapouzdření EtherNet/IP na TCP/UDP portu 44818. Profily zachytávání by měly povolit oba porty, ale při hledání příčin ticha se zaměřte na sestavy produced/consumed na portu 2222.

Port Provoz Typická frekvence
2222 Implicitní I/O (produkované/spotřebovávané) RPI, často 10 ms
44818 Explicitní CIP Na vyžádání
67/68 BOOTP/DHCP Pouze při zapnutí

Proč spouštěče nepřítomnosti selhávají

Zobrazovací filtry jsou booleovské predikáty aplikované na každý rámec. Filtr jako (udp.port == 2222) && (eth.src == <842E_MAC>) zachová rámce enkodéru, když dorazí. Když nedorazí, predikát se nikdy nevyhodnotí jako pravdivý. Udržování stavu „čtyři požadavky bez jediné odpovědi“ vyžaduje stav napříč rámci, který standardní nástroje pro zachytávání neuchovávají. Karty diagnostiky modulu v Studio 5000, statistiky zařízení FactoryTalk Linx a analýza po zachycení jsou nástroje, které tento stav dokážou vyjádřit.

Alternativní postup 1: kruhová vyrovnávací paměť a následné počítání

  1. Zrcadlete port přepínače enkodéru na síťové rozhraní analyzátoru.
  2. Zachytávejte UDP 2222 do kruhové vyrovnávací paměti (například pěti souborů o velikosti 40–50 MB).
  3. Otevřete soubor pcap a filtrujte podle MAC adresy enkodéru a UDP 2222.
  4. Porovnejte počet rámců s hodnotou observation_time / RPI. Odchylky větší než přibližně 5 % vyžadují prověření.
tcpdump -i eth0 -w capture.pcap udp port 2222
# Zobrazovací filtr Wiresharku: eth.addr == <842E_MAC> && udp.port == 2222
Zachytávání UDP EtherNet/IP na enkodérech Allen-Bradley 842E — obrázek 2

Alternativní postup 2: okna zarovnaná s RPI

Zarovnejte okna zachytávání na celočíselné násobky RPI enkodéru, aby vyrovnávací paměť obsahovala úplné výměny I/O. Při RPI 10 ms by okno o délce 10 sekund mělo při zdravém připojení obsahovat přibližně 1000 rámců Class 1. Mezery delší než tři intervaly RPI ve sloupci „sekundy od předchozího rámce“ představují při kontrole praktickou podmínku k zastavení.

Alternativní postup 3: stav CIP a čítače přepínače

Provádějte pravidelné čtení Get_Attribute_Single proti objektu CIP Identity třídy 0x01, instance 1, atributu 6 (Status). Změny bitů Owned nebo Configured signalizují výpadek připojení Class 1 — běžně po třech zmeškaných RPI. Nezávisle na tom dotazujte na spravovaném přepínači ifOutUcastPkts na portu enkodéru; neměnící se čítač po dobu delší než 3 × RPI potvrdí ticho i bez souboru pcap.

Postup v provozu a úskalí

Ověřte IP adresu, RPI a instance sestav (výchozí produced 0x04 / consumed 0x01) podle konfigurace modulu Logix. Zkontrolujte stavové LED linky, zachytávejte po dobu šedesáti sekund, spočítejte rámce a teprve poté se při nulovém počtu pokuste o reset CIP. Provoz, který se po resetu obnoví, ale dál vynechává body RPI, ukazuje na rušení kabelu, pokles napájení M12 nebo duplicitní IP adresu. Trvalé ticho po vypnutí a zapnutí napájení ukazuje na ethernetovou fyzickou vrstvu — enkodér vyměňte. Neztrácejte čas vytvářením spouštěče „zastavit při žádné odpovědi“; analyzátor jej nedokáže vyjádřit. Při poruše jednotky v provozu udržujte náhradní enkodéry a řídicí jednotky v souladu se standardy závodu pro PLC a PAC.

O autorovi

Mark Townsend | Senior Automation Engineer – Allen-Bradley Systems

Mark Townsend je seniorní automatizační inženýr s více než 18 lety zkušeností s platformami Allen-Bradley, včetně ControlLogix, CompactLogix a starších systémů SLC-500. Ve své každodenní práci se věnuje logice RSLogix / Studio 5000 a uvádění HMI FactoryTalk View do provozu na stárnoucích i smíšených flotilách.

Zachytávání UDP komunikace EtherNet/IP u enkodérů Allen-Bradley 842E

Zachycení paketů UDP AB842E nelze zastavit při chybějících odpovědích – filtry pouze zahrnují. K izolaci tichého EtherNet/IP použijte zachytávání do vyrovnávací paměti a časování cyklu UDP.

Když absolutní enkodér Allen-Bradley 842E EtherNet/IP přestane komunikovat, intuitivní požadavek na zachycení zní: „zastav trasování po N nezodpovězených požadavcích ENIP“. Tento mentální model se dobře hodí pro žebříkovou logiku, ale ne pro Wireshark, tcpdump ani většinu zařízení pro zachytávání provozu. Tyto nástroje vyhodnocují filtry zahrnutí u rámců, které existují. Mlčící enkodér nevytváří žádné rámce UDP/2222 Class 1, které by filtr mohl zachytit, takže není na čem zastavit. Diagnostickým problémem je detekce nepřítomnosti, nikoli hledání shody se signaturou.

Zachytávání UDP EtherNet/IP na enkodérech Allen-Bradley 842E — obrázek 1

Zachytávejte provoz nepřetržitě na UDP 2222 a poté porovnejte pozorované rámce enkodéru s výpočtem RPI — nečekejte na negativní spouštěč, který analyzátor nedokáže vyjádřit.

Rozsah a porty

Tento postup se týká variant 842E-SIP, 842E-MIP, 842E-DIP a M12 popsaných v dokumentu 842E-UM001. Firmware ověřte na webové stránce enkodéru v části Diagnostics → Device Information. Provozní I/O používá CIP Class 1 na UDP portu 2222; explicitní zprávy používají zapouzdření EtherNet/IP na TCP/UDP portu 44818. Profily zachytávání by měly povolit oba porty, ale při hledání příčin ticha se zaměřte na sestavy produced/consumed na portu 2222.

Port Provoz Typická frekvence
2222 Implicitní I/O (produkované/spotřebovávané) RPI, často 10 ms
44818 Explicitní CIP Na vyžádání
67/68 BOOTP/DHCP Pouze při zapnutí

Proč spouštěče nepřítomnosti selhávají

Zobrazovací filtry jsou booleovské predikáty aplikované na každý rámec. Filtr jako (udp.port == 2222) && (eth.src == <842E_MAC>) zachová rámce enkodéru, když dorazí. Když nedorazí, predikát se nikdy nevyhodnotí jako pravdivý. Udržování stavu „čtyři požadavky bez jediné odpovědi“ vyžaduje stav napříč rámci, který standardní nástroje pro zachytávání neuchovávají. Karty diagnostiky modulu v Studio 5000, statistiky zařízení FactoryTalk Linx a analýza po zachycení jsou nástroje, které tento stav dokážou vyjádřit.

Alternativní postup 1: kruhová vyrovnávací paměť a následné počítání

  1. Zrcadlete port přepínače enkodéru na síťové rozhraní analyzátoru.
  2. Zachytávejte UDP 2222 do kruhové vyrovnávací paměti (například pěti souborů o velikosti 40–50 MB).
  3. Otevřete soubor pcap a filtrujte podle MAC adresy enkodéru a UDP 2222.
  4. Porovnejte počet rámců s hodnotou observation_time / RPI. Odchylky větší než přibližně 5 % vyžadují prověření.
tcpdump -i eth0 -w capture.pcap udp port 2222
# Zobrazovací filtr Wiresharku: eth.addr == <842E_MAC> && udp.port == 2222
Zachytávání UDP EtherNet/IP na enkodérech Allen-Bradley 842E — obrázek 2

Alternativní postup 2: okna zarovnaná s RPI

Zarovnejte okna zachytávání na celočíselné násobky RPI enkodéru, aby vyrovnávací paměť obsahovala úplné výměny I/O. Při RPI 10 ms by okno o délce 10 sekund mělo při zdravém připojení obsahovat přibližně 1000 rámců Class 1. Mezery delší než tři intervaly RPI ve sloupci „sekundy od předchozího rámce“ představují při kontrole praktickou podmínku k zastavení.

Alternativní postup 3: stav CIP a čítače přepínače

Provádějte pravidelné čtení Get_Attribute_Single proti objektu CIP Identity třídy 0x01, instance 1, atributu 6 (Status). Změny bitů Owned nebo Configured signalizují výpadek připojení Class 1 — běžně po třech zmeškaných RPI. Nezávisle na tom dotazujte na spravovaném přepínači ifOutUcastPkts na portu enkodéru; neměnící se čítač po dobu delší než 3 × RPI potvrdí ticho i bez souboru pcap.

Postup v provozu a úskalí

Ověřte IP adresu, RPI a instance sestav (výchozí produced 0x04 / consumed 0x01) podle konfigurace modulu Logix. Zkontrolujte stavové LED linky, zachytávejte po dobu šedesáti sekund, spočítejte rámce a teprve poté se při nulovém počtu pokuste o reset CIP. Provoz, který se po resetu obnoví, ale dál vynechává body RPI, ukazuje na rušení kabelu, pokles napájení M12 nebo duplicitní IP adresu. Trvalé ticho po vypnutí a zapnutí napájení ukazuje na ethernetovou fyzickou vrstvu — enkodér vyměňte. Neztrácejte čas vytvářením spouštěče „zastavit při žádné odpovědi“; analyzátor jej nedokáže vyjádřit. Při poruše jednotky v provozu udržujte náhradní enkodéry a řídicí jednotky v souladu se standardy závodu pro PLC a PAC.

O autorovi

Mark Townsend | Senior Automation Engineer – Allen-Bradley Systems

Mark Townsend je seniorní automatizační inženýr s více než 18 lety zkušeností s platformami Allen-Bradley, včetně ControlLogix, CompactLogix a starších systémů SLC-500. Ve své každodenní práci se věnuje logice RSLogix / Studio 5000 a uvádění HMI FactoryTalk View do provozu na stárnoucích i smíšených flotilách.

Napište komentář

Upozorňujeme, že komentáře musí být před zveřejněním schváleny.