Caso de éxito · FEDA · ESP32 PLC
FEDA cuenta cada litro. Los ESP32 PLC envían cada litro al SCADA.
Contadores de agua por pulsos, Modbus TCP y alarmas en el SCADA.
Un pulso perdido es un litro perdido.
El PLC guarda el total, aunque falle la red.
FEDA, en Andorra, quería tener toda la información posible sobre su consumo de agua dulce. La cantidad y la calidad del agua en Andorra no parecen un problema, pero los recursos naturales escasean en todo el planeta. El objetivo del proyecto: controlar el agua fría de los edificios de FEDA e integrarla en el plan de eficiencia energética de la empresa. SIRA, una empresa tecnológica andorrana de robótica e inteligencia artificial, es el socio tecnológico que cita el caso. Los ESP32 PLC de Industrial Shields leen los contadores de agua y envían los datos por Modbus TCP a un SCADA Circutor PowerStudio.
Del caso
FEDA y su pantalla SCADA.
Material real del caso de éxito original: un edificio de FEDA y la pantalla de PowerStudio del proyecto, con un panel por contador.
El reto
Conocer el consumo de agua de cada edificio, en tiempo real.
FEDA quería ver en tiempo real el consumo de agua fría de sus edificios y compararlo con las medias de consumo. El objetivo: detectar a tiempo fugas y pérdidas innecesarias, e incluir el agua en el plan de eficiencia energética de la empresa. Para eso, cada litro tiene que llegar al SCADA, pase lo que pase con la red o con la alimentación.
Cada litro, por edificio
Cada edificio tiene contadores de agua adecuados a la sección de su tubería. Cada contador lleva un emisor de pulsos configurado por NFC: un pulso de 300 ms por litro. El PLC no puede perder ningún pulso.
Una red que puede fallar
Los datos viajan desde los edificios por Ethernet. Una colisión o una caída de la comunicación no pueden costar ni un litro en los registros.
Un corte de luz
El total que el PLC ha registrado tiene que seguir ahí cuando vuelve la alimentación.
Hasta el SCADA, con alarmas
El SCADA es Circutor PowerStudio, que trabaja con Modbus TCP por Ethernet. Tiene que mostrar cada contador y avisar a los responsables cuando el consumo sale de los parámetros fijados.
Cómo funciona
Dos lazos: contar y guardar cada litro, y supervisar.
Mueve el deslizador y pulsa los botones. Los paneles muestran el patrón general: qué cuenta el PLC, qué guarda y qué muestra el SCADA. Son simulaciones ilustrativas. No muestran el programa, los límites ni los datos de la instalación.
Un pulso es un litro. El PLC guarda el total.
Cada contador de agua lleva un emisor de pulsos de Bmeters. Da un pulso de 300 ms por cada litro. Un ESP32 PLC de Industrial Shields lee los pulsos en una entrada digital y los suma en un total por contador. Envía el valor total en litros, no pulsos sueltos. Si una trama se pierde por una colisión o por una caída de la comunicación, la siguiente sigue llevando todos los litros. El PLC también guarda sus variables en una tarjeta µSD, así que un corte de luz no borra el total.
- 1 pulso = 1 litro, 300 ms por pulso
- Salida del emisor N-MOS (NPN), hasta 30 Vdc y 100 mA
- Un total por contador, enviado como un solo valor
- La tarjeta µSD guarda el total si se corta la luz
Simulación ilustrativa. Tiempo a escala y caudal de ejemplo. "Incrementos" es una comparación: quien envía incrementos sueltos pierde los litros de cada trama perdida. El caso envía el total. No se publican el programa, la frecuencia de las tramas ni cada cuánto escribe el PLC en la tarjeta µSD.
Ejemplos relacionados
El SCADA muestra cada contador y avisa cuando algo va mal.
Los PLC envían las tramas por Ethernet con Modbus TCP, y Circutor PowerStudio las recoge. Su pantalla muestra el contador de cada tubería de entrada de agua, las medias en m³/h y el consumo mensual. Una tabla exporta a Excel los valores por día y hora de cualquier contador, y un gráfico compara todos los contadores en el tiempo. Las alarmas y los avisos informan a los responsables cuando el consumo sale de los parámetros fijados.
- Contador, medias en m³/h y consumo mensual
- Exportación a Excel por día y hora, de cualquier contador
- Un gráfico para comparar todos los contadores en el tiempo
- Alarmas y avisos fuera de los parámetros fijados
Eventos del SCADA (ejemplo)
Simulación ilustrativa. Edificios, valores y límites de ejemplo. Los límites reales de la instalación no se publican.
Ejemplos relacionados
Arquitectura del sistema
¿Cómo llevan los ESP32 PLC los contadores de agua de varios edificios a un solo SCADA?
Cada contador envía pulsos a una entrada digital de un ESP32 PLC. Una fuente de 12 a 24 Vdc alimenta el circuito. El PLC envía el total de litros por Ethernet con Modbus TCP a Circutor PowerStudio. El caso dice que el PLC guarda sus variables en una tarjeta µSD. Basado en el esquema original del caso: fuente, emisor de pulsos, entrada del PLC y Ethernet Modbus TCP. El texto del caso cita ESP32 PLC.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| Pulso del contador de agua | EntreBmeters IWM-PL3 → ESP32 PLC | TipoDigital, N-MOS (NPN), máx. 30 Vdc / 100 mA | Función1 pulso = 1 litro, 300 ms |
| Alimentación | EntreFuente de 12 a 24 Vdc → PLC y circuito de pulsos | TipoDe 12 a 24 Vdc | FunciónAlimenta el circuito del esquema del caso |
| Total de litros por contador | EntreESP32 PLC → tarjeta µSD | TipoAlmacenamiento local | FunciónGuarda el total si se corta la luz |
| Totales de litros | EntreESP32 PLC → Circutor PowerStudio | TipoEthernet · Modbus TCP | FunciónValor total por contador: una trama perdida no pierde pulsos |
| Alarmas y avisos | EntrePowerStudio → responsables del sistema | TipoAlarma del SCADA | FunciónConsumo fuera de los parámetros fijados |
| Informes | EntrePowerStudio → Excel | TipoExportación de tabla | FunciónValores por día y hora de cualquier contador |
Por qué Industrial Shields
Hardware abierto, margen para crecer y personas que responden.
Abierto, sin licencias
Los PLC se programan en C++. No hay licencias, y el programa es del proyecto. Puedes cambiar cualquier parte.
Modular
El proyecto puede crecer según las necesidades. Un edificio nuevo añade su propio PLC en la red Ethernet, y cada ESP32 PLC puede sumar E/S con módulos de expansión por I2C.
Soporte antes, durante y después
Nuestro equipo de soporte te acompaña antes, durante y después de la venta y de la instalación. Los equipos están diseñados y fabricados para uso industrial.
Hardware utilizado
Un ESP32 PLC en el carril DIN de cada punto.
ESP32 PLC 38R
Un controlador industrial de la familia ESP32 PLC. En este proyecto, los PLC leen los pulsos de los contadores y envían los totales por Ethernet con Modbus TCP. El caso dice que el PLC guarda sus variables en una memoria tipo tarjeta µSD. Se programa en C++ con el Arduino IDE.
- Entradas
- 12: 8 analógicas/digitales (0-10 V) y 4 digitales optoaisladas, de 5 a 24 Vdc, 4 con interrupción
- Salidas
- 22: 16 relés (230 Vac 4 A / 24 Vdc 2 A, carga resistiva) y 6 analógicas/digitales/PWM (0-10 V)
- Red
- Ethernet 10/100 (RJ45), Wi-Fi 2,4 GHz, Bluetooth LE
- Serie
- RS-485, RS-232, TTL
- Alimentación
- De 12 a 24 Vdc
- Montaje
- Carril DIN TS35, IP20
El caso no publica el modelo exacto de ESP32 PLC. Dice que los PLC tienen hasta 12 entradas y salidas analógicas y digitales y varios protocolos de comunicación. La imagen muestra el ESP32 PLC 38R como ejemplo actual de la familia: Ethernet y 16 salidas de relé, por si un punto también tiene que conmutar cargas como válvulas o bombas. Cuenta primero tus contadores, elige después el modelo y revisa en la ficha técnica de la familia los valores de entrada para tu emisor de pulsos. Consulta con nuestro equipo el almacenamiento µSD de tu modelo.
Preguntas sobre este proyecto
¿Cómo cuenta un PLC los pulsos de un contador de agua?
El contador lleva un emisor de pulsos. Aquí es un Bmeters IWM-PL3 sobre un contador de Salvador Escoda, configurado por NFC. Da un pulso de 300 ms por cada litro, con una salida N-MOS (NPN) de hasta 30 Vdc y 100 mA. El ESP32 PLC lee el pulso en una entrada digital y suma un litro al total de ese contador. Con pulsos cortos o rápidos, lo seguro es usar una entrada con interrupción.
¿Qué pasa con los datos si falla la red?
El PLC sigue contando. Envía el valor total en litros de cada contador, no pulsos sueltos. Cuando vuelve la comunicación, la siguiente trama lleva el total completo, así que no se pierde ningún pulso. El proyecto lo hizo así para evitar pérdidas por colisiones o por falta de comunicación con los edificios.
¿Qué pasa si se corta la luz?
El caso dice que el PLC guarda sus variables en una memoria tipo tarjeta µSD. Después de un corte de luz, el total de pulsos registrados sigue ahí. El caso no publica cada cuánto escribe el programa en la tarjeta.
¿Cómo recibe los datos Circutor PowerStudio?
Por Ethernet con Modbus TCP, un protocolo industrial estándar que también usa PowerStudio. El caso no publica el mapa de registros. Una forma habitual de hacerlo: el PLC trabaja como servidor Modbus TCP y guarda cada total de litros en dos registros holding (32 bits).
¿El SCADA puede detectar una fuga?
El SCADA avisa cuando el consumo sale de los parámetros fijados, y el proyecto compara el consumo con las medias. Así los responsables detectan un posible fallo, como una fuga, y actúan rápido. Los límites de la instalación no se publican.
¿Tengo que programar Arduino o ESP32 para hacer esto?
No necesariamente. Empieza por el problema: cuántos contadores, cuántos litros por pulso y qué SCADA o base de datos tiene que recibir los datos. El ESP32 PLC se programa en C++ con el Arduino IDE, y el código es tuyo. Si tu equipo no programa, un integrador o nuestros ingenieros te pueden ayudar.
Descarga el caso de éxito
PDF de 4 páginas con el reto, la lógica, la arquitectura y el hardware. Sin formularios.
¿Proyecto similar?
Hablemos de tu proyecto. Cuéntanos tus contadores y tu SCADA.
Dinos cuántos contadores lees, cuántos litros da cada pulso, dónde están los edificios y qué SCADA o base de datos recibe los datos. Te diremos qué controlador encaja y cómo conectar tus emisores de pulsos.
- Respuesta de nuestro equipo técnico
- Recuento de E/S y dimensionado para tus contadores
- PLC basados en Arduino, ESP32 o Raspberry Pi