Allen-Bradley 842E enkoderlarida EtherNet/IP UDP trafigini yozib olish
AB842E UDP paketlarini qayd etish javoblar bo‘lmaganda to‘xtamaydi — filtrlar faqat kiritilganlarini qamrab oladi. Javobsiz EtherNet/IP’ni ajratib ko‘rsatish...
Allen-Bradley 842E EtherNet/IP absolyut enkoderi jim bo‘lib qolganda, odatiy fikr “javobsiz qolgan N ta ENIP so‘rovdan keyin trace yozuvini to‘xtatish” bo‘ladi. Bu fikrlash modeli ladder mantiqiga mos keladi, ammo Wireshark, tcpdump yoki ko‘pgina qurilmalardagi capture dvigatellariga mos kelmaydi. Bunday vositalar kiritish filtrlarini mavjud freymlar bo‘yicha baholaydi. Jim enkoder filtr mos kelishi uchun UDP/2222 Class 1 freymlarini yubormaydi, shuning uchun to‘xtatadigan hech narsa yo‘q. Diagnostika muammosi — imzo mosligini aniqlash emas, balki yo‘qlikni aniqlashdir.
UDP 2222 orqali uzluksiz capture qiling, so‘ng kuzatilgan enkoder freymlarini RPI hisob-kitobi bilan solishtiring — analizator ifodalay olmaydigan manfiy triggerni kutmang.
Qamrov va portlar
Ushbu ish jarayoni 842E-SIP, 842E-MIP, 842E-DIP va 842E-UM001 hujjatida keltirilgan M12 variantlarini qamrab oladi. Enkoder veb-sahifasida Diagnostics → Device Information bo‘limi orqali proshivkani tasdiqlang. Ishlash vaqtiga oid I/O UDP 2222 portida CIP Class 1 dan foydalanadi; explicit messaging esa TCP/UDP 44818 portida EtherNet/IP encapsulation orqali ishlaydi. Capture profillari ikkala portni ham yoqishi kerak, biroq jimlikni tekshirishda asosiy e’tibor 2222 portida hosil qilinadigan/iste’mol qilinadigan assembly’larga qaratiladi.
| Port | Trafik | Odatdagi takrorlanish oralig‘i |
|---|---|---|
| 2222 | Implicit I/O (hosil qilinadigan/iste’mol qilinadigan) | RPI, ko‘pincha 10 ms |
| 44818 | Explicit CIP | Talabga ko‘ra |
| 67/68 | BOOTP/DHCP | Faqat quvvat yoqilganda |
Nega yo‘qlik triggerlari ishlamaydi
Display filtrlari har bir freymga qo‘llanadigan Boolean predikatlardir. (udp.port == 2222) && (eth.src == <842E_MAC>) kabi filtr enkoder freymlari kelganda ularni saqlab qoladi. Freymlar kelmasa, predikat hech qachon rost qiymatga ega bo‘lmaydi. “Javobsiz qolgan to‘rtta so‘rov” holatini kuzatish uchun freymlararo holat kerak bo‘ladi, standart capture utilitalari esa bunday holatni saqlamaydi. Studio 5000 dagi modul diagnostikasi bo‘limlari, FactoryTalk Linx qurilma statistikasi va capture’dan keyingi tahlil shu holatni ifodalashga yordam beradi.
1-yechim: aylanuvchi bufer, so‘ng hisoblash
- Enkoder ulangan switch portini analyzer NIC’iga mirror qiling.
- UDP 2222 trafikini ring buffer’ga yozing (masalan, har biri 40–50 MB bo‘lgan beshta fayl).
- Pcap faylini oching va enkoder MAC manzili hamda UDP 2222 bo‘yicha filtrlang.
- Freym sonini observation_time / RPI bilan solishtiring. Taxminan 5% dan katta og‘ishlar tekshiruvni talab qiladi.
tcpdump -i eth0 -w capture.pcap udp port 2222 # Wireshark display: eth.addr == <842E_MAC> && udp.port == 2222
2-yechim: RPI ga moslashtirilgan oynalar
Buferda to‘liq I/O almashinuvlari bo‘lishi uchun capture oynalarini enkoder RPI’ning butun sonli karralariga moslang. 10 ms RPI’da, ulanish sog‘lom bo‘lsa, 10 soniyalik oynada taxminan 1000 ta Class 1 freym bo‘lishi kerak. Tahlil paytida “seconds since previous frame” ustunida uchta RPI oralig‘idan katta bo‘shliqlar amaliy to‘xtash sharti hisoblanadi.
3-yechim: CIP holati va switch hisoblagichlari
CIP Identity Object class 0x01, instance 1, attribute 6 (Status) bo‘yicha davriy Get_Attribute_Single o‘qishlarini yuboring. Owned yoki Configured bitlaridagi o‘zgarishlar Class 1 ulanishi uzilganini bildiradi — odatda uchta o‘tkazib yuborilgan RPI’dan keyin. Bundan mustaqil ravishda boshqariladigan switch’dagi enkoder portining ifOutUcastPkts qiymatini so‘rab turing; hisoblagichning 3 × RPI dan ortiq vaqt davomida o‘zgarmasligi pcap’siz ham jimlikni tasdiqlaydi.
Dala sharoitidagi tartib va ehtiyot bo‘lish kerak bo‘lgan jihatlar
IP, RPI va assembly instance’larini (standart produced 0x04 / consumed 0x01) Logix modul konfiguratsiyasi bilan solishtirib tekshiring. Link LED’larini tasdiqlang, oltmish soniya capture qiling, freymlarni sanang, so‘ng son nol bo‘lsa CIP reset’ini sinab ko‘ring. Reset’dan keyin trafik qaytsa, ammo RPI’larni o‘tkazib yuborish davom etsa, bu kabel shovqini, M12 quvvatining pasayishi yoki takroriy IP manziliga ishora qiladi. Quvvatni qayta yoqqandan keyin ham jimlik saqlansa, Ethernet PHY nosozligi ehtimoli yuqori — enkoderni almashtiring. “Javob bo‘lmaganda to‘xtatish” triggerini tuzishga vaqt sarflamang; analizator buni ifodalay olmaydi. Qurilma dalada ishdan chiqqanda enkoder va controller zaxira qismlarini zavodning PLC va PAC standartlariga mos holda saqlang.
Muallif haqida
Mark Townsend | Allen-Bradley tizimlari bo‘yicha katta avtomatlashtirish muhandisi
Mark Townsend ControlLogix, CompactLogix va eski SLC-500 platformalarini qamrab olgan Allen-Bradley tizimlari bilan 18 yildan ortiq ishlagan katta avtomatlashtirish muhandisidir. Uning kundalik faoliyati eskirgan va aralash parklar uchun RSLogix / Studio 5000 mantiqi hamda FactoryTalk View HMI’ni ishga tushirishdan iborat.