OPC UA: el protocolo de la Industria 4.0
OPC UA (OPC Unified Architecture, IEC 62541) es el protocolo de referencia de la Industria 4.0. A diferencia de Modbus, que expone registros sin contexto, OPC UA expone un modelo de información orientado a objetos: cada variable es un nodo tipado en un espacio de direccionamiento jerárquico, con metadatos (unidad de ingeniería, rango, descripción), métodos invocables y eventos.
Los autómatas modernos (Siemens S7-1500, Beckhoff CX, Rockwell ControlLogix), los robots y los sistemas SCADA recientes incorporan todos un servidor OPC UA. El puente OPC UA → MQTT permite extraer estos datos tan completos e integrarlos en la arquitectura en la nube.
Arquitectura del puente OPC UA → MQTT
Serveurs OPC UA Bridge Eziwan MQTT Broker / UNS
─────────────── ────────────── ─────────────────
Controlador Siemens ─┐ ┌── Cliente OPC UA HiveMQ Cloud
Robot Beckhoff ─┤── TCP ───►│ Subscriptions MQTT AWS IoT Core
SCADA Ignition ─┤ │ MonitoredItems ──TLS► Mosquitto
MES Wonderware ─┘ │ Decode + Map Eziwan UNS
└── Sparkplug B / JSON
El puente mantiene una conexión OPC UA persistente con cada servidor. Crea suscripciones OPC UA con MonitoredItems en los nodos que se van a supervisar. El servidor envía de forma proactiva los valores modificados (modo push), lo cual es mucho más eficaz que el sondeo Modbus.
Asignación de nodos OPC UA a temas MQTT
La configuración del puente consiste en asociar NodeID de OPC UA a temas MQTT. Existen dos enfoques:
Asignación manual
OPC UA NodeID → Topic MQTT
ns=2;s=Estación1.Bomba.Presión → fábrica/línea1/bomba01/presión_bar
ns=2;s=Estación1.Bomba.Caudal → planta/línea1/bomba01/caudal_m3h
ns=2;s=Estación1.Bomba.Estado → fábrica/línea1/bomba01/estado
Asignación automática (OPC UA → UNS) El puente recorre el espacio de direccionamiento de OPC UA y genera automáticamente una jerarquía de temas MQTT que lo refleja. Este es el método recomendado para instalaciones con numerosos nodos.
Espacio de nombres unificado: OPC UA como fuente de verdad
El Unified Namespace (UNS) es la arquitectura IIoT moderna recomendada por los expertos en Industria 4.0. En ella, un broker MQTT central (HiveMQ, EMQX, VerneMQ) actúa como único centro de datos:
| Fuente | Publicación en el UNS |
|---|---|
| Controladores (OPC UA) | Puente OPC UA → MQTT |
| Equipos heredados (Modbus RTU) | Puente Modbus → MQTT |
| Contadores M-Bus | Puente M-Bus → MQTT |
| MES / ERP | API → MQTT |
| Sensores IoT | MQTT nativo |
Todas las aplicaciones (SCADA, MES, paneles de control, IA) se suscriben al broker MQTT según sus necesidades. Se acabaron las integraciones punto a punto: cada sistema publica una vez y todos los consumidores reciben la información.
Sparkplug B: la especificación para el UNS industrial
Sparkplug B (Eclipse Foundation, spBv1.0) estandariza el uso de MQTT para el IIoT:
Estructura de los temas:
spBv1.0/{group_id}/NBIRTH/{edge_node_id} ← Conexión del nodo
spBv1.0/{group_id}/DBIRTH/{edge_node_id}/{device_id} ← Connexion device
spBv1.0/{group_id}/NDATA/{edge_node_id} ← Datos del nodo
spBv1.0/{group_id}/DDATA/{edge_node_id}/{device_id} ← Datos del dispositivo
spBv1.0/{group_id}/NDEATH/{edge_node_id} ← Desconexión (LWT)
Ventajas de Sparkplug B:
- Carga útil Protobuf (binaria, entre 3 y 10 veces más compacta que JSON)
- Gestión del ciclo de vida de los dispositivos (BIRTH/DEATH)
- Alias de métricas para reducir el ancho de banda
- Compatibilidad con HiveMQ Sparkplug Extension, Ignition Cirrus Link y AWS IoT SiteWise
Seguridad OPC UA + MQTT: defensa en profundidad
La combinación de OPC UA y MQTT ofrece dos niveles de seguridad:
Capa OPC UA (campo → puente):
- Modo de seguridad:
Sign & Encrypt(AES-256) - Autenticación: certificado x509 o nombre de usuario/contraseña
- Validación de los certificados del servidor y del cliente
Capa MQTT (puente → nube):
- Transporte: TLS 1.3
- Autenticación: certificado de cliente x509 (TLS mutuo)
- Autorización: ACL por tema en el broker
Esta arquitectura de defensa en profundidad cumple con las recomendaciones de la norma IEC 62443 sobre ciberseguridad de los sistemas industriales.
Compatibilidad con las principales plataformas en la nube
| Plataforma | Protocolo | Módulo específico |
|---|---|---|
| AWS IoT Core | MQTT TLS | AWS IoT SiteWise (OPC UA nativo) |
| Azure IoT Hub | MQTT / AMQP | Azure IoT OPC Publisher (código abierto) |
| HiveMQ Cloud | MQTT 5.0 + Sparkplug | Extensión nativa de Sparkplug |
| Eziwan Cloud | MQTT TLS | Panel de control + alertas integradas |
| Ignition (Inductive Automation) | MQTT Transmission | Módulo Cirrus Link Sparkplug |