VDA-5050-Nachrichtenfluss: Flottenmanager zum AGV via MQTT
Wie VDA-5050-Telegramme von einem Flottenmanager über einen MQTT-Broker zu den Fahrzeugen gelangen. Topics, Payloads, QoS und die Konnektivität, die Ihre IT vorbereiten muss.
Warum das für IT und OT wichtig ist
Wenn ein Flottenmanager AGVs in der Produktion koordiniert, teilen sich IT und OT genau einen Integrationspunkt: den MQTT-Broker. Jedes Kommando vom Flottenmanager an ein AGV und jede Statusmeldung des AGVs zurück fließt als VDA-5050-Telegramm über diesen Broker.
Dieser Artikel liefert den technischen Überblick, den Ihre IT braucht, um die Infrastruktur vorzubereiten: welche Topics verwendet werden, wie die Nachrichten aufgebaut sind und welche Konnektivität zwischen Flottenmanager, Broker und Fahrzeugen benötigt wird.
Weiterführend: VDA 5050: Der Standard für AGV-Kommunikation behandelt den Standard selbst. Flottenmanager als SaaS behandelt Cloud-Deployment-Varianten. Dieser Artikel konzentriert sich darauf, wie Nachrichten tatsächlich Ende-zu-Ende fließen.
Versionsabdeckung: Dieser Artikel gilt für VDA 5050 2.0, 2.1 und 3.0. Topics mit v3-Badge in den Tabellen unten sind neu in 3.0; alles andere ist über alle drei Versionen hinweg konsistent. Die Beispiele verwenden
v2, weil die meisten Produktivdeployments heute noch 2.0 oder 2.1 einsetzen.
Die drei Akteure
Am Telegrammfluss sind nur drei Komponenten beteiligt:
Flottenmanager
Publiziert Aufträge und Instant Actions. Abonniert State, Visualization und Connection der Fahrzeuge. Agiert als MQTT-Client, nicht als Server.
MQTT-Broker
Leitet Nachrichten zwischen Publishern und Subscribern anhand der Topics weiter. Interpretiert VDA-5050-Payloads nicht, sondern reicht sie nur durch.
AGV
Abonniert Order- und Instant-Action-Topics für sich selbst. Publiziert State, Visualization, Connection und Factsheet. Agiert ebenfalls als MQTT-Client.
Sowohl der Flottenmanager als auch jedes AGV sind MQTT-Clients. Der Broker ist die einzige Serverkomponente. Das ist die zentrale Erkenntnis für die IT: Der Broker ist der einzige Kommunikationsknoten, Publish/Subscribe ersetzt direkte Client-zu-Client-Verbindungen.
VDA-5050-Topic-Struktur
VDA 5050 definiert eine strikte Topic-Hierarchie, damit ein Broker viele Fahrzeuge mehrerer Hersteller ohne Kollisionen bedienen kann:
interfaceName/majorVersion/manufacturer/serialNumber/topic
Ein konkretes Beispiel für ein Fahrzeug:
uagv/v2/acme/AGV-0017/orderuagv/v2/acme/AGV-0017/instantActionsuagv/v2/acme/AGV-0017/stateuagv/v2/acme/AGV-0017/visualizationuagv/v2/acme/AGV-0017/connection
| Segment | Beispiel | Bedeutung |
|---|---|---|
| interfaceName | uagv |
Name der Schnittstelle (pro Standort konfigurierbar) |
| majorVersion | v2 |
Major-Version des Protokolls, mit v als Präfix |
| manufacturer | acme |
Herstellerkennung des AGVs |
| serialNumber | AGV-0017 |
Eindeutig pro Fahrzeug (A-Z, a-z, 0-9, _, ., :, -) |
| topic | order |
Einer der VDA-5050-Nachrichtentypen |
Der Flottenmanager abonniert mit Wildcards (z. B. uagv/v2/+/+/state), um den Status aller Fahrzeuge gleichzeitig zu erhalten. Jedes AGV abonniert dagegen nur Topics, die seine eigene Seriennummer enthalten.
Die VDA-5050-Topics
| Topic | Richtung | QoS | Zweck |
|---|---|---|---|
order |
Flottenmanager → AGV | 0 | Transportauftrag mit Nodes, Edges und Actions |
instantActions |
Flottenmanager → AGV | 0 | Sofort-Kommandos (Stopp, Abbruch, Laden starten) |
state |
AGV → Flottenmanager | 0 | Vollständiger Fahrzeugzustand: Position, Akku, Auftragsfortschritt, Fehler |
visualization |
AGV → Flottenmanager | 0 | Hochfrequente Positionsupdates für die Live-Karte |
connection |
AGV / Broker → Flottenmanager | 1, retained, last will | Online-/Offline-Status des Fahrzeugs |
factsheet |
AGV → Flottenmanager | 0 | Fahrzeugeigenschaften und herstellerspezifische Parameter |
zoneSet v3 |
Flottenmanager → AGV | 0 | Zonendefinitionen für frei navigierende Fahrzeuge |
responses v3 |
Flottenmanager → AGV | 0 | Antworten des Flottenmanagers auf Anfragen aus dem State |
Nur das connection-Topic nutzt das Retained-Flag und das Last-Will-and-Testament von MQTT: Der Broker publiziert automatisch eine CONNECTION_BROKEN-Nachricht, wenn ein Fahrzeug unerwartet die Verbindung verliert. So erkennt der Flottenmanager Ausfälle innerhalb des Keep-Alive-Intervalls.
Ende-zu-Ende-Fluss: Ein Auftrag zum AGV
Ein typischer Transportauftrag wandert wie folgt:
-
1
Auslöser: Ein ERP- oder MES-System sendet einen Transportbedarf an den Flottenmanager über dessen REST- oder Messaging-API.
-
2
Disposition: Der Flottenmanager wählt ein Fahrzeug, berechnet die Route und baut eine VDA-5050-
order-Nachricht mit Nodes, Edges und Actions auf. -
3
Publish: Der Flottenmanager publiziert die JSON-Nachricht mit QoS 0 auf
uagv/v2/acme/AGV-0017/order. -
4
Broker-Routing: Der MQTT-Broker gleicht das Topic gegen seine Subscriber ab und leitet die Nachricht an AGV-0017 weiter, das ein aktives Abonnement auf diesem Topic hält.
-
5
Ausführung: Das AGV parst den Auftrag, validiert ihn und beginnt mit der ersten Edge Richtung erstes Node zu fahren.
-
6
Statusrückmeldung: Bei jeder relevanten Änderung (Node erreicht, Action abgeschlossen, Fehler aufgetreten, Akku-Schwelle erreicht) publiziert das AGV ein aktualisiertes
state-Telegramm. Parallel läuft ein hochfrequentervisualization-Strom für die Live-Karte. -
7
Abschluss: Sobald das letzte Node erreicht und alle Actions abgeschlossen sind, meldet das AGV
orderState: FINISHED. Der Flottenmanager bestätigt die Fertigstellung an ERP/MES zurück.
Wie eine Nachricht aussieht
Alle VDA-5050-Payloads sind UTF-8-kodiertes JSON. Jede Nachricht teilt denselben Header:
{
"headerId": 1234,
"timestamp": "2026-04-24T09:15:32.041Z",
"version": "2.0.0",
"manufacturer": "acme",
"serialNumber": "AGV-0017",
...
}
Eine minimale Order-Nachricht ergänzt Nodes, Edges und optionale Actions:
{
"headerId": 1235,
"timestamp": "2026-04-24T09:15:33.122Z",
"version": "2.0.0",
"manufacturer": "acme",
"serialNumber": "AGV-0017",
"orderId": "ORD-7781",
"orderUpdateId": 0,
"nodes": [
{ "nodeId": "N-101", "sequenceId": 0, "released": true, "actions": [] },
{
"nodeId": "N-204",
"sequenceId": 2,
"released": true,
"actions": [{ "actionType": "pick", "actionId": "a-1", "blockingType": "HARD" }]
}
],
"edges": [
{
"edgeId": "E-101-204",
"sequenceId": 1,
"released": true,
"startNodeId": "N-101",
"endNodeId": "N-204",
"actions": []
}
]
}
Konnektivität, die Ihre IT vorbereiten muss
Damit die Infrastruktur VDA-5050-Traffic zuverlässig trägt, richtet die IT typischerweise Folgendes ein:
Transportverschlüsselung
MQTT über TLS (MQTTS) auf Port 8883. Unverschlüsseltes MQTT auf 1883 sollte im Produktivbetrieb deaktiviert sein. Client- und Serverzertifikate für Mutual TLS werden empfohlen.
Authentifizierung
Jedes AGV und der Flottenmanager erhalten eigene MQTT-Credentials oder Client-Zertifikate. Broker-ACLs schränken Publish-/Subscribe-Rechte auf die erlaubten Topics ein.
Fahrzeugnetzwerk
AGVs benötigen stabiles WLAN mit schnellem Roaming. Sie erreichen den Broker über das Werksnetzwerk, nicht über das öffentliche Internet. Die Latenz zum Broker sollte unter 20 ms bleiben.
Netzwerksegmentierung
Flottenmanager und AGVs erreichen den Broker über das Werksnetzwerk. Läuft der Flottenmanager außerhalb des Werks, werden Firewall-Regeln oder ein VPN benötigt. Details zu den Varianten stehen unter Flottenmanager als SaaS.
Keep-Alive & Last Will
AGVs konfigurieren ein Keep-Alive-Intervall (üblich 15–60 s) und registrieren eine Last-Will-Nachricht auf dem connection-Topic, damit der Flottenmanager Ausfälle sofort erkennt.
Broker-Dimensionierung
Pro Fahrzeug sind rund 1–5 Nachrichten/Sekunde über alle Topics zu erwarten, dominiert von visualization. Ein mittelgroßer Broker bedient hunderte Fahrzeuge ohne besonderes Tuning.
Wo der Broker läuft
VDA 5050 schreibt nicht vor, wo der MQTT-Broker läuft. In einem klassischen On-Premise-Setup läuft der Broker auf demselben Server wie der Flottenmanager oder auf einem dedizierten Industrie-PC im Werksnetzwerk. Wird der Flottenmanager in der Cloud oder über mehrere Netzwerkzonen hinweg betrieben, wird die Broker-Platzierung zu einer eigenen Architekturentscheidung. Der Artikel Flottenmanager als SaaS geht auf die üblichen Varianten (Broker on-prem mit VPN, MQTT Bridge, Broker vollständig in der Cloud) und deren Trade-offs im Detail ein.
Was über alle Deployments hinweg gleich bleibt: Der Broker ist die einzige Serverkomponente, AGVs erreichen ihn über das Werksnetzwerk, und die oben beschriebene Topic-Struktur und die Nachrichtenformate sind identisch.
Checkliste für die IT
- [ ] MQTT-Broker-Version und Einsatzort festgelegt
- [ ] TLS-Zertifikate für Broker und jeden Client ausgestellt (Flottenmanager + AGVs)
- [ ] ACLs beschränken jedes AGV auf seinen eigenen Topic-Namensraum
- [ ] Firewall-Regeln zwischen Flottenmanager, Broker und AGV-Netzwerk freigeschaltet
- [ ] WLAN-Abdeckung auf allen AGV-Routen validiert
- [ ] Keep-Alive, Last-Will und QoS-Erwartungen mit dem AGV-Lieferanten dokumentiert
- [ ] Monitoring für Broker-Verfügbarkeit, Nachrichtenrate und Verbindungsabbrüche eingerichtet
- [ ] Netzwerkzonen und Bridges definiert, falls Multi-Site oder segmentiert
Kernaussagen
- VDA-5050-Telegramme sind JSON-Nachrichten auf MQTT-Topics nach der festen Hierarchie
interfaceName/version/manufacturer/serial/topic. - Flottenmanager und jedes AGV sind gleichberechtigte MQTT-Clients. Der Broker ist die einzige Serverkomponente und der einzige Integrationspunkt, den die IT absichern muss.
- Die Kern-Topics decken alles ab:
order,instantActions,zoneSetundresponsesfließen nach unten;state,visualization,connectionundfactsheetfließen nach oben. - Wo der Broker läuft, bestimmt Latenz, Firewall-Komplexität und Ausfallsicherheit. Der Artikel Flottenmanager als SaaS behandelt die Deployment-Varianten.
Ein sauber aufgesetztes VDA-5050-System ist aus IT-Sicht überraschend kompakt: ein Broker, TLS und eine Handvoll Topics. Die Intelligenz liegt im Flottenmanager und auf den Fahrzeugen; das Netz transportiert nur JSON.
Die offizielle Spezifikation und die JSON-Schemas sind unter github.com/VDA5050/VDA5050 veröffentlicht. Teilen Sie den Link neben diesem Überblick mit Ihrem AGV-Lieferanten und der IT.
AGVHub