Hace unas semanas vimos como dar los primeros pasos para montar un servidor OPC-UA con Node-Red.
Si recuerdas, no es mas que una petición para ponerle la guinda al curso de Industria 4.0 (que ha tenido muy buenas críticas y comentarios en el último post), y que estoy en estos momentos investigando cómo se puede hacer lo que me han pedido, como es aunar Node-Red y crear un servidor OPC-UA.
Hoy damos el segundo paso viendo cómo debemos crear las carpetas y las variables para que luego estas sean visibles desde el cliente.
Los ingredientes
Básicamente para montar el servidor, necesitamos 3 nodos de la colección:
- OPC UA IIoT Inject
- OPC UA IIoT ASO (Address Space Object)
- OPC UA IIoT Server
- OPC UA IIoT Node
Con los tres primeros elementos, podemos crear inicialmente la estructura, con carpetas y valores, como ya vimos.
Pero además podemos dar nuevos valores a las variables inyectadas en el servidor, ya que con el OPC UA IIoT Inject no solamente inyectamos la declaración de las variables, sino que además, podemos posteriormente cambiar el valor de las variables.
Aunque esta no es la forma que más me gusta.
La forma que he encontrado más limpia es usando el cuarto nodo, ya que a mi juicio es más limpio como luego veremos en el vídeo.
Los pasos
Realmente no son muchos.
Concretamente, dos.
El primero es básicamente lo que se muestra en el ejemplo que ya nos proporcionan en la ayuda (adaptándolo a nuestro gusto) para declarar las variables y meterlas si fuera menester en carpetas.
El segundo paso, actualizar los valores de las variables leyendo del PLC y escribiendo estos valores en las variables correspondientes.
Tampoco es que de para mucho más la historia.
El vídeo
Como otras veces, te dejo con un vídeo explicando un poco todos estos conceptos de una forma más visual
Siguiente paso
Lo último que queda, es securizar las comunicaciones con permisos.
Sinceramente, aún no lo tengo claro como hay que hacerlo.
Si he hecho pruebas, y con usuario y contraseña (sin encriptación) he logrado que funcione sin mayores complicaciones.
Pero la gracia final tiene que ser el poder ponerle sus certificados para que la comunicación sea lo más segura posible.
Ya te contaré si lo consigo.
¿Cómo lo ves? ¿Lo ves útil?
Recuerda que todo esto de Node-red, comunicaciones con los PLC y muuuchas cosas más, lo vemos en el curso de Industria 4.0.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
5 Comentarios
Me parece genial todo esto, Íñigo. Aún no he visto a fondo estos 2 últimos artículos sobre servidores OPC UA, pero me pregunto si sería extrapolable a otros PLC, como por ejemplo de Schneider.
Un saludo y gracias por formarnos.
Con Schneider no sabría decirte si se puede comunicar con node-red.
No tengo experiencia con ello.
Sí, se puede a través de los nodos de Modbus TCP. Ya haré yo alguna prueba y si quieres te digo.
Un saludo.
Hola, es posible que los dashboards hechos con node-red se puedan subir a un servicio de hosting?, para que el cliente pueda acceder a los datos de los sensores. Saludos.
Lo que puedes hacer es crear el dashboard en sitios como ubidots y enviar por mqtt los datos a la web. También puedes dar acceso creando una VPN, con su firewall dando acceso a la aplicación. O incluso puedes crear una aplicación de movil y que los datos los vea directamente en el movil.