Datenverteilung und Messaging
Industrielle Datenarchitektur mit oder ohne Broker. Wir entwerfen und bauen die datenzentrierte Middleware und die Publish-Subscribe-Schicht, die Produktionsdaten zwischen Maschinen überträgt. Die Zustellgarantien lassen sich je Topic einstellen.
Für wen wir arbeiten
-
OEMs
Sie legen einmal auf Plattformebene fest, ob die Daten mit oder ohne Broker verteilt werden. Alle Produktvarianten dieser Plattform übernehmen diese Entscheidung, und kein Projekt muss sie erneut treffen.
-
Maschinenbauer
Sie brauchen einen globalen DDS-Datenraum, der Daten zwischen Maschinen so schnell verteilt, wie die Steuerung sie braucht. Telemetrie im Takt von Berichten reicht dafür nicht.
-
Systemintegratoren
Request-Response reicht für Ihre Anwendung nicht mehr aus. Wir ergänzen darunter eine Verteilungsschicht für Echtzeitdaten.
Was wir tun
- 01
Architekturentwurf
Wir entscheiden mit Ihnen, ob mit oder ohne Broker, gemessen an Ihren Anforderungen an Latenz, Teilnehmerzahl und Fehlerverhalten.
- 02
Entwicklung eines DDS-Backbones
Wir spezifizieren und bauen einen DDS-Backbone. Topics, Datentypen und QoS-Einstellungen legen wir je Datenfluss fest und setzen sie nicht global.
- 03
MQTT und Sparkplug B
Wo ein Broker zur Topologie passt, verteilen wir Industriedaten über MQTT Sparkplug B auf der Broker-Infrastruktur, die Sie schon betreiben, und setzen dabei die Zustands- und Birth-Certificate-Mechanismen von Sparkplug um.
- 04
Steuerung und Telemetrie verbinden
Wir bauen Gateways und Datenzuordnungen, damit eine Steuerungsschicht ohne Broker und eine Telemetrieschicht mit Broker nebeneinander laufen und jede ihre eigenen Zustellgarantien behält.
- 05
QoS und Fehlerverhalten
Wir legen Reliability, Durability, Deadline und Liveliness je Topic fest und legen ausdrücklich fest, wie sich das System bei einem verspäteten oder fehlenden Teilnehmer verhält.
- 06
Integration und Test
Wir prüfen die Verteilschicht mit Ihren Ingenieuren bei wechselnden Teilnehmern, Verbindungsverlust und dem Wiederanlauf spät hinzukommender Teilnehmer, bevor sie in Produktion geht.
- 07
Schulung, gemeinsame Entwicklung und Langzeitbetreuung
Wir führen Ihre Ingenieure durch Topic-Entwurf, QoS-Entscheidungen und Fehlerverhalten, damit sie die Verteilschicht selbst erweitern können. Im Produktivbetrieb übernehmen wir den Third-Level-Support als Ergänzung zum First-Level-Support Ihres Teams.
Middleware und Einsatzfelder
- Middleware
- DDS (RTPS) · MQTT und Sparkplug B · AMQP · OPC UA PubSub als Nachbar
- Einsatzfelder
- Steuerungsverkehr zwischen Maschinen · Backbones an Bord, in der Marine und in der Mobilität · Telemetrie in Fahrzeugtechnik und Luftfahrt · Datenaustausch von Gerät zu Gerät
- Was Sie erhalten
- Spezifikation von Topics, Typen und QoS · Implementierung mit Build-Umgebung · Testbericht zum Fehlerverhalten · Hinweise zur Integration
Was gehört zu einer Datenarchitektur mit oder ohne Broker?
Ob eine industrielle Datenarchitektur mit oder ohne Broker arbeitet, ist die erste Entscheidung in jedem Publish-Subscribe-Entwurf.
Wir treffen sie anhand von Latenz, Teilnehmerzahl und Fehlerverhalten, nicht anhand der Bibliothek, mit der der Prototyp entstand. Unser gelieferter Nachweis ist hier ein Steuerungssystem für einen Maschinenraum auf einem DDS-Backbone. Die meisten Projekte beginnen mit einem dieser Punkte:
- Nur die Architekturentscheidung. Mit oder ohne Broker, begründet an Ihren Anforderungen und mit der Begründung dokumentiert.
- Ein DDS-Backbone. Industrielle DDS-Arbeit vom Entwurf der Topics und Typen bis zum laufenden System, auch in der Mobilität und im Maschinenraum, wo es gerade um Redundanz geht.
- MQTT mit echtem Zustand. Verteilung von Industriedaten über MQTT Sparkplug B, mit der Semantik von Birth und Death, die es von einfachem MQTT unterscheidet.
- Eine Pipeline für Produktionsdaten in Echtzeit. Kommunikation von Maschine zu Maschine und Datenaustausch von Gerät zu Gerät mit Raten, die ein Request-Response-Entwurf nicht halten kann.
- Steuerung und Telemetrie verbinden. Wo eine Steuerungsschicht ohne Broker und eine Telemetrieschicht mit Broker beide existieren, die Abbildung zwischen ihnen.
Topics, Typen, Zustellgarantien und Fehlerverhalten, in dieser Reihenfolge. Eine Publish-Subscribe-Architektur für Industriedaten ist eine Reihe von Zusagen: was passiert, wenn ein Abonnent langsam ist, wenn ein Publisher ausfällt, wenn ein Teilnehmer spät dazukommt und die Historie haben will, und wenn eine Verbindung nach einem Ausfall zurückkommt. In der meisten Middleware sind diese Zusagen Konfiguration, und oft bleiben sie auf dem Standardwert. Wir legen sie je Datenfluss fest, weil ein Sollwert und ein Diagnoseprotokoll nicht dieselbe Reliability, Durability oder Deadline brauchen.
Anlagen und Maschinen nehmen wir nicht in Betrieb. Die Verteilschicht in Ihrem Produkt oder Ihrer Plattform entwerfen und bauen wir, und wir prüfen sie mit Ihren Ingenieuren bei wechselnden Teilnehmern und Verbindungsverlust, vor Ort während dieser Phase und danach remote.
Wann ist ein Broker die richtige Antwort?
Ein Broker ist oft die richtige Antwort, wenn der zusätzliche Hop ins Latenzbudget passt.
Er bietet einen Ort, an dem sich beobachten, autorisieren und puffern lässt, und eine Topologie, die eine Firewall und eine IT-Abteilung nachvollziehen können.
| Wann | Wann nicht |
|---|---|
| Telemetrie | Der zusätzliche Hop passt nicht mehr ins Latenzbudget |
| Store-and-Forward über eine unzuverlässige Verbindung | Der Broker wird zu einem Single Point of Failure, den das System nicht verkraftet |
| Alles, was eine Standortgrenze überschreitet | Teilnehmerzahl und Nachrichtenrate machen ihn zum Engpass, hinter dem sich alles andere staut |
Die rechte Spalte beschreibt die Bedingungen, die DDS und die zugehörige Konfigurationsarbeit rechtfertigen: Die Discovery läuft zwischen den Teilnehmern, die Zustellung ist direkt, und die Garantien gelten je Topic und nicht je Broker.
Was entscheidet Quality of Service in einem DDS-System?
Quality of Service entscheidet, ob das System kontrolliert nachlässt oder ausfällt.
- Reliability entscheidet, ob ein verlorenes Sample erneut gesendet oder vergessen wird.
- Durability entscheidet, ob ein spät hinzukommender Abonnent die Historie bekommt oder leer beginnt.
- Deadline nennt die Rate, die ein Abonnent erwarten darf. Damit wird ein langsamer Publisher zu einem gemeldeten Fehler und nicht zu einem stillen.
- Liveliness entscheidet, wie schnell ein ausgefallener Teilnehmer bemerkt wird.
- History entscheidet, wie viel aufbewahrt wird, solange ein Abonnent zurückliegt.
Diese Einstellungen wirken gestaffelt: Ein Standardwert für die ganze Domain ist ein Ausgangspunkt, und es gilt die Einstellung, die näher an den Daten liegt, also die QoS von Writer oder Reader. Ein Domain-Standardwert für jeden Datenfluss verschwendet entweder Ressourcen an Verkehr, der sie nicht braucht, oder lässt Verkehr verhungern, der sie braucht. Ein großer Teil des Werts eines DDS-Projekts steckt in dieser Konfigurationstabelle.
Welche DDS-Implementierung passt zu uns?
Die Abwägungen sind dieselben wie bei einem Feldbus- oder Echtzeit-Ethernet-Stack.
Neben der Lizenz sind einige weitere Eigenschaften zu prüfen.
| Implementierung | Lizenz | Was zu prüfen ist |
|---|---|---|
| FastDDS · Cyclone DDS · OpenDDS | Open Source | Alle drei laufen bis hinunter auf Embedded Linux und RTOS. Die verbreitete Annahme, DDS brauche Hardware der Serverklasse, ist also falsch. Speicherbedarf und der Discovery-Verkehr, den ein knapp ausgestatteter Knoten verkraften muss, sind die eigentlichen Grenzen, und beide lassen sich messen. Meist beginnen wir mit FastDDS, aus dem unten genannten Grund mit ROS 2 |
| RTI Connext | Kommerziell, meist je Produkt oder je Knoten | Der größte kommerzielle Anbieter. Eine Lizenz bringt einen Supportvertrag, Unterlagen zur Zertifizierung für regulierte Programme und eigenen Support. Für ein Produkt mit langem Lebenszyklus und Servicepflicht kann das über die Laufzeit des Programms die wirtschaftlichere Wahl sein |
Plattformfrage und Lizenzfrage sind dieselbe Frage, weil meist die knapp ausgestattete Zielplattform die Auswahl zuerst eingrenzt. Wir rechnen beides gegen Ihre Stückzahlen und Ihre Hardware und bauen dann auf der Implementierung auf, die Sie wählen. Selbst lizenzieren oder verkaufen wir keine DDS-Implementierung.
Kann ein DDS-System mehr als einen Standort umfassen?
Standardmäßig umfasst ein DDS-System nur einen Standort.
Die Discovery von DDS ist auf eine Multicast-Domain begrenzt, in der Praxis also auf einen Standort oder ein VLAN. Darin finden sich die Teilnehmer automatisch, außerhalb davon gar nicht.
Diese Grenze zu überschreiten ist eine bewusste Netzkonfiguration: entweder ein Routing Service, der zwischen den Domains vermittelt, oder eine feste Unicast-Liste der Gegenstellen anstelle der Multicast-Discovery. Beides funktioniert. Beides fügt eine Komponente hinzu, die betrieben, abgesichert und überwacht werden muss, und beides ändert das Fehlerverhalten des Systems, weil eine Verbindung zwischen Standorten anders ausfällt als eine innerhalb eines Standorts. Das legen wir in der Entwurfsphase anhand Ihrer Topologie fest. Ist der Verkehr über die Grenze Telemetrie und keine Steuerung, ist ein Broker auf dieser Strecke oft die bessere Antwort, und die Brücke zwischen einer Steuerungsschicht ohne Broker und einer Telemetrieschicht mit Broker gehört zu den oben genannten Projektformen.
Wo liegt die Datenverteilung im Verhältnis zum übrigen Stack?
Die Datenverteilung liegt über dem Netz und neben dem Informationsmodell.
- Was darunter liegt. Den Determinismus, mit dem eine Verteilschicht eine Deadline einhält, liefert das Netz: Qbv-Zeitpläne, Treiber, Messung. Diese Arbeit gehört zu Echtzeit-Ethernet.
- Was daneben liegt. Die typisierte, durchsuchbare Beschreibung dessen, was eine Maschine bedeutet, die ein überlagertes System durchsucht und nicht abonniert, ist OPC UA und Informationsmodellierung.
Meist sind alle drei vorhanden. Welche einen bestimmten Datenfluss übernimmt, entscheidet sich daran, ob das Zielsystem ihn durchsuchen, abonnieren oder innerhalb einer Deadline sicher erhalten muss.
Häufige Fragen
Wer entwirft eine industrielle Datenarchitektur mit oder ohne Broker?
Haben Sie DDS schon produktiv geliefert?
Arbeiten Sie mit ROS 2?
Wie steht es mit DDS in Fahrzeugen und in der Luftfahrt?
Ist das nicht dasselbe Thema wie OPC UA?
Sollen wir OPC UA, DDS oder MQTT/Sparkplug B wählen?
Wie viel Latenz fügt ein Broker hinzu?
Unterstützt DDS Sicherheit und Verschlüsselung?
Wie findet man Fehler in einem Publish-Subscribe-System im laufenden Betrieb?
Wie migriert man ein System von Request-Response auf Publish-Subscribe, ohne es neu zu schreiben?
Können Sie unsere Ingenieure schulen, statt nur den Code zu übergeben?
- OMG DDS – die Spezifikation des Data Distribution Service, mit RTPS als Übertragungsprotokoll
- OMG DDS-TSN 1.0 – wie eine DDS-Installation auf die Zeitsteuerung von TSN abgebildet wird; veröffentlicht im April 2023, Beta2 im Mai 2024
- Sparkplug B – die Spezifikation für Nutzlast und Zustand, die einfachem MQTT die Semantik von Birth, Death und Rebirth gibt, die Industriedaten brauchen
- ISO/IEC 19464 – AMQP, wenn eine dauerhafte Queue und kein Topic die richtige Form ist
- OMG DDS-Security – Authentifizierung, Zugriffskontrolle und Verschlüsselung als getrennte, austauschbare Dienste und nicht als ein fester Mechanismus
- IEC 62541 – OPC UA, der vom Transport unabhängige Standard für die Informationsmodellierung
Sollen wir das für Ihr Produkt einschätzen?
Lesen Sie zuerst unsere technischen Notizen oder sprechen Sie direkt mit dem Team, das die Arbeit übernimmt.