Fabricación inteligente

Monitorización energética en fábricas con IoT: medidores, MQTT y dashboards por línea y turno

Un plan práctico para la monitorización energética de toda la planta: qué medidores instalar, cómo estructurar los topics MQTT, cómo almacenar los contadores y cómo informar la energía por línea, por turno y por pieza.

Dashboard de monitorización energética en fábrica que muestra los kWh por línea de producción y turno, alimentado por medidores de energía IoT a través de MQTT
Pruébalo en tu propio broker MQTTConsigue un broker MQTT privado y gestionado con el plan Free y empieza con ejemplos de código listos para usar.
Pruébalo gratis Ejemplos de código Sin tarjeta

La monitorización energética en fábricas da a cada línea, turno y producto una huella energética medible en lugar de una única factura mensual de la compañía eléctrica. En esta guía planificarás la distribución de medidores, diseñarás una estructura de topics MQTT que escale de un edificio a varias plantas, almacenarás correctamente los contadores de los medidores y crearás informes que muestren los kWh por línea, por turno y por pieza.

Por qué la factura eléctrica no es suficiente

La factura mensual te dice cuánto consumió la planta, no por qué. No puede separar la cabina de pintura de la línea de montaje, un turno productivo de un fin de semana sin actividad, ni una máquina bien ajustada de otra cuya bomba hidráulica funciona a tope mientras espera piezas. Sin ese desglose, la energía sigue siendo un gasto general del que nadie se hace cargo.

Un sistema de monitorización energética en la fábrica cambia la conversación. Cuando un jefe de línea ve que su línea consumió el sábado, sin producción, una cantidad de energía similar a la de un turno normal, la pregunta "¿qué estaba funcionando?" se responde sola. Cuando la energía por pieza es visible junto al OEE, la energía se convierte en un KPI de producción y deja de ser un problema de mantenimiento de instalaciones.

Los componentes de un sistema de monitorización energética en fábrica

Capa Componentes típicos Función
Medición Contador general de la compañía, submedidores por alimentador, línea y máquina grande; medidores de gas, agua y aire comprimido Generan contadores brutos y valores instantáneos
Edge Gateway Modbus, PLC, PC industrial o Raspberry Pi con Node-RED o Python Consultan los medidores, añaden marcas de tiempo, publican por MQTT
Transporte Broker MQTT Desacopla publicadores y consumidores, entrega datos en vivo
Almacenamiento Base de datos de series temporales como InfluxDB o TimescaleDB, mediante Telegraf o un suscriptor propio Guarda el histórico para los informes
Contexto Plan de producción, estados de máquina, recuento de piezas Convierte los kWh en energía por turno y por pieza
Presentación Grafana, dashboard de Node-RED, herramienta de BI Muestra tendencias, comparativas y alertas

El broker MQTT es la bisagra del diseño. Los medidores publican una vez; el historian, el dashboard en vivo, un script de alertas y una futura integración con el MES se suscriben de forma independiente. Si estás eligiendo dónde debe ejecutarse ese broker, un broker MQTT gestionado lo mantiene disponible sin añadir otro servidor a la carga de trabajo del equipo de mantenimiento.

Paso 1: decide dónde medir

Parte del esquema unifilar eléctrico y de la lista de usos significativos de energía. Una secuencia habitual y asequible:

  1. Acometida: el contador general, idealmente leído cada pocos segundos en lugar de depender de los datos cuartohorarios de la compañía.
  2. Alimentadores de distribución principales: un medidor por edificio, nave o zona principal.
  3. Líneas de producción: un medidor por cuadro de distribución de línea.
  4. Grandes consumidores individuales: compresores, enfriadoras, hornos, inyectoras, prensas grandes.
  5. Otros suministros: gas natural, vapor, agua y caudal de aire comprimido.

Cada paso añade resolución. No lo necesitas todo el primer día; necesitas lo suficiente para responder la primera pregunta de negocio. El cableado detallado y la consulta Modbus de los pasos tres y cuatro se explican en el tutorial de submedición eléctrica.

Paso 2: diseña la estructura de topics

Una jerarquía de topics basada en ISA-95 (empresa, sitio, área, línea, celda) mantiene los datos localizables y refleja cómo la gente piensa en la planta. ConnectMQ detecta topics de estilo ISA-95 y Unified Namespace y muestra los dispositivos por estos niveles en su portal.

connectmq/<site>/<area>/<line>/<asset>/energy

