Descripción
E n la industria de las bebidas gasificadas, más específicamente en la producción de gaseosas, el control de variables de proceso es esencial para garantizar la eficiencia operativa y la calidad de los productos. Con el uso de herramientas de programación visual como Node-RED, se puede establecer un sistema de monitoreo y control en tiempo real que permite gestionar distintos parámetros dentro de la fábrica, optimizando así el rendimiento de cada etapa de la producción.
Este proyecto se enfoca en el diseño de un sistema para una fábrica de gaseosas que integra y supervisa cinco variables específicas mediante Node-RED.
Estas son:
- La temperatura de los tanques para asegurar la estabilidad de los ingredientes.
- La presión en la máquina de embotellado para evitar errores en el llenado.
- La presión en la máquina de fabricación de botellas para garantizar la uniformidad de los envases.
- El consumo de agua que impacta tanto en la producción de las bebidas como en el proceso de limpieza de botellas retornables.
- La velocidad de la máquina de etiquetado, que debe mantenerse en niveles óptimos para evitar cuellos de botella en la línea de producción.
Objetivos
Objetivo General
Desarrollar un sistema de control en tiempo real para una fábrica de gaseosas mediante Node-RED, con el fin de optimizar el control de variables en el proceso de producción y garantizar la calidad del producto.
Objetivos específicos
- Implementar un sistema de monitoreo de temperatura en los tanques de mezcla para asegurar que los ingredientes se mantengan en el rango ideal de conservación.
- Establecer un sistema de control de presión en la máquina de embotellado para minimizar errores de llenado y garantizar la consistencia en el volumen de las botellas.
- Configurar el monitoreo de presión en la máquina de fabricación de botellas para asegurar la uniformidad de los envases y reducir los defectos en el proceso de moldeado.
- Supervisar el consumo de agua tanto en el proceso de fabricación de bebidas como en el lavado de envases retornables, a fin de optimizar el uso de recursos.
- Controlar la velocidad de la máquina de etiquetado para evitar cuellos de botella y garantizar un flujo continuo en la línea de producción.
Se emplearon las siguientes variables:
-
- Temperatura de los tanques: Monitorea la temperatura de los tanques donde se almacenan las bebidas.
- Presión en Máquina de llenado de Botellas: Controla la presión durante el llenado de las botellas para evitar problemas de llenado.
- Velocidad de la máquina de Etiquetado: Mide la velocidad de etiquetado para controlar que se mantenga en valores óptimos de producción.
- Máquina de Fabricación de Botellas: Monitorea la presión usada durante la fabricación de botellas.
- Consumo de Agua: Monitorea el agua usada en la limpieza y producción de bebidas.
Definiciones técnicas para no especialistas
- Nodo: un "nodo" es como una pequeña caja que representa una acción o una función específica, como "recibir datos", "procesarlos" o "enviar una alerta". Cada nodo tiene una tarea específica y se conecta con otros nodos para construir el sistema completo.
- Flow (flujo): Un "flow" es el diagrama que se construye al unir varios nodos. Este flujo muestra, de manera visual, cómo los datos pasan de un nodo a otro, realizando diferentes acciones hasta que llega a un resultado, como activar una alarma o guardar información.
- Entrada y salida: Cada nodo tiene un área de "entrada" (donde recibe información) y una de "salida" (donde envía el resultado después de procesarlo). Esto es como el "principio" y el "final" de cada tarea.
- Payload: El "payload" es simplemente la información o los datos que se están transmitiendo de un nodo a otro. Podría ser la temperatura de un tanque o el nivel de presión en una máquina, y estos datos se procesan a medida que avanzan por el flujo.
- Deploy (despliegue): Una vez que el flujo está listo y configurado, se hace un "deploy", lo que significa que el flujo se activa y comienza a funcionar en el sistema real, procesando y monitoreando datos en tiempo real.
Producto mínimo viable (PMV)
Definición de Variables
1️⃣ Temperatura de los tanques:
- Descripción: Monitorea la temperatura de los tanques donde se almacenan las bebidas.
- Rango Operativo: Entre 9 y 10 grados Celsius que simula una condición óptima.
- Función: Un nodo verifica si la temperatura está dentro del rango ideal, si no lo está, muestra una alerta.
2️⃣ Presión en Máquina de llenado de Botellas:
- Descripción: Controla la presión durante el llenado de las botellas para evitar problemas de llenado.
- Rango Operativo: Entre 108 y 110 PSI, estando otros valores fuera de rango.
- Función: Un nodo verifica si la presión está dentro del rango ideal, si no lo está, muestra una alerta. También se calcula el tiempo de producción y se calcula la electricidad usada durante el tiempo operativo.
3️⃣ Velocidad de la máquina de Etiquetado:
- Descripción: Mide la velocidad de etiquetado para controlar que se mantenga en valores óptimos de producción.
- Rango Operativo: Entre 90 y 110 Etiquetas por Minuto.
- Función: Se verifica si la velocidad de etiquetado es adecuada y activa alertas en caso de que este fuera de rango.
4️⃣ Máquina de Fabricación de Botellas:
- Descripción: Monitorea la presión usada durante la fabricación de botellas.
- Rango Operativo: Entre 100 y 101 PSI.
- Función: Se verifica que la presión durante la fabricación de los envases plásticos es adecuada y activa alertas en caso de que este fuera de rango.
5️⃣ Consumo de Agua:
- Descripción: Monitorea el agua usada en la limpieza y producción de bebidas.
- Cálculos: Total de agua usada por hora y consumo acumulado durante el día productivo.
- Función: Los valores de limpieza y producción de bebida se suman para dar el total de agua usada.
Flow en Node-RED
Temperatura de los tanques
El nodo Temperatura_tanques es un nodo Inject que inicia el flujo generando una señal a intervalos regulares. Esta señal se envía al nodo temp_tanques, una función que genera un número aleatorio entre 9 y 10, representando la temperatura de los tanques de gaseosa.
Luego, el valor obtenido se envía al nodo Verificación de temperatura, donde se evalúa si la temperatura está dentro del rango óptimo. Dependiendo del resultado, se genera un mensaje indicando si la temperatura es correcta, alta o baja. Además, este nodo lleva un conteo de cuántas veces la temperatura ha estado fuera del rango ideal, lo que permite detectar posibles fallas en el sistema de refrigeración.
Finalmente, los datos procesados se visualizan en el dashboard, permitiendo un monitoreo en tiempo real de la temperatura de los tanques. Esto facilita la identificación rápida de desviaciones y ayuda en la toma de decisiones para el mantenimiento del proceso productivo.
Máquina de etiquetado
La máquina de etiquetado comienza su proceso con un nodo Inject, que envía un pulso cada dos segundos para simular el funcionamiento continuo del sistema. Este pulso se dirige a un nodo Function llamado Velocidad_Etiquetado, el cual genera un número aleatorio entre 90 y 110 etiquetas por minuto, representando la velocidad a la que opera la máquina.
Este valor luego se procesa en un nodo de verificación de velocidad, donde se evalúa si la velocidad de etiquetado se encuentra dentro del rango óptimo o si presenta desviaciones. En caso de detectar valores demasiado altos o bajos, se activa una alerta que se visualizará en el dashboard, permitiendo un monitoreo en tiempo real del rendimiento de la máquina.
Este flujo ayuda a identificar posibles cuellos de botella en la producción y ajustar la operación de la máquina para mantener una eficiencia óptima.
Máquina de llenado de botellas
La máquina de llenado de botellas inicia su proceso con un nodo Inject, que inyecta un pulso cada segundo para simular el funcionamiento continuo del sistema. Este pulso se envía a un nodo Function llamado Presion_Llenado, el cual genera un valor aleatorio entre 108 y 110 PSI, representando la presión con la que se llenan las botellas.
El siguiente paso es la verificación de esta presión mediante el nodo Function Verificacion_Presion_Llenado, que evalúa si la presión se encuentra dentro del rango adecuado. Dependiendo del valor obtenido, el sistema emite un mensaje de presión que indica uno de los tres posibles estados:
- Presión Alta 🔺 si el valor supera el umbral óptimo.
- Presión Óptima ✅ si se encuentra dentro del rango ideal.
- Presión Baja 🔺 si el valor es inferior al recomendado.
Además del control de presión, se incorpora un cálculo del tiempo de producción, considerando un período total de 8 horas. Para ello, se utilizan tres variables clave:
- Tiempo de inicio: Se registra cuando el sistema recibe el primer pulso.
- Tiempo del último chequeo: Se actualiza con cada nuevo pulso recibido.
- Tiempo actual: Marca la hora exacta en el momento de la medición.
Con estos datos, se calcula el tiempo total durante el cual la máquina estuvo en operación efectiva, permitiendo visualizar no solo la duración de la producción, sino también el tiempo total de trabajo con y sin errores.
Este flujo de trabajo facilita el monitoreo en tiempo real y permite detectar posibles desviaciones en la presión de llenado, lo que ayuda a mejorar la eficiencia y calidad del proceso productivo.
Máquina de Fabricación de Botellas
El proceso comienza con un nodo Inject, que genera pulsos en intervalos regulares para simular la operación de la máquina. A partir de ahí, se genera un valor aleatorio en el nodo Function encargado de simular la presión de soplado.
Una vez generada la presión, el sistema la evalúa mediante un nodo Function de verificación. Dependiendo del valor obtenido, se mostrará un mensaje indicando una de las siguientes condiciones:
- Presión Óptima ✅ → Se encuentra dentro del rango adecuado.
- Presión Baja 🔻 → Puede generar fallas en la formación de las botellas.
- Presión Alta 🔺 → Puede provocar deformaciones en los envases.
Este control nos permite detectar desviaciones en el proceso y tomar acciones correctivas para asegurar la calidad de la producción.
Posteriormente, se pasa al nodo Function de Producción de Botellas, que calcula la cantidad de botellas generadas por minuto. Este nodo devuelve un mensaje con:
- Cantidad total de botellas producidas por minuto
- Cantidad de botellas defectuosas debido a errores en la presión de soplado.
Este sistema permite monitorear en tiempo real el rendimiento del proceso de fabricación y visualizar los datos en el dashboard, facilitando la toma de decisiones para mejorar la eficiencia y reducir desperdicios.
Si quieres, podemos ajustar el cálculo de botellas defectuosas según la presión detectada.
Consumo de Agua
El monitoreo del consumo de agua se realiza a través de nodos que generan y suman el agua utilizada en diferentes etapas de la producción.
1️⃣ Generación de Datos
- Se simula la cantidad de agua utilizada en la limpieza de botellas, con valores aleatorios entre 100 y 101 litros por hora.
- Se simula la cantidad de agua utilizada en la producción de bebidas, con valores aleatorios entre 300 y 400 litros por hora.
2️⃣ Unión de Datos
Para combinar ambos valores, utilizamos un nodo Join, que permite fusionar la información proveniente de los dos nodos anteriores en un solo mensaje.
3️⃣ Cálculo del Consumo Total
Después de unir los datos, un nodo Function se encarga de sumar la cantidad de agua de limpieza y la cantidad de agua para las bebidas, generando un mensaje que muestra:
- Cantidad de agua usada en la limpieza de botellas por hora
- Cantidad de agua utilizada en la producción de bebidas por hora
- Consumo total de agua en el ciclo productivo
Este sistema nos permite monitorear el uso del agua en tiempo real y visualizarlo en un dashboard, facilitando la toma de decisiones para mejorar la eficiencia en el consumo de recursos.
Nodos Mongo DB
Se implementaron nodos de MongoDB para almacenar y gestionar la información recolectada en tiempo real sobre las variables operativas del sistema. Estos nodos están configurados para conectarse a un clúster de MongoDB Atlas, lo que permite almacenar los datos en la nube. Cada vez que se genera un nuevo dato de producción (como la temperatura de los tanques, la presión de llenado, la velocidad de etiquetado, el consumo de agua y electricidad), el nodo MongoDB envía estos datos al clúster en Atlas.
Esta configuración facilita el acceso a los datos desde cualquier ubicación y permite realizar análisis posteriores para optimizar el rendimiento del sistema. A continuación se puede observar el clúster que aloja la base de datos y las colecciones que fueron creadas de manera independiente para cada Nodo Function.
Conclusión
Este proyecto me permitió explorar y aplicar nuevas tecnologías en el ámbito del Internet Industrial de las Cosas, particularmente a través de Node-RED y MongoDB Atlas. La implementación de nodos de simulación y monitoreo en tiempo real para variables como la temperatura, la presión, la velocidad de etiquetado y el consumo de recursos me brindó un entendimiento práctico sobre cómo se pueden gestionar y analizar datos en entornos industriales.
Además, tuve la oportunidad de familiarizarme con protocolos de comunicación y técnicas de almacenamiento en la nube, permitiéndome subir datos en tiempo real a un clúster de Atlas y acceder a ellos de manera segura y escalable. Aunque no profundicé en cada tecnología utilizada, este proyecto me abrió la puerta a nuevas posibilidades en el monitoreo de procesos productivos y el uso de dashboards para la toma de decisiones basadas en datos.
En cuanto al uso de gráficos en el dashboard, enfrenté algunos desafíos debido a mi limitado conocimiento de JavaScript, lo que me impidió implementar ciertos elementos visuales que habrían enriquecido el monitoreo de las variables en tiempo real. Esto me demostró la importancia de profundizar en el uso de este lenguaje de programación para mejorar la personalización y funcionalidad de los gráficos en futuras implementaciones.
📌 Información importante
Para ver este proyecto, necesitas Node-RED. Es rápido y fácil de instalar. Sigue este tutorial.
¿Querés ver los detalles por tu cuenta?
Accedé al material relacionado con este proyecto en mi OneDrive. Hacé clic en el ícono de descarga para obtener los archivos.
📌 Créditos de imágenes: Node-RED