// Wissen · Vergleich

OPC UA vs. MQTT — Semantik oder schlanker Transport?

OPC UA und MQTT werden in der Industrie oft als Konkurrenten gehandelt, spielen aber auf verschiedenen Ebenen: OPC UA ist ein komplettes Framework mit Informationsmodell, Diensten und eingebauter Sicherheit, MQTT ein bewusst schlankes Transportprotokoll ohne jede Daten-Semantik. Für die Frage «Maschine an IT anbinden» lohnt sich der genaue Blick, was du wirklich brauchst.

OPC UA

Standard
IEC 62541 (OPC Unified Architecture)
Herausgeber
OPC Foundation
Eingeführt
erste Spezifikation ab 2006, Version 1.0 (ohne Windows-Bindung) 2008; Nachfolger des alten OPC, das nur auf Windows lief und an Microsoft-Technik gebunden war
Transport / Endpoint
Endpoint = Anschlussadresse der Maschine, Standard opc.tcp:// auf Port 4840 (platzsparendes Maschinenformat), zusätzlich Variante über HTTPS
Kommunikationsmuster
Client/Server (Browse, Read, Write, Subscribe) plus PubSub-Erweiterung (Teil 14)
Datenmodell
Informationsmodell, Adressraum aus Knoten (Objekte, Variablen, Methoden) mit Metadaten

MQTT

Standard
Offener Standard der Standardisierungsorganisation OASIS; Versionen 3.1.1 (2014) und 5.0 (2019), 3.1.1 auch als ISO-Norm (ISO/IEC 20922)
Transport
TCP/IP (die zuverlässige Basisverbindung des Internets); für Browser-Anwendungen zusätzlich über WebSocket (eine Dauerverbindung im Webbrowser)
Standard-Ports
1883 (unverschlüsselt), 8883 (verschlüsselt mit TLS); via WebSocket üblich 80/443
Einordnung
Anwendungsebene: MQTT setzt auf bestehende Internetverbindungen auf (Fachjargon: OSI-Schicht 7)
Topologie
Sternförmig: alle Clients verbinden sich mit einem zentralen Broker
QoS-Stufen
0 (höchstens einmal), 1 (mindestens einmal), 2 (genau einmal)

// Wofür sie gemacht sind

OPC UA: gut geeignet für

  • Wenn Maschinen verschiedener Hersteller zusammenarbeiten sollen, weil OPC UA eine herstellerunabhängige, gemeinsame Sprache ist.
  • Wenn Daten sich selbst erklären müssen, weil jeder Wert Name, Einheit und Datentyp direkt bei sich trägt.
  • Wenn Sicherheit Pflicht ist, weil Verschlüsselung, Signierung und Zertifikate fest eingebaut sind.
  • Wenn du komplexe Anlagen sauber abbilden willst, weil sich ganze Anlagen als übersichtlicher Baum aus Bauteilen, Messwerten und aufrufbaren Funktionen abbilden lassen.
  • Wenn du plattformunabhängig bleiben willst, weil OPC UA auf Windows, Linux und auf kleinen, fest in Geräte eingebauten Steuer-Computern läuft.

OPC UA: weniger geeignet für

  • Für kleinste, batteriebetriebene Sensoren mit sehr wenig Rechenleistung, hier ist ein leichtgewichtiges Protokoll wie MQTT oder CoAP (schlanke Protokolle für stromsparende Geräte) oft passender.
  • Für sehr einfache Abfragen einzelner Zahlenwerte ohne Bedeutungsbedarf, wo das schlanke Modbus TCP (ein sehr einfacher, alter Standard für nackte Zahlenwerte) genügt und weniger Aufwand macht.
  • Für harte Echtzeit im Mikrosekunden-Takt zwischen Steuerung und Antrieb, dort sind Feldbus-Systeme wie EtherCAT oder PROFINET (blitzschnelle Direktverbindungen in der Steuerungsebene) zuständig.
  • Für die Verteilung an sehr viele Empfänger gleichzeitig ist das klassische Frage-Antwort-Muster von OPC UA schwach; hier braucht es entweder MQTT (das über einen Broker, eine Verteilstation, Nachrichten an viele weiterreicht) oder die neuere PubSub-Betriebsart von OPC UA selbst, die mit wachsender Empfängerzahl besser zurechtkommt.

MQTT: gut geeignet für

  • Viele Geräte, kleine Nachrichten: Ein Broker verteilt mühelos Messwerte von Tausenden Sensoren gleichzeitig.
  • Schmale Bandbreite: Der Verwaltungsanteil pro Nachricht (Overhead) ist extrem klein, eine komplette Datennachricht kommt mit wenigen Bytes plus Topic-Name aus, ein Bruchteil eines HTTP-Requests.
  • Instabile Verbindungen: Quittungsmechanismen (QoS) und die Abschiedsnachricht Last Will fangen Verbindungsabbrüche sauber ab.
  • Entkopplung: Sender und Empfänger kennen sich nicht, dadurch lassen sich neue Abonnenten jederzeit ergänzen, ohne die Sender anzufassen.
  • Firewall-freundlich: Der Client (so heisst jedes angeschlossene Gerät oder Programm) baut die Verbindung immer selbst nach aussen zum Broker auf. Auf der Geräteseite muss keine Tür in der Firewall (ein sogenannter Port) von aussen geöffnet werden; erreichbar sein muss nur der Broker.