connectmq/plant1/assembly/line1/main-board/energy
connectmq/plant1/assembly/line2/main-board/energy
connectmq/plant1/molding/imm-04/drive/energy
connectmq/plant1/utilities/compressors/comp1/energy

El payload de un medidor debe incluir tanto contadores acumulados como valores instantáneos:

{
  "ts": 1760600000,
  "kwh_total": 183452.7,
  "kw": 42.6,
  "kvar": 11.2,
  "pf": 0.97,
  "v_l1": 231.4,
  "i_l1": 61.8
}

Publica kwh_total como el registro acumulado del propio medidor, nunca como un valor que el gateway suma a partir de lecturas de potencia. Los contadores sobreviven a reinicios del gateway y a mensajes perdidos: si se pierden tres mensajes, el siguiente valor del contador sigue incluyendo la energía consumida entretanto.

Paso 3: almacena los datos

El consumidor MQTT de Telegraf es una forma rápida de llevar los datos a InfluxDB, con etiquetas extraídas de los niveles del topic. Se conecta al broker como un cliente MQTT normal:

[[inputs.mqtt_consumer]]
  servers = ["ssl://broker.connectmq.com:8883"]
  topics = ["connectmq/plant1/+/+/+/energy"]
  client_id = "YOUR_CLIENT_ID"
  username = "YOUR_USERNAME"
  password = "YOUR_PASSWORD"
  qos = 1
  persistent_session = true
  data_format = "json_v2"

  [[inputs.mqtt_consumer.topic_parsing]]
    topic = "connectmq/+/+/+/+/energy"
    tags = "_/site/area/line/asset/_"

  [[inputs.mqtt_consumer.json_v2]]
    measurement_name = "energy"
    timestamp_path = "ts"
    timestamp_format = "unix"
    [[inputs.mqtt_consumer.json_v2.field]]
      path = "kwh_total"
      type = "float"
    [[inputs.mqtt_consumer.json_v2.field]]
      path = "kw"
      type = "float"
    [[inputs.mqtt_consumer.json_v2.field]]
      path = "pf"
      type = "float"

[[outputs.influxdb_v2]]
  urls = ["http://localhost:8086"]
  token = "${INFLUX_TOKEN}"
  organization = "plant"
  bucket = "energy"

Una sesión persistente con QoS 1 significa que el broker encola para Telegraf los mensajes publicados mientras se reinicia (dentro del tiempo de expiración de la sesión).

Paso 4: energía por línea y por turno

Como almacenas contadores, la energía de cualquier periodo es simplemente el contador al final menos el contador al principio. En el lenguaje Flux de InfluxDB, los kWh por línea de un turno se calculan así:

from(bucket: "energy")
  |> range(start: 2026-10-15T06:00:00Z, stop: 2026-10-15T14:00:00Z)
  |> filter(fn: (r) => r._measurement == "energy" and r._field == "kwh_total")
  |> spread()
  |> group(columns: ["line"])
  |> sum()

spread() devuelve el máximo menos el mínimo por medidor, que equivale al consumo en un contador monótono; el agrupamiento y la suma juntan los medidores de cada línea. Vigila las sustituciones de medidores o los desbordamientos de contador, que crean un escalón hacia abajo; márcalos en los datos en lugar de corregirlos en silencio.

Los límites de turno pertenecen a la configuración, no a consultas codificadas a mano. Una pequeña tabla con las horas de inicio y fin de turno por planta, o eventos de turno publicados por el MES en un topic .../shift, permite que el mismo dashboard funcione en todas las plantas.

Paso 5: energía por pieza

La energía por pieza (o por tonelada, por lote, por metro cuadrado) es el KPI que conecta la energía con la producción. Necesitas el recuento de piezas de la misma línea y periodo, que tu sistema de conteo de producción puede publicar junto a los datos de energía:

energy_per_part = kWh(line, shift) / good_parts(line, shift)

Usa piezas buenas, no piezas totales, para que el desperdicio también aparezca como coste energético. Compara el valor entre turnos y productos, pero recuerda que nunca es cero: la carga base en vacío de una línea se reparte entre menos piezas en un turno lento. Separar la carga base de la carga variable, por ejemplo con una regresión sencilla de kWh frente a piezas, da una imagen más justa y es la base de las líneas de base energéticas que exige ISO 50001, explicadas en recopilar datos energéticos para ISO 50001.

Dashboards que la gente usa

Un conjunto útil de vistas para distintos públicos:

