Caso de estudio · Planta textil · ESP32 PLC
Paros, alarmas y kWh. Un PLC por máquina.
Un ESP32 PLC por máquina de punto: estado, alarmas y energía por MQTT.
Cada máquina cuenta lo que hace y lo que consume. La red puede fallar.
Tres preguntas por máquina: ¿funciona?, ¿por qué se ha parado?, ¿cuánta energía ha usado?
Este caso describe cómo monitorizar máquinas de tejido de punto y su energía con equipos de Industrial Shields. Se basa en un proyecto real en una planta de tejido de punto y no cita al cliente ni la ubicación. Los valores de los paneles son ejemplos, no datos de la planta.
El reto
Muchas máquinas, fabricantes distintos, un solo WiFi de fábrica.
Mantenimiento quiere saber cuándo se para una máquina y por qué. La dirección quiere saber qué produce y qué consume cada máquina. Las máquinas son de fabricantes distintos y dan señales distintas. El WiFi de la fábrica no siempre aguanta, y un evento perdido es un paro perdido.
Máquinas distintas, señales distintas
Un tipo de máquina da seis contactos: en marcha, paro de emergencia, aguja, aceite, pieza terminada e hilo roto. Otras solo dan la velocidad y las vueltas del eje principal.
Los circuitos de la máquina no se tocan
Los relés de acoplamiento copian cada señal de la máquina a un contacto limpio de 24 Vdc. El PLC no comparte ningún circuito con el control de la máquina.
Energía por máquina, no por planta
Un analizador de red trifásico en cada máquina. El contador de la planta da el total. No dice qué máquina lo ha consumido.
Una red que se puede caer
Los eventos no se pueden perder cuando falla el WiFi. Cada PLC guarda sus datos hasta que el siguiente nivel los tiene.
Una sola vista para mantenimiento y dirección
Un concentrador en cada zona de producción recoge los datos de sus máquinas, los guarda hasta que el servidor los confirma y los pasa al software de gestión. Un latido (heartbeat) muestra qué PLC está callado.
Cómo funciona
Tres fases: estado, energía, entrega.
Cada fase muestra una parte del sistema. Pulsa los botones y mueve el control. Los paneles son simulaciones ilustrativas: velocidades, potencias y tiempos son ejemplos, no datos de la planta.
Cambia un contacto. El PLC lo publica al momento.
Los relés de acoplamiento copian las señales de la máquina a las entradas digitales del PLC. Cada cambio de una entrada es un evento: el PLC lo publica por MQTT al momento, con la hora de su reloj de tiempo real y un ID de mensaje único. La velocidad y las vueltas del eje principal llegan como pulsos a las dos entradas de interrupción. Elige un evento y mira el estado, el contador de paros y el registro.
- Seis contactos con relés de acoplamiento, en entradas de 24 Vdc
- Un evento MQTT en cada cambio de entrada, con un ID de mensaje único
- Velocidad y vueltas del eje en las dos entradas de interrupción
Eventos MQTT (ejemplo)
Simulación ilustrativa. Valores de ejemplo, sin datos de la planta. Velocidad de ejemplo: 25 rpm, mostrada 4 veces más rápido. La velocidad real depende de la máquina y del tejido.
Prueba una línea completa monitorizada, con OEE, alarmas y energía, en el simulador Machine Monitor.
Un analizador en cada máquina. El PLC lo lee y le añade el estado.
Un analizador de red trifásico mide cada máquina. Una forma habitual de hacerlo: el PLC, como maestro Modbus RTU, consulta el analizador (esclavo) en su puerto RS-485 cada pocos segundos y obtiene tensión, corriente, potencia y el contador de energía. El PLC añade el estado de la máquina a cada lectura. Así la planta ve la energía que usa una máquina cuando trabaja y cuando está parada. Mueve la carga y para la máquina.
- Analizador de red trifásico en el puerto RS-485
- Tensión, corriente, potencia y contador de energía
- Cada lectura con el estado de la máquina
Lecturas del analizador (ejemplo)
Simulación ilustrativa. Valores de ejemplo, sin datos de la planta. Valores de ejemplo: trifásica a 400 V, factor de potencia 0,85, una lectura cada 5 s, tiempo mostrado unas 60 veces más rápido. El registro muestra una lectura de cada diez. La potencia real depende de la máquina.
La energía por máquina, paso a paso: simulador Energy Meter.
Se cae el WiFi. Los datos esperan en la tarjeta.
Una forma habitual de hacerlo: el PLC escribe cada evento y cada lectura en una tarjeta SD, un archivo por día, como en el ejemplo de registro offline-first. Cuando no hay WiFi o no hay concentrador, el PLC sigue trabajando y sigue escribiendo. Cuando vuelve el enlace, envía lo pendiente, y el ID de mensaje permite al concentrador encontrar los duplicados. El concentrador guarda los datos hasta que el servidor los confirma. Corta el WiFi y después recupéralo.
- Archivos diarios en una tarjeta SD
- Reenvío al reconectar, duplicados detectados por ID de mensaje
- El concentrador guarda los datos hasta que el servidor los confirma
Camino de los datos (ejemplo)
Simulación ilustrativa. Valores de ejemplo, sin datos de la planta. Ejemplo: un evento por segundo. El ritmo de reenvío y el tamaño de la tarjeta fijan cuánto tiempo de corte aguanta el sistema.
Código de este patrón: pack de proyecto de monitorización textil.
Arquitectura del sistema
¿Cómo se monitorizan con un PLC las máquinas de punto y su energía?
En cada máquina hay un ESP32 PLC 21 CORE, un analizador de red trifásico, relés de acoplamiento y una fuente de 24 Vdc. El PLC lee los contactos de la máquina en entradas digitales, la velocidad y las vueltas en dos entradas de interrupción, y el analizador por RS-485. Guarda un registro local y lo publica por MQTT en el WiFi de la fábrica. En cada zona de producción, un concentrador GateBerry ejecuta el broker MQTT local, guarda y reenvía los datos, da la hora y las actualizaciones de firmware a los PLC, y pasa los datos al servidor y al software de gestión.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| Máquina en marcha | EntreContacto de máquina → relé → PLC | TipoEntrada digital | FunciónEn marcha o parada. Cada cambio es un evento MQTT |
| Alerta de paro de emergencia | EntreContacto de máquina → relé → PLC | TipoEntrada digital | FunciónMotivo del paro |
| Alerta de aguja | EntreContacto de máquina → relé → PLC | TipoEntrada digital | FunciónMotivo del paro: aguja |
| Alerta de aceite | EntreContacto de máquina → relé → PLC | TipoEntrada digital | FunciónMotivo del paro: lubricación |
| Pieza terminada | EntreContacto de máquina → relé → PLC | TipoEntrada digital | FunciónUna pieza de tejido está completa |
| Hilo roto | EntreContacto de máquina → relé → PLC | TipoEntrada digital | FunciónMotivo del paro: hilo |
| Velocidad | EntrePulso de máquina → PLC | TipoEntrada de interrupción | FunciónVelocidad en rpm, en las máquinas sin los seis contactos |
| Vueltas del eje principal | EntrePulso de máquina → PLC | TipoEntrada de interrupción | FunciónContador de vueltas para la producción |
| Potencia y energía | EntreAnalizador ↔ PLC | TipoRS-485 | FunciónTensión, corriente, potencia, kWh. Modbus RTU es una opción habitual |
| Eventos y lecturas | EntrePLC → concentrador | TipoMQTT por WiFi | FunciónUn evento en cada cambio, una foto completa cada cierto tiempo |
| Registro local | EntrePLC → tarjeta SD | TipoArchivo diario | FunciónPrimero se escribe todo. Se reenvía después de un corte de red |
| Latido | EntrePLC → concentrador | TipoMQTT por WiFi | FunciónMuestra qué PLC está callado |
| Hora y firmware | EntreConcentrador → PLC | TipoWiFi | FunciónHora para el reloj de tiempo real, actualizaciones de firmware |
| Datos de planta | EntreConcentrador → servidor | TipoEthernet | FunciónGuardados hasta que el servidor los confirma, después al software de gestión |
Por qué funciona
El registro vive en la máquina. La red solo lo transporta.
Un evento, no una consulta
El PLC publica un cambio cuando pasa. Un paro corto no se esconde entre dos consultas. Una foto completa cada cierto tiempo (cada 20 s, por ejemplo) confirma el estado.
La tarjeta es el registro
En este patrón, cada evento y cada lectura se escriben primero en la tarjeta SD. La red solo es la salida, así que un corte de WiFi retrasa los datos pero no los borra.
Relés entre dos sistemas
La ficha técnica pide una masa común o aislamiento cuando se conectan otros sistemas al PLC. Los relés de acoplamiento dan al PLC un contacto libre de potencial a 24 Vdc, y los circuitos de la máquina quedan como los cableó el fabricante.
Energía con un motivo
Un valor de kWh solo dice poco. Con el estado de la máquina al lado, se separa en energía de producción y energía de espera.
Una sola base de tiempo
El concentrador da la hora a todos los PLC, y el reloj de tiempo real con pila la mantiene durante un corte. Los eventos de muchas máquinas se ordenan tal como pasaron en planta.
Hecho para repetirse
Todos los PLC ejecutan el mismo programa y toman su propio ID de la configuración. Una máquina nueva es un PLC más, un analizador más y un tema MQTT más.
Hardware utilizado
Un PLC en cada máquina. Una pasarela en cada zona.
ESP32 PLC 21 CORE
Un controlador industrial basado en el ESP32 de doble núcleo, con WiFi, Bluetooth LE, Ethernet, RS-485 y RS-232, 13 entradas y 8 salidas, para carril DIN. Se programa con el Arduino IDE. En cada máquina lee los contactos, los pulsos y el analizador, guarda un registro local y publica por MQTT.
- Función
- Estado de la máquina, alarmas, pulsos, analizador, registro local
- Entradas
- 13: 6 analógicas o digitales (0-10 Vdc en analógico, 0-24 Vdc en digital), 7 digitales aisladas (5-24 Vdc, 2 con interrupción, hasta 1 kHz)
- Salidas
- 8: 3 analógicas, digitales o PWM (0-10 V), 5 digitales aisladas
- Inalámbrico
- WiFi 2,4 GHz, Bluetooth LE
- Comunicaciones
- Ethernet (RJ45), RS-485, RS-232, I2C, SPI
- Reloj y memoria
- RTC DS3231 con pila, 16 MB de flash
- Programación
- Arduino IDE
- Alimentación
- De 12 a 24 Vdc, carril DIN TS35, IP20
El CORE es la versión lista para enviar, sin placa de expansión. Para tener 4G, LoRa o CAN integrados, consulta el ESP32 PLC 21 FLEX. Recuento de entradas: los seis contactos usan 6 entradas y los pulsos las 2 de interrupción, así que incluso una máquina con todo usa 8 de 13.
GateBerry FLEX
El concentrador de cada zona de producción. Una pasarela industrial con Raspberry Pi, para carril DIN, con Linux. Ejecuta el broker MQTT local y Node-RED, guarda los datos de sus PLC hasta que el servidor los confirma, les da la hora y las actualizaciones de firmware, y vigila su latido.
- Función
- Broker MQTT, buffer y reenvío, hora, firmware, latido
- Red
- Ethernet Gigabit, WiFi, Bluetooth LE
- Bus de campo
- RS-485 con terminación conmutable, I2C
- Integrado
- SAI para un apagado seguro, reloj de tiempo real
- Alimentación
- De 12 a 24 Vdc, carril DIN, IP20
El proyecto usó un concentrador por zona de producción. El GateBerry FLEX se puede configurar con más RAM y con LoRa, 4G, CAN, M-Bus o RS-232. Mira cómo montarlo en el ejemplo de concentrador MQTT con Node-RED.
Preguntas sobre este caso
¿Cómo se monitorizan máquinas de punto que no tienen puerto de datos?
Con las señales que ya tienen. Los relés de acoplamiento copian cada contacto (en marcha, alarmas) a una entrada de 24 Vdc del PLC, y la velocidad y las vueltas llegan como pulsos a entradas de interrupción. El control de la máquina no cambia. Consulta el contador de pulsos de producción con interrupciones.
¿Cómo se mide la energía de cada máquina?
Con un analizador de red trifásico en la alimentación de cada máquina. Una forma habitual de hacerlo: el PLC, como maestro Modbus RTU, consulta el analizador (esclavo) por RS-485 y envía tensión, corriente, potencia y energía junto con el estado de la máquina. Consulta el maestro Modbus RTU en un ESP32 PLC.
¿Qué pasa con los datos cuando se cae el WiFi?
El PLC sigue trabajando y guarda un registro local. Una forma habitual de hacerlo: archivos diarios en una tarjeta SD. Cuando vuelve el enlace, reenvía lo pendiente. El concentrador guarda los datos hasta que el servidor los confirma. Consulta el registro MQTT offline-first con tarjeta SD y la reconexión WiFi sin bloqueo.
¿Por qué un PLC por máquina?
El cableado queda corto y dentro del armario de la máquina, y un fallo solo afecta a una máquina. Todos los PLC ejecutan el mismo programa con su propio ID, así que añadir una máquina es siempre el mismo trabajo.
¿Cómo se mantienen en hora los relojes de muchos PLC?
Cada ESP32 PLC tiene un reloj de tiempo real (DS3231) con pila. Toma la hora de la red (NTP) a través del concentrador y la mantiene durante un corte, así que cada evento lleva una hora correcta. Consulta el RTC sincronizado por NTP en un ESP32 PLC.
¿Dónde puedo probarlo y conseguir el código?
El simulador Machine Monitor muestra OEE, alarmas y energía en una línea monitorizada. El pack de proyecto de monitorización textil tiene los sketches de Arduino y el flujo Node-RED del concentrador para este patrón.
¿Una planta similar?
Cuéntanos tus máquinas y tus señales. Te responderá un ingeniero.
Dinos qué máquinas tienes, qué señales da cada una, si quieres la energía por máquina y adónde tienen que ir los datos. Te diremos qué controlador encaja y cómo cablearlo.
- Respuesta de nuestro equipo técnico
- Recuento de E/S y dimensionado del controlador para cada tipo de máquina
- PLC basados en Arduino, ESP32 o Raspberry Pi