Gemelo digital

Gemelo digital de fábrica: casos de uso y arquitectura

Una guía práctica sobre los casos de uso y la arquitectura de un gemelo digital de fábrica, que muestra cómo se alimentan los gemelos de línea y de planta con datos MQTT estructurados según ISA-95.

Gemelo digital de fábrica con una línea de producción 3D de máquinas CNC, un brazo robótico y una cinta transportadora conectados a flujos de datos MQTT en vivo
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

Un gemelo digital de fábrica es un modelo vivo y basado en datos de tu planta que refleja lo que están haciendo en este momento las máquinas, las líneas y las áreas. En esta guía verás qué casos de uso justifican un gemelo, cómo estructurar modelos a nivel de línea y de planta, y cómo alimentarlos con datos MQTT estructurados según ISA-95 para que el gemelo se mantenga preciso sin integraciones punto a punto a medida.

Qué es realmente un gemelo digital de fábrica

El marketing estira mucho el término, así que conviene ser preciso. Un gemelo digital de fábrica tiene tres partes:

  1. Un modelo de los activos físicos y sus relaciones: las máquinas pertenecen a celdas, las celdas a líneas, las líneas a áreas y las áreas a un emplazamiento.
  2. Una conexión de datos en vivo que mantiene el estado del modelo sincronizado con la realidad, normalmente con segundos de diferencia.
  3. Una finalidad: algo que las personas o el software hacen con el modelo sincronizado, como detectar una cinta transportadora parada, comparar el rendimiento entre turnos o probar un cambio de planificación.

Sin la conexión de datos en vivo tienes un dibujo 3D o una simulación. Sin la finalidad tienes un salvapantallas caro. La mayoría de los proyectos exitosos empiezan con una finalidad acotada y amplían el modelo desde ahí. Si el concepto es nuevo para ti, la guía de tecnología de gemelo digital cubre los fundamentos y la terminología.

Gemelos a nivel de línea frente a nivel de planta

Los gemelos de fábrica suelen existir a dos escalas y responden a preguntas distintas.

Aspecto Gemelo de línea Gemelo de planta
Alcance Una línea de producción o celda Todas las áreas, líneas y servicios auxiliares de un emplazamiento
Usuarios típicos Operarios de línea, técnicos de mantenimiento Directores de planta, planificadores de producción, gestores energéticos
Frecuencia de actualización De menos de un segundo a unos segundos De segundos a minutos (agregado)
Señales clave Estado de máquina, tiempo de ciclo, carga del husillo, recuento de piezas, alarmas OEE por línea, rendimiento, energía por unidad, WIP, motivos de parada
Visualización Esquema 3D o 2D detallado de la línea Plano de planta o árbol jerárquico con navegación en profundidad
Preguntas principales ¿Qué estación es el cuello de botella ahora mismo? ¿Por qué se ha parado? ¿Qué línea rinde por debajo esta semana? ¿Dónde se desperdicia energía?

Un error habitual es construir un gemelo de planta con detalle de línea en todas partes. Eso multiplica el esfuerzo de integración y abruma a los usuarios. Un patrón mejor es una vista general de planta que permita bajar a un puñado de gemelos de línea detallados donde el caso de negocio sea más sólido.

Casos de uso que justifican un gemelo digital de fábrica

Visibilidad de la producción en tiempo real

El caso de uso más sencillo y habitual: una pantalla que muestra el estado de cada máquina (en marcha, en espera, parada, en fallo) con colores y contadores, para que los supervisores dejen de recorrer la planta buscando problemas. El valor viene de la jerarquía. Cuando la vista de planta se pone en rojo, un supervisor puede hacer clic en el área, luego en la línea y luego en la estación.

Análisis de cuellos de botella y flujo

Un gemelo de línea que recibe eventos de ciclo completado de cada estación puede mostrar dónde se acumulan las piezas y qué estación deja sin material a la siguiente. Como el gemelo conserva la topología (la estación A alimenta la cinta B, que alimenta la estación C), puede resaltar la restricción en lugar de limitarse a listar las máquinas lentas.

Contexto de paradas y alarmas

Cuando una máquina se para, el gemelo puede mostrar la alarma, los últimos valores de las señales relacionadas y el estado de los equipos aguas arriba y aguas abajo. Mantenimiento obtiene contexto antes de llegar a la máquina. Para anticipar fallos en lugar de reaccionar a ellos, consulta gemelo digital para mantenimiento predictivo.

Energía y servicios auxiliares

Los compresores, hornos, enfriadoras y bombas suelen ser los mayores consumidores de energía. Añadir la potencia medida al gemelo permite correlacionar el consumo con el estado de producción, por ejemplo un horno mantenido a temperatura mientras la línea está parada. El artículo sobre gemelo digital energético profundiza en el modelado de los flujos de energía.

