Ir al contenido

Lección 3. Controlar las salidas del PLC desde Node-RED

#3 Cómo interactuar con las salidas

En el capítulo #3 se muestra cómo interactuar con las salidas de un PLC de Industrial Shields. Antes de comenzar este capítulo asegúrate de haber realizado los pasos de los capítulos anteriores. Durante el curso iremos ampliando la aplicación Node-RED, por lo que en este ya tenemos las entradas en el cuadro de mandos.

Requisitos

  • Node-RED y NodeJS instalados y funcionando
  • Node-RED Dashboard 1.x (node-red-dashboard) instalado
  • Broker MQTT Mosquitto instalado y en funcionamiento
  • PLC con el código del capítulo 1 en funcionamiento

Una vez conseguidos los requisitos, empezaremos a explicar cómo funcionará la arquitectura de salida.

Arquitectura de las salidas

Como se ha comentado anteriormente, este curso está diseñado para ser utilizado con una familia de PLCs M-Duino. Como ejemplo, utilizamos un M-Duino 21+.

En nuestro M-Duino 21+ tenemos 8 salidas digitales (de Q0_0 a Q0_7), además sabemos que tres de estas salidas digitales pueden funcionar como salidas analógicas. Así, en nuestro ejemplo habrá 5 salidas digitales (de Q0_0 a Q0_4) y 3 salidas analógicas (de A0_5 a A0_7). Para ampliar la aplicación Node-RED a más salidas, el procedimiento es exactamente el mismo.

Añadir una nueva pestaña

Para tener una mejor organización de nuestro dashboard, sería perfecto colocar una nueva pestaña donde podamos controlar nuestras salidas y no mezclarlas con nuestras entradas. Obviamente, esto es un ejemplo en tu propia aplicación. Puedes colocar los diferentes componentes en función de tus necesidades.

Así, en la primera parte de este capítulo, veremos cómo añadir una nueva pestaña.

Ve a la interfaz de usuario de Node-RED a través de tu navegador. En la parte superior derecha selecciona el menú y haz clic en flow -- > Add a new flow. A continuación, ve a un flujo renombrado y llamado Flujo de salida.

Flujo 4 - Añadir una nueva pestaña - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

Después de esto, se creará una pestaña automática. En nuestro Layout, podremos nombrar y añadir los nuevos grupos. Nombra tu nueva pestaña Salidas y añade dos nuevos grupos uno llamado Salidas Analógicas y otro llamado Salidas Digitales.

Ahora ya podemos añadir los elementos del dashboard:

1. Añade un Switch y un Slider.
2.Haz clic en ellos y ponles nombre.
3.Selecciona también el grupo donde se colocarán.
4.Selecciona Salidas Analógicas para el slider y Salidas Digitales para el switch.

No olvides añadir el topic en la parte inferior del nodo Edit switch. A para las salidas analógicas y Q para las salidas digitales.

Salidas analógicas - Edit slider node - Añadir una nueva pestaña - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

Salidas digitales - Edit switch node - Añadir una nueva pestaña - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

Enviar el mensaje MQTT

Hasta ahora hemos colocado los elementos en nuestro dashboard. Ahora toca conectarlos al broker MQTT, es decir, enviar un mensaje con el topic A y Q.

Primero hay que relacionar el switch y el slider con el objeto JS adecuado. Selecciona la función Change y configúrala así:

Edit change node 1 - Enviar el mensaje MQTT - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

*Para cada salida distinta debemos establecer el valor del índice. En este caso es un "0" porque estamos configurando la Q0_0.

La función change añade un nuevo contenido. Ahora tenemos un índice, además del payload con el valor del switch o del slider analógico. Además del índice, necesitamos añadir la zona. Así que añade otra función change con el parámetro de la zona. Fíjate en la siguiente imagen:

Edit change node 2 - Enviar el mensaje MQTT - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

*Para cada zona diferente debemos establecer el valor adecuado de la zona. En este caso es un "0" porque estamos configurando la zona 0 (entre Q0_0 y A0_7).

Ahora, tenemos el objeto JS configurado correctamente y sólo tenemos que crear el JSON y enviarlo al broker MQTT. Toma la función JSON y edítala como "Always convert to JSON String" ("Convertir siempre a cadena JSON"). A continuación, añade la función de salida MQTT y selecciona el broker. En nuestro caso, nuestro broker se está ejecutando en nuestro ordenador así que seleccionamos "Localhost broker".

*Recuerda que hemos añadido el topic en la función switch. También podemos definirlo en la función de salida MQTT, pero entonces tendremos que crear dos nodos distintos.

Mira el ejemplo de cómo configurar la función JSON y la función de salida MQTT.

Edit JSON node - Enviar el mensaje MQTT - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

Edit mqtt out node - Enviar el mensaje MQTT - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

Por último, añade todas las E/S que quieras utilizar y coloca los switches y sliders donde quieras usando el

Nuestro programa Node-RED debería tener el aspecto de la imagen siguiente:

Salidas - Dashboard de Node-RED - Lección 3 - Desarrolla tu aplicación SCADA con Node-RED

No se permite comentar en este curso.