Node-Red és a Wago 750-881 PLC Network variable UDP packet

Szűk 3 napom ment el a témára, ledokumentálom gyorsan.

A probléma

A PLC-ben futó szoftvert a PLC-n kívülről is akarjuk utasítgatni.

A megoldás

A kommunikációt network variable használattal oldjuk meg. Ehhez PLC oldalon az kell, hogy engedélyezzük a PLC-ben a hálózati változó támogatást, valamint a benne futó szoftver a hálózati változók tartalmával mókoljon, amit akar.

A “B” oldalon Node-Red-et akartam használni. Node-Redhez létezik egy node-red-contrib-netwar csomag, ezt feltesszük és már huss meg is vagyunk az UDP packet generálással, valahogy így:

A netvar-sender által kiküldendő táviratnak a CodeSys 2 network functionality doksi szerint így kell kinéznie:

Az UDP telegram dokumentációja világosan elmondja, hogy a packet elején levő protocol ID a 3 byte hosszú -S3, ami decimálisban a 2970419 számnak felel meg, amit a netvar-sender node ID mezőjében kell megadnod. Ha ez nincs, a PLC ignorálja a packetet és várhatod, hogy beálljanak a network variabLÉK.

Az utóbbi mondatban leírt felismeréshez nekem szűk két nap kellett, mert elsiklottam a milliónyi manualban / tutorialban afelett, hogy ez az a mező, ami az UDP packet headerét definiálja. Kurt videóját pl. vagy tizenötször kockáztam ki, hogy mi a fenét nézek be – ő pl. itt 4:42-nél állítja át ezt az ID-t egyetlen egy frame alatt:

Leave a Reply

Your email address will not be published.