Formación y soporte remoto

Una vista 3D sincronizada ayuda a los operarios nuevos a entender cómo se comporta una línea y permite a los expertos remotos ver el mismo estado que ve el equipo local.

Arquitectura de referencia de un gemelo digital de fábrica

Un gemelo de fábrica práctico tiene cuatro capas. Mantenerlas desacopladas es lo que permite que el gemelo evolucione sin recablear la planta.

  1. Fuentes en el edge. PLC, controladores CNC, contadores de energía y sensores. Un gateway de edge recoge los datos (Node-RED, un cliente MQTT nativo del PLC o un nodo edge Sparkplug B) y los publica por MQTT.
  2. El broker MQTT como columna vertebral de datos. Cada fuente publica una vez y cada consumidor se suscribe a lo que necesita. Es el patrón Unified Namespace. Un broker MQTT gestionado te quita la carga de parchear, proteger y escalar tú mismo esta pieza central.
  3. Servicios del gemelo. Pequeños suscriptores que calculan valores derivados (OEE, promedios de tiempo de ciclo, duración de estados) y escriben el histórico en una base de datos de series temporales como InfluxDB o TimescaleDB.
  4. Clientes del gemelo. Visores web 3D, paneles y herramientas de análisis que se suscriben a los topics en vivo y consultan el histórico.

El broker importa porque un gemelo solo es tan preciso como su ruta de datos. Los retained messages dan a un visor recién abierto el último estado conocido de cada máquina al instante, en lugar de esperar al siguiente cambio. La caducidad de mensajes de MQTT 5 permite descartar los valores obsoletos, para que un gemelo no muestre una máquina "en marcha" basándose en un valor de ayer. El artículo sobre arquitectura de gemelo digital trata estas capas con más detalle.

Estructurar los datos de fábrica con topics ISA-95

La jerarquía de topics es el esqueleto del gemelo. Si los topics siguen la jerarquía de equipos de ISA-95, el gemelo puede construir su árbol directamente a partir de los nombres de los topics:

connectmq/<site>/<area>/<line>/<cell-or-machine>/<data-type>

connectmq/factory1/production/line1/cnc1/telemetry
connectmq/factory1/production/line1/cnc1/state
connectmq/factory1/production/line1/robot1/telemetry
connectmq/factory1/utilities/compressors/comp1/energy

Así, un visor del gemelo puede suscribirse a connectmq/factory1/production/line1/# para un gemelo de línea, o a connectmq/factory1/+/+/+/state para una vista general de los estados de las máquinas de la planta.

ConnectMQ detecta los topics ISA-95 y Unified Namespace y los muestra en una vista de dispositivos organizada por niveles ISA-95, lo que facilita comprobar que la jerarquía que espera tu gemelo es la que realmente publica la planta. Si tu edge usa Sparkplug B, ConnectMQ decodifica los payloads Protobuf y puede republicarlos en topics ISA-95; por ejemplo, spBv1.0/factory1/DDATA/line1/cnc1 pasa a ser connectmq/factory1/production/line1/cnc1/telemetry. Tu cliente del gemelo consume entonces datos decodificados en topics ISA-95 legibles. La guía de gemelo digital ISA-95 explica en profundidad los niveles de la jerarquía.

Práctica: alimentar un gemelo de línea desde una máquina simulada

Puedes crear un prototipo de gemelo de línea en minutos con el servidor MQTT público gratuito en broker.connectmq.com. Recuerda que el servidor público es legible por cualquiera y es solo para pruebas y prototipos, así que usa un prefijo de topic único y solo datos simulados.

Este script de Python (paho-mqtt 2.x) simula una máquina CNC que publica estado y telemetría, con mensajes de estado retenidos:

import json
import random
import time
import uuid

import paho.mqtt.client as mqtt

PREFIX = f"connectmq/demo/{uuid.uuid4().hex[:8]}/factory1/production/line1/cnc1"
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id=f"cnc-sim-{uuid.uuid4().hex[:6]}")


def on_connect(client, userdata, flags, reason_code, properties):
    print(f"Connected: {reason_code}. Publishing under {PREFIX}")


client.on_connect = on_connect
client.connect("broker.connectmq.com", 1883, keepalive=30)
client.loop_start()

