Introducción
En esta entrada voy a mostrar una simulación industrial que hice hace un tiempo intentando combinar la automatización con PLC y el entorno gráfico Unity.
El experimento consiste en la simulación de una línea de pulpa hecha con el motor gráfico Unity, la idea es similar al SCADA (sistema de control y adquisición de datos) sólo que en este caso sólo observamos los estados de las máquinas, no se hace control.
Los modelos 3D de las máquinas fueron hechos con Blender y posteriormente se animaron con programación en Unity.
En la simulación las máquinas se pueden activar y desactivar, la idea es que estas máquinas sean controladas con la información que se recibe del Arduino por puerto USB.
Descripción del experimento
La idea es controlar variables en Unity utilizando un Arduino que se encarga de leer los estados de las salidas del PLC y con eso elaborar una palabra que se envía por USB a la PC y desde Unity se interpreta esa palabra y se aplican los cambios correspondientes.
En el siguiente video perteneciente al canal de mi otra página muestro el resultado de la simulación.
Los problemas de sincronización que se ven en el video ya fueron solucionados utilizando programación multihilos. Probablemente haga un artículo para mostrar cómo quedó la versión final que se usó para simular el funcionamiento de una cámara frigorífica.
Conclusión
Esta simulación industrial fue el pie para un trabajo en el que se utilizó un PLC para controlar un proceso que involucra sensores de temperatura y variadores de velocidad para controlar el giro de unos ventiladores.
Con Arduino se hace la lectura de los estados de las salidas digitales del PLC y de la salida analógica para controlar la velocidad de los ventiladores y esto se envía en una palabra de 6 caracteres.
En Unity se toma esta palabra de 6 caracteres y se interpreta cuál es el estado de las salidas digitales y qué valor está saliendo en el puerto analógico y la simulación se ajusta a estos valores.