OPC UA: Das Protokoll der Industrie 4.0
OPC UA (OPC Unified Architecture, IEC 62541) ist das Referenzprotokoll für Industrie 4.0. Im Gegensatz zu Modbus, das Register ohne Kontext bereitstellt, bietet OPC UA ein objektorientiertes Informationsmodell: Jede Variable ist ein typisierter Knoten in einem hierarchischen Adressraum, mit Metadaten (Engineering-Einheit, Bereich, Beschreibung), aufrufbaren Methoden und Ereignissen.
Moderne Steuerungen (Siemens S7-1500, Beckhoff CX, Rockwell ControlLogix), Roboter und neuere SCADA-Systeme verfügen alle über einen OPC-UA-Server. Die OPC-UA-→-MQTT-Brücke ermöglicht es, diese umfangreichen Daten zu extrahieren und in die Cloud-Architektur einzuspeisen.
Architektur der OPC-UA-→MQTT-Brücke
Serveurs OPC UA Bridge Eziwan MQTT Broker / UNS
─────────────── ────────────── ─────────────────
Siemens-SPS ─┐ ┌── OPC UA-Client HiveMQ Cloud
Robot Beckhoff ─┤── TCP ───►│ Subscriptions MQTT AWS IoT Core
SCADA Ignition ─┤ │ MonitoredItems ──TLS► Mosquitto
MES Wonderware ─┘ │ Decode + Map Eziwan UNS
└── Sparkplug B / JSON
Die Bridge unterhält eine dauerhafte OPC-UA-Verbindung zu jedem Server. Sie erstellt OPC-UA-Abonnements mit MonitoredItems auf den zu überwachenden Knoten. Der Server sendet geänderte Werte proaktiv (Push-Modus), was wesentlich effizienter ist als das Modbus-Polling.
Zuordnung von OPC-UA-Knoten zu MQTT-Topics
Die Konfiguration der Bridge besteht darin, OPC-UA-Node-IDs mit MQTT-Topics zu verknüpfen. Dabei gibt es zwei Ansätze:
Manuelle Zuordnung
OPC UA NodeID → Topic MQTT
ns=2;s=Station1.Pumpe.Druck → Werk/Leitung1/Pumpe01/Druck_bar
ns=2;s=Station1.Pumpe.Durchfluss → Werk/Leitung1/Pumpe01/Durchfluss_m³/h
ns=2;s=Station1.Pumpe.Status → Werk/Linie1/Pumpe01/Status
Automatische Zuordnung (OPC UA → UNS) Die Bridge durchläuft den OPC-UA-Adressraum und generiert automatisch eine entsprechende MQTT-Topic-Hierarchie. Dies ist der empfohlene Ansatz für Installationen mit vielen Knoten.
Unified Namespace: OPC UA als „Quelle der Wahrheit“
Der Unified Namespace (UNS) ist die moderne IIoT-Architektur, die von Industrie-4.0-Experten empfohlen wird. Dabei fungiert ein zentraler MQTT-Broker (HiveMQ, EMQX, VerneMQ) als einziger Daten-Hub:
| Quelle | Veröffentlichung in der UNS |
|---|---|
| Steuerungen (OPC UA) | OPC-UA-Brücke → MQTT |
| Ältere Geräte (Modbus RTU) | Modbus-Bridge → MQTT |
| M-Bus-Zähler | M-Bus-Bridge → MQTT |
| MES / ERP | API → MQTT |
| IoT-Sensoren | Natives MQTT |
Alle Anwendungen (SCADA, MES, Dashboards, KI) abonnieren den MQTT-Broker entsprechend ihren Anforderungen. Keine Punkt-zu-Punkt-Integrationen mehr: Jedes System veröffentlicht einmal, alle Verbraucher empfangen die Daten.
Sparkplug B: Die Spezifikation für das industrielle UNS
Sparkplug B (Eclipse Foundation, spBv1.0) standardisiert den Einsatz von MQTT für das IIoT:
Aufbau der Themen:
spBv1.0/{group_id}/NBIRTH/{edge_node_id} ← Knotenverbindung
spBv1.0/{group_id}/DBIRTH/{edge_node_id}/{device_id} ← Connexion device
spBv1.0/{group_id}/NDATA/{edge_node_id} ← Knotendaten
spBv1.0/{group_id}/DDATA/{edge_node_id}/{device_id} ← Gerätedaten
spBv1.0/{group_id}/NDEATH/{edge_node_id} ← Abmeldung (LWT)
Vorteile von Sparkplug B:
- Protobuf-Nutzdaten (binär, 3- bis 10-mal kompakter als JSON)
- Verwaltung des Lebenszyklus der Geräte (BIRTH/DEATH)
- Metrik-Aliase zur Reduzierung der Bandbreite
- Kompatibilität mit der HiveMQ Sparkplug Extension, Ignition Cirrus Link und AWS IoT SiteWise
Sicherheit bei OPC UA + MQTT: Mehrschichtige Verteidigung
Die Kombination aus OPC UA und MQTT bietet zwei Sicherheitsebenen:
OPC-UA-Schicht (Feld → Bridge):
- Sicherheitsmodus:
Sign & Encrypt(AES-256) - Authentifizierung: x509-Zertifikat oder Benutzername/Passwort
- Überprüfung der Server- und Client-Zertifikate
MQTT-Schicht (Bridge → Cloud):
- Transport: TLS 1.3
- Authentifizierung: x509-Client-Zertifikat (Mutual TLS)
- Autorisierung: ACL nach Topic auf dem Broker
Diese Defense-in-Depth-Architektur entspricht den Empfehlungen der Norm IEC 62443 zur Cybersicherheit industrieller Systeme.
Kompatibilität mit den wichtigsten Cloud-Plattformen
| Plattform | Protokoll | Spezifisches Modul |
|---|---|---|
| AWS IoT Core | MQTT TLS | AWS IoT SiteWise (natives OPC UA) |
| Azure IoT Hub | MQTT / AMQP | Azure IoT OPC Publisher (Open Source) |
| HiveMQ Cloud | MQTT 5.0 + Sparkplug | Native Sparkplug-Erweiterung |
| Eziwan Cloud | MQTT TLS | Integriertes Dashboard + Benachrichtigungen |
| Ignition (Inductive Automation) | MQTT Transmission | Cirrus Link Sparkplug-Modul |