MQTT: weniger geeignet für

  • Harte Echtzeit im Maschinentakt: Wenn jede Millisekunde zählt, etwa bei der Steuerung von Maschinenachsen, sind spezialisierte Maschinen-Netzwerke die richtige Wahl (Fachbegriffe: Feldbusse oder Industrial Ethernet, etwa PROFINET und EtherCAT).
  • Grosse Dateien: MQTT ist für kurze Meldungen gebaut, für Firmware-Updates, Bilder oder Videos eignet sich ein Dateitransfer über HTTP oder ein spezialisiertes Protokoll besser.
  • Klassisches Frage-Antwort-Muster: Wer gezielt eine Antwort auf eine Anfrage braucht, etwa eine App, die auf Knopfdruck Daten abruft, fährt mit HTTP, der gewohnten Web-Technik, meist einfacher.
  • Direktverbindungen ohne Infrastruktur: MQTT braucht immer einen Broker, für eine simple Punkt-zu-Punkt-Verbindung zwischen zwei Geräten ist das zu viel des Guten.

// Wann was?

Nimm OPC UA, wenn …

  • Nimm OPC UA, wenn Interoperabilität zwischen Maschinen verschiedener Hersteller zählt: Companion Specifications definieren, wie sich etwa eine Spritzgiessmaschine (Euromap) oder ein Roboter selbst beschreibt.
  • Nimm OPC UA, wenn Clients im Modell browsen sollen: Variablen, Typen, Einheiten und Alarme sind maschinenlesbar strukturiert, nicht nur nackte Werte.
  • Nimm OPC UA, wenn Security auditierbar sein muss: Zertifikats-basierte Authentifizierung, Signierung und Verschlüsselung sind Teil des Standards, nicht blosse Beigabe.
  • Nimm OPC UA für den klassischen Shopfloor-Zugriff: SPS-Anbindung, SCADA und MES sprechen es von Haus aus, inklusive Historie und Methodenaufrufen.

Nimm MQTT, wenn …

  • Nimm MQTT, wenn Daten aus vielen Quellen in Richtung IT und Cloud fliessen sollen: der Broker entkoppelt Werk und Auswertung, neue Konsumenten brauchen keinen Zugriff auf die Maschine.
  • Nimm MQTT, wenn Geräte hinter NAT oder Firewalls stehen: die Verbindung geht von innen nach aussen zum Broker, es muss kein Server-Port im Maschinennetz offen sein.
  • Nimm MQTT für einfache Geräte und Retrofit-Sensoren, für die ein voller OPC-UA-Stack zu schwer ist — mit Sparkplug B bekommst du trotzdem definierte Payloads und Zustandsverwaltung.
  • Nimm MQTT, wenn Skalierung auf zehntausende Datenpunkte und Standorte ansteht: Broker-Cluster verteilen Last besser als viele parallele Client/Server-Sessions.

// Fazit

Die ehrliche Antwort lautet meist: beides. OPC UA liefert die Semantik an der Maschine, MQTT den skalierbaren Transport Richtung IT — verbunden über ein Gateway oder direkt per OPC UA PubSub über MQTT. Reines MQTT ohne Payload-Konvention (etwa Sparkplug B) rächt sich später, weil jeder Sensor sein eigenes JSON erfindet. Reines OPC UA bis in die Cloud funktioniert, ist aber operativ oft schwerer als ein Broker in der DMZ.

// Häufige Fragen

Kann ich OPC UA und MQTT kombinieren?

Ja, das ist sogar das übliche Muster in Unified-Namespace-Architekturen. Entweder liest ein Gateway (z. B. ein IoT-Edge-Gerät oder Node-RED) per OPC UA von der Maschine und publiziert auf MQTT, oder du nutzt OPC UA PubSub, das MQTT direkt als Transport verwenden kann. So bleibt die Semantik von OPC UA erhalten und der Transport skaliert.

Was ist Sparkplug B und wozu braucht es das?

Sparkplug B ist eine offene Spezifikation der Eclipse Foundation, die MQTT um genau das ergänzt, was ihm fehlt: ein definiertes Topic-Schema, ein binäres Payload-Format mit Datentypen und ein Birth/Death-Konzept für den Gerätezustand. Damit wissen alle Teilnehmer ohne Absprache, wie Daten heissen und ob eine Quelle online ist. Für industrielle MQTT-Projekte ist es der De-facto-Standard.

Unsicher, was zu deinem Projekt passt? Zum Protokoll-Finder →

// Teilen