Público Vista Actualización
Supervisor de línea kW en vivo de su línea, kWh de este turno frente al objetivo, consumo en vacío desde la última pieza De segundos a minutos
Director de planta kWh por línea y día, tendencia de energía por pieza, 10 mayores consumidores Diaria
Gestor energético Carga base nocturna y de fin de semana, demanda pico, factor de potencia, comparación con la línea de base Diaria y mensual
Mantenimiento Consumo anómalo por máquina, potencia específica del compresor, estimación de fugas En vivo y semanal

La carga base nocturna y de fin de semana suele ser la mejora más rápida. Grafica el consumo desde el viernes por la tarde hasta el lunes por la mañana por zona: todo lo que sea plano y alto merece una ronda de inspección. El aire comprimido es un culpable frecuente, y la monitorización de fugas de aire comprimido lo cuantifica. Para supervisores y directores, ver estas cifras sobre un gemelo digital 3D de la planta ayuda a localizar de un vistazo dónde se consume la energía.

Alertas

Las alertas en vivo funcionan mejor para condiciones sobre las que alguien puede actuar en ese momento: una línea que sigue consumiendo mucho después de terminar el turno, una demanda que se acerca al pico contratado o un factor de potencia que cae por debajo del umbral de penalización. En el portal de ConnectMQ puedes definir reglas de alerta por umbral sobre campos numéricos como kw o pf, y las superaciones aparecen en el registro de alertas. El envío de esos eventos a correo o chat lo hace un suscriptor externo como Node-RED.

Errores frecuentes

  • Sumar potencia en lugar de leer contadores de energía. Las muestras perdidas se convierten en kWh perdidos.
  • Relojes sin sincronizar. Los gateways sin NTP desplazan datos de un turno a otro. Pon la marca de tiempo en el edge con la hora sincronizada.
  • Errores en la relación del TC. Una relación de transformador de corriente incorrecta en la configuración del medidor multiplica cada lectura. Verifica cada medidor una vez con una pinza amperimétrica.
  • Demasiados dashboards y ningún responsable. Asigna el KPI energético de cada línea a su responsable.
  • Datos atrapados en una herramienta. Publícalo todo primero en el broker; las herramientas van y vienen, la estructura de topics permanece.

Para la hoja de ruta más amplia de la producción conectada, incluido el lugar de la energía junto al OEE, la calidad y el mantenimiento, lee la guía de fabricación inteligente.

Ejecuta tu monitorización energética en ConnectMQ

ConnectMQ es un broker MQTT en la nube con TLS en el puerto 8883, MQTT 5, una vista de dispositivos compatible con ISA-95, un explorador de topics en vivo y alertas por umbral. Prueba tu primer medidor en el servidor MQTT público gratuito (solo para pruebas, no para datos de producción) y luego crea un broker Serverless gratuito sin tarjeta de crédito y escala a planes de pago o dedicados a medida que se incorporen más medidores.

Preguntas frecuentes

¿Cuántos medidores necesita la monitorización energética en fábricas?

Empieza por la acometida, un medidor por línea de producción y medidores en los mayores consumidores individuales. Normalmente eso basta para encontrar los primeros ahorros, y más adelante se pueden añadir más medidores sin cambiar la arquitectura.

¿Con qué frecuencia deben publicar los medidores de energía?

Lo típico es cada 5 a 60 segundos. Publicar más rápido ayuda a los dashboards en vivo y a las alertas de demanda, mientras que los informes dependen del contador acumulado y no se ven afectados por el intervalo.

¿Puedo usar medidores Modbus existentes?

Sí. Un gateway consulta los medidores por Modbus RTU o TCP y publica los valores como JSON por MQTT. La mayoría de los medidores multifunción modernos exponen contadores de energía y valores instantáneos en registros documentados.

¿Almacena ConnectMQ datos energéticos históricos?

No. ConnectMQ entrega mensajes en vivo y valores retenidos. El histórico a largo plazo lo almacena un suscriptor, como Telegraf, que escribe en una base de datos de series temporales.

Artículos relacionados

OEE vs TEEP vs OOE: ¿qué indicador deberías usar?

OEE, OOE y TEEP comparten los mismos factores de rendimiento y calidad, pero se miden frente a bases de tiempo distintas. Esta comparativa resuelve un único ejemplo y enumera las señales MQTT que necesita cada indicador.

8 min de lectura

Todos los artículos →

Tu broker MQTT privado, a unos pocos clics

Crea una cuenta, obtén las credenciales de tu broker y conecta tu primer dispositivo, sin servidores que instalar, parchear ni escalar.