Client OPC UA cu Node-RED

Node-RED este un instrument de programare pentru conectarea dispozitivelor hardware, API-urilor și serviciilor online în moduri noi și interesante. Printr-un editor bazat pe browser este posibilă conectarea obiectelor (Flows) folosind o gamă largă de obiecte disponibile.

Am explicat deja acest articol cum să instalăm Node-RED pe sistemele noastre bazate pe Raspberry, acum vom vedea cum să folosim Node-RED pentru a comunica cu alte sisteme utilizând protocolul Open Platform Communications Unified Architecture (OPC UA), un protocol de comunicație unificat pentru automatizarea industrială.

OPC UA instalare nod

În instalarea standard Node-RED este instalată o bază de noduri, cele mai frecvent utilizate, dar există o imensă bibliotecă de noduri utilizabile. Pentru a utiliza protocolul OPC UA, instalați nodurile furnizate cu nod-roșu-contrib-opcua. Instalarea se poate face din linia de comandă cu managerul de pachete (npm) Node, sau mai simplu dintr-un browser.

Din meniu alegeți Manage palette, apoi căutați formularul node-red-contrib-opcua și pentru a continua instalarea, pentru a testa exemplul este de asemenea necesar să instalați modulul node-red-dashboard.

Iată programul

Mai jos puteți vedea programul în Node-RED cu tabloul de bord relativ care se conectează la program SimpleOPCUA dezvoltate cu CODESYS, ambele programe sunt difuzate din același modul Procesor SlimLine Zmeură.

Comunicarea cu serverul CODESYS OPC UA este efectuată de nod OpcUa Client în care este definită ca Endpoint adresa și portul serverului OPC UA (în exemplu este opc.tcp: // 192.168.0.180: 4840). Desigur, transformând ambele programe pe același procesor aș putea defini opc.tcp: // localhost: 4840. În operațiile de citire (Variabile DIStatus e Counter) vor fi definite Action READ, în operații de scriere (variabilă DOCommand) vor fi definite Action WRITE.

Obiectul este localizat la clientul OpcUa OpcUa Item care specifică NodeId a variabilei care va fi accesată pentru a fi raportată în câmp Item, pentru a identifica valoarea de scriere utilizați programul similar UaExpert prezentat aici. În exemplul următor vom avea:

DIStatus: ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.PLC_PRG.DIStatus
DOCommand: ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.PLC_PRG.DOCommand
Counter: ns=4;s=|var|CODESYS Control for Raspberry Pi SL.Application.PLC_PRG.Counter

În câmpul Type trebuie definit tipul variabilei:

DIStatus: Boolean
DOCommand: Boolean
Counter: UInt32

Toate celelalte noduri sunt folosite pentru a activa nodurile OPC UA simultan și pentru a afișa date pe tabloul de bord.

A fost util acest articol?