Cliente OPC UA con Node-RED

Node-RED es una herramienta de programación para conectar dispositivos de hardware, API y servicios en línea de maneras nuevas e interesantes. A través de un editor basado en navegador, es posible conectar objetos (Flujos) utilizando la amplia gama de objetos disponibles.

Ya he explicado en este artículo cómo instalar Node-RED en nuestros sistemas basados ​​en Raspberry, ahora veremos cómo usar Node-RED para comunicarse con otros sistemas usando el protocolo de Arquitectura Unificada de Comunicaciones de Plataforma Abierta (OPC UA), un protocolo de comunicación unificado para la automatización industrial.

Instalación del nodo OPC UA

En la instalación estándar de Node-RED se instala una base de nodos, los más utilizados, pero hay una enorme biblioteca de nodos utilizables. Para utilizar el protocolo OPC UA, instale los nodos suministrados con nodo-red-contrib-opcua. La instalación se puede realizar desde la línea de comandos con (npm) Node Package Manager, o más simplemente desde un navegador.

Desde el menú elija. Manage palette, luego busque el formulario node-red-contrib-opcua y para continuar con la instalación, para probar el ejemplo también es necesario instalar el módulo. node-red-dashboard.

Aquí está el programa

A continuación puede ver el programa en Node-RED con el panel de control relativo que se conecta al programa SimpleOPCUA Desarrollado con CODESYS, ambos programas se ejecutan desde el mismo módulo CPU SlimLine De frambuesa.

La comunicación con el servidor CODESYS OPC UA es realizada por el nodo. OpcUa Client en el cual se define como Endpoint la dirección y el puerto del servidor OPC UA (en el ejemplo es opc.tcp: // 192.168.0.180: 4840). Por supuesto, girando ambos programas en el mismo procesador podría definir opc.tcp: // localhost: 4840. En operaciones de lectura (Variables DIStatus e Counter) será definido Action READ, en operaciones de escritura (Variable DOCommand) será definido Action WRITE.

El objeto se encuentra en el cliente OpcUa OpcUa Item que especifica el NodeId De la variable a la que se accederá para ser reportada en el campo. Item, para identificar el valor a escribir usa el programa similar a UaExpert se muestra aquí. En el ejemplo tendremos:

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

En el campo Tipo se debe definir el tipo de la variable:

DIStatus: Boolean
DOCommand: Boolean
Counter: UInt32

Todos los demás nodos se utilizan para activar los nodos OPC UA a la vez y para mostrar los datos en el panel de control.

¿Le resultó útil este artículo?