state = "running"
parts = 0
try:
    while True:
        if random.random() < 0.05:
            state = random.choice(["running", "idle", "fault"])
            client.publish(f"{PREFIX}/state", json.dumps({"state": state, "ts": time.time()}), qos=1, retain=True)
        if state == "running":
            parts += 1
        telemetry = {
            "spindleRpm": random.randint(7800, 8200) if state == "running" else 0,
            "spindleLoadPct": round(random.uniform(35, 70), 1) if state == "running" else 0,
            "partCount": parts,
            "ts": time.time(),
        }
        client.publish(f"{PREFIX}/telemetry", json.dumps(telemetry), qos=0)
        time.sleep(1)
except KeyboardInterrupt:
    client.loop_stop()
    client.disconnect()

Obsérvalo desde otro terminal (sustituye el prefijo por el que imprime el script):

mosquitto_sub -h broker.connectmq.com -p 1883 -i twin-viewer-4821 -t "connectmq/demo/abcd1234/factory1/#" -v

En un gemelo basado en navegador, conéctate por WebSocket seguro en wss://broker.connectmq.com:8084/mqtt con MQTT.js y asigna cada topic a un objeto del gemelo digital 3D: el estado determina el color y la carga del husillo mueve un indicador. La propia demo web de gemelo digital 3D de ConnectMQ funciona exactamente así, con una CNC, un brazo robótico, un horno, un depósito, una cinta transportadora y una bomba animados en vivo sobre WSS.

Del prototipo a producción

Cuando el prototipo convenza a las partes interesadas, pasa a un broker privado. Crea uno en ConnectMQ y usa los YOUR_USERNAME, YOUR_PASSWORD y YOUR_CLIENT_ID generados sobre TLS en el puerto 8883. Lista de comprobación para un gemelo de fábrica en producción:

  1. Congela la jerarquía de topics y documéntala. Renombrar topics más adelante rompe todos los clientes del gemelo.
  2. Usa retained messages para el estado, no para la telemetría de alta frecuencia.
  3. Configura la caducidad de mensajes en los valores que no deban sobrevivir a su relevancia.
  4. Separa las rutas en vivo e histórica: el broker entrega los datos en vivo; un suscriptor escribe el histórico en una base de datos.
  5. Dimensiona las conexiones: cuenta los gateways de edge, los servicios del gemelo y las sesiones de los visores. El plan Serverless gratuito admite hasta 25 conexiones; el Serverless de pago llega a 1.000, con suscripciones compartidas para servicios del gemelo con balanceo de carga; Dedicated ofrece un clúster aislado.
  6. Protege el edge: TLS en todas partes, una credencial por gateway y ningún client ID compartido.

Errores habituales

  • Modelar antes de que existan los datos. Hay equipos que pasan meses con modelos 3D y luego descubren que el PLC no expone las variables necesarias. Haz primero inventario de las señales.
  • Sondeo en lugar de actualizaciones por eventos. Un gemelo que consulta bases de datos cada pocos segundos se percibe lento. Suscríbete directamente al broker.
  • Sin marcas de tiempo en origen. Sin marcas de tiempo de origen no puedes distinguir el retardo de red del comportamiento de la máquina.
  • Un único payload gigante. Separar estado, telemetría y alarmas en topics distintos permite a los clientes suscribirse de forma precisa.

Construye tu gemelo digital de fábrica en ConnectMQ

Empieza con el servidor MQTT público gratuito y pasa a un broker privado cuando conectes equipos reales. Regístrate en app.connectmq.com en el plan Serverless gratuito sin tarjeta de crédito, crea un broker y usa el explorador de topics en vivo y la vista de dispositivos ISA-95 para verificar los datos de tu fábrica antes de construir el gemelo encima.

Preguntas frecuentes

¿Qué datos necesita primero un gemelo digital de fábrica?

Empieza por el estado de la máquina, el recuento de piezas y las alarmas activas de cada máquina. Estas tres señales ya permiten visibilidad en vivo, contexto de paradas y un OEE básico, y están disponibles en la mayoría de los PLC y controladores CNC.

¿Necesito un modelo 3D para un gemelo digital de fábrica?

No. Muchos gemelos eficaces usan un plano 2D de la planta o un árbol jerárquico. El 3D ayuda en la formación y el razonamiento espacial, pero lo que lo convierte en un gemelo es el modelo de datos sincronizado.

¿Cómo mantiene MQTT actualizado un gemelo de fábrica?

Los gateways de edge publican los cambios en topics jerárquicos y los clientes del gemelo se suscriben a ellos, de modo que las actualizaciones llegan casi en tiempo real. Los retained messages dan a los clientes nuevos el último estado conocido de inmediato.

¿Puedo usar dispositivos Sparkplug B con un gemelo de fábrica?

Sí. ConnectMQ decodifica Sparkplug B y puede republicar los datos en topics ISA-95, de modo que los clientes del gemelo pueden consumir datos decodificados sin implementar Sparkplug por su cuenta.

Artículos relacionados

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.