TSN
Die Kombi mit DDS
Der Data Distribution Service (DDS) für Echtzeit-Systeme lässt sich mit den kommenden IEEE-TSN-Standards kombinieren. Das Ergebnis: ein verteiltes und datenzentriertes Integrations-Framework, das eine hohe Zuverlässigkeit und Verfügbarkeit bietet.
Der DDS-Standard der Object Management Group (OMG) ist von Grund auf darauf ausgelegt, die Herausforderungen der Echtzeit-Kommunikation anzugehen. Time-Sensitive Networking (TSN) umfasst eine Reihe von Standards der IEEE-Arbeitsgruppe 802.1 der Time-Sensitive Networking Task Group. Die Standards definieren Mechanismen zur Übertragung zeitsensibler Daten über Ethernet-Netzwerke. Dass DDS und TSN gut zusammenarbeiten können, erklärt sich aus mehreren Gründen. Ganz grundsätzlich stellen beide Techniken eine One-to-Many-Kommunikation zur Verfügung, die für unterschiedliche Datenströme verschiedene Zuverlässigkeits-Niveaus unterstützt.
DDS-Datenflüsse und TSN-Streams
Bei DDS dreht sich alles um ein weitreichend typisiertes Publish/Subscribe-Modell, in dem DataWriter für das Aktualisieren bestimmter Datentypen zuständig sind, während DataReader diese Aktualisierungen beobachten. Ein Topic ist hierbei ein anwendungsspezifischer Datentyp, der festlegt, welche Informationen ein DDS-Paket enthält. Typische DDS-Systeme bestehen aus einem bis zu Hunderten von Topics. Die Kombination aus einem DataWriter und seinem Topic-Namen lässt sich als ID einer DDS-Datenfluss-Quelle bezeichnen. Alle passenden DataReader (One-to-Many) fungieren als Senken für diesen Datenfluss.
Ähnlich wie hier gibt es in TSN Talker. Diese aktualisieren einen oder mehrere Streams, die Daten an die angeschlossenen Listener liefern. Solche Streams werden durch ihre ‚VLAN Tag ID‘ identifiziert. Die Kombination aus einem Talker und seiner VLAN Tag ID lässt sich als ID der Quelle eines TSN-Streams bezeichnen.
Aus dieser Beschreibung geht hervor, wie sich DDS-Datenflüsse direkt auf TSN-Streams abbilden lassen. Die meisten DDS-Systeme machen heutzutage bereits Gebrauch vom IP-Multicasting, sodass der Ersatz dieses Mechanismus durch die Kommunikation über TSN-Streams ein folgerichtiger Schritt ist. Auf der Applikationsebene wären die Auswirkungen minimal, da die Details des zugrundeliegenden Transports den DDS-Anwendern verborgen bleiben.
QoS in DDS und Traffic-Klassen in TSN
Zusätzlich kennzeichnen DDS verschiedenste Quality-of-Service-Einstellungen. Deren Aufgabe besteht darin, die Middleware unter anderem über die Wichtigkeit und Dringlichkeit der Informationen in den verschiedenen DDS-Datenflüssen zu instruieren. Im Sinne des datenzentrischen Ansatzes – Anwendungen kommunizieren mit der Dateninfrastruktur, nicht miteinander – erfolgen die QoS-Einstellungen für jeden Datenfluss einzeln. Einige davon haben Ähnlichkeit mit den Mechanismen, welche die Traffic-Klassen in TSN definieren. Beispiele hierfür sind die QoS-Einstellungen ‚Deadline‘, ‚LatencyBudget‘ und ‚TransportPriority‘. Weitere QoS-Einstellungen auf DDS-Ebene eignen sich für intelligente Entscheidungen bei der Auswahl des passenden zugrundeliegenden TSN-Streams. Indem Systemdesigner also auf DDS-Ebene die richtigen QoS-Einstellungen wählen, können sie sich auf das End-to-end Daten-Distributions-Verhalten verlassen – also von der produzierenden Applikation bis hin zum Netzwerk-Stack, durch das Netzwerk und zurück zur konsumierenden Applikation.
Auf Basis des ‚Data Distribution Service for Real-Time System‘ wurden DDS-Produkte von Anfang an für die Implementierung solcher Systeme konzipiert und eingesetzt.
Bestehende DDS-Ökosysteme eignen sich deshalb für den Einsatz in Anwendungsbereichen, die auch von TSN-Techniken adressiert werden, etwa in der industriellen Automation und bei Automotive-Anwendungen.
Vorteile durch die Kombi DDS + TSN
Was steuert nun DDS zusätzlich zu TSN bei, wodurch sich die Kombination beider Techniken lohnt? Was macht es umgekehrt für DDS-Anwender interessant, TSN als zugrundeliegendes Netzwerk zu nutzen?
Die Interaktions-Modelle von DDS und TSN sind recht ähnlich: In beiden Fällen handelt es sich grundsätzlich um Techniken nach dem One-to-Many- und Publish/Subscribe-Konzept. Setzt man DDS auf TSN auf, so resultiert daraus ein Programmiermodell mit einem höheren Abstraktionsgrad. DDS-Anwender entwickeln ihre Systeme durch das Produzieren oder Konsumieren weitreichend typisierter und vorab definierter Datenelemente. Die hierfür unterstützten Datenmodellierungs-Konstrukte sind zudem umfangreich und modern. Applikationsentwickler sehen ihre Daten als Konstrukte systemeigener Programmiersprachen, während alle untergeordneten Mechanismen wie Serialisierung und Deserialisierung sowie Netzwerk-Interaktionen von der DDS-Middleware übernommen werden.
DDS besteht aus einer Reihe offener Standards mit der Object Management Group als Standardisierungs-Instanz. So lassen sich die Standards über die OMG-Website frei herunterladen. Zusätzlich zur Funktionsbeschreibung von DDS umfasst die Spezifikation ein standardisiertes API, das Applikationsentwickler nutzen können. Bei einer Integration von DDS und TSN lässt sich das API für eine einfachere Einarbeitung, zur Senkung der Wartungskosten und als Unterstützung durch ein Off-the-Shelf-Ökosystem verwenden.
Da DDS aus großen missionskritischen Systemen hervorgegangen ist, bleiben die erforderlichen Eigenschaften für zuverlässige, betriebssichere Systeme erhalten, wenn ein TSN-Netzwerk durch DDS ergänzt wird.
Viele Systeme bestehen aus verschiedenen Subsystemen mit unterschiedlichen Anforderungen und Fähigkeiten. Nicht alle dieser Subsysteme erfordern jedoch das von TSN gebotene strikte Echtzeit-Verhalten. DDS ermöglicht es, die gleiche Infrastruktur in verschiedenen Subsystemen wiederzuverwenden und sie mit Gateways zu verbinden, während ein einheitliches Datenmodell beibehalten wird. Da DDS nicht an bestimmte Betriebssysteme oder Programmiersprachen gebunden ist, eignet es sich für unterschiedliche Umgebungen. In solchen Fällen bleiben das Datenmodell und das reichhaltige Ökosystem von DDS als gemeinsames Thema erhalten. Dies vereinfacht wiederum das Einbringen von TSN in ein bestehendes System oder Design sowie den Ausbau eines vorhandenen, TSN-basierten Systems durch zusätzliche Subsysteme mit unterschiedlichen nichtfunktionsbezogenen Anforderungen.
Ein Anwendungsbeispiel
Das Management eines Roboter-Systems über eine DDS-Infrastruktur ist eine Anwendung, für die sich die Nutzung von TSN auf einer unteren Ebene anbietet. Die Integration beider Techniken kann in verschiedenen Stadien des Systementwicklungs-Prozesses erfolgen.
Im Beispiel geht es um ein System, das in einer dezentralen Konfiguration einen Roboterarm steuert. Die steuernde Applikation läuft also auf einer anderen Maschine als der Roboter selbst. Für Analysezwecke und eine vorausschauende Wartung überwacht und dupliziert eine weitere Maschine die Funktionsweise des Roboters. Alle diese Anwendungen können Alarme auslösen, sobald Unregelmäßigkeiten entdeckt werden. Die Kommunikation aller beteiligten Applikationen erfolgt per DDS (siehe Anwendungsbeispiel oben).
Im DDS-Sprachgebrauch ist der Name des Ablaufs (Flow) gleichbedeutend mit dem Topic-Namen. Das Layout des Beispielsystems geht aus Bild 1 hervor.
System-Layout und zeitlicher Ablauf
OMG DDS-XML definiert ein Schema zur Definition von DDS-Entitäten in einem XML-Format, was einen Mechanismus zum deskriptiven Erfassen von System-Datenflüssen ermöglicht. Mit zusätzlichen Tags, die noch von einem neuen OMG- DDS-TSN-Standard als Ergänzung zum bestehenden DDS-XML-Schema definiert werden müssen, lässt sich eine Kennzeichnung kritischer beziehungsweise unkritischer Datenflüsse samt ihrer Frequenzen und Bandbreiten bereitstellen. Zusammen mit physischen Endpunkt-Informationen, die angeben, welche Applikationen auf welchen Knoten laufen, sind ausreichend Informationen verfügbar. Diese können einem TSN-Network-Scheduler zugeführt werden, damit dieser die verschiedenen TSN-Flows mit ihren Tags sowie Timing und Dauer der zugehörigen Netzwerk-Zeitintervalle berechnen kann. In der TSN-Terminologie bedeutet das: Ein DDS-fähiges CUC-Tool (Central User Configurator) nimmt die DDS-spezifischen Informationen entgegen und setzt diese in eine Interaktion mit dem CNC-Tool (Centralized Network Configurator) um, um einen berechneten und im standardisierten TSN-Format ausgedrückten Network-Schedule zu erhalten.
Für die als nichtkritisch markierten DDS-Datenflüsse werden dem TSN-Network-Scheduler keine Informationen zur Verfügung gestellt. Das bedeutet, die zugehörigen Daten werden in den verbleibenden TSN-Best-Effort-Zeitintervallen transportiert.
Im Falle des Beispielsystems heißt das, dass zu den kritischen Topics DesiredPos und ActualPos die entsprechenden Aktualisierungsfrequenzen (zum Beispiel 1 kHz) angegeben werden müssen, damit der Network-Scheduler sie berücksichtigen kann. Das Alarm-Topic ist zwar ebenfalls kritisch, aber nicht periodisch. Damit dies mit dem Konzept der vorgeplanten Zeitintervalle funktioniert, muss vorab eine Schätzung der erforderlichen oder gewünschten zugewiesenen Bandbreite sowie der maximal akzeptablen Latenz erstellt werden. Dies lässt sich mittels entsprechender Tools bewerkstelligen. Das Heartbeat-Topic ist letztlich unkritisch, sodass keine zusätzlichen Informationen erforderlich sind.
Auswahl von TSN-Flows zur Laufzeit
Für jene DDS-Topics, die kritische Informationen enthalten, wird jeder DDS-DataWriter als TSN-Talker und jeder DDS-DataReader als TSN-Listener eingestuft. Darüber hinaus ist die DDS-Middleware in der Lage, jeweils das richtige VLAN-Tag auszuwählen, wodurch auf der Netzwerk-Ebene die von TSN gebotene QoS bereitgestellt wird. DataWriter und DataReader für nicht-kritische Topics kommunizieren ihre Daten über die TSN-Best-Effort-Zeitintervalle. Im Beispielsystem müssen also die Header der Netzwerk-Pakete für die kritischen Topics DesiredPos, ActualPos und Alarm mit den korrekten Tags für die Ethernet-Ebene versehen sein, wie von den im vorigen Schritt berechneten TSN-Flows angegeben. Hierfür ist die DDS-Infrastruktur zuständig. Für das Heartbeat-Topic ist ein solcher Mechanismus nicht notwendig, da es sich hier um keinen kritischen Flow handelt.
Automatische Konfiguration
Bild 2. Rollen in der TSN-Systemkonfiguration: Zu den wichtigsten DDS-Schnittstellen gehören das CUC-CNC-User/Netzwerk-Protokoll und die CUC-TSN-Endpunkt-Schnittstelle.
© RTIZusätzlich zur Instrumentierung der DDS-Middleware gilt es, auch die verschiedenen TSN-fähigen Elemente des Netzwerk-Equipments so zu konfigurieren, dass sie zu den DDS-Datenflüssen passen. Diese Aufgabe könnte vom CUC und CNC erledigt werden, wobei der CNC entweder alle Netzwerk-Switches direkt über den Schedule informiert oder der CNC dem CUC die hierfür erforderlichen Informationen zur Verfügung stellt. Darüber hinaus instruiert der CUC die Netzwerk-Schnittstellen (siehe Bild 2). Im Beispielsystem wiederum müssen die Netzwerk-Schnittstellenkarten für die Maschinen, auf denen die Prozesse Controller, Arm, Twin und Alarm-UI laufen, über die berechneten Zeitintervalle für die jeweiligen Topics informiert werden. Auch der TSN-fähige Switch muss entsprechend angewiesen werden.
DDS-TSN-Standardisierungen
Die Object Management Group hat die Notwendigkeit eines standardisierten Konzepts für die Kombination von DDS und TSN erkannt und bereits mit der Definition der verschiedenen Aspekte einer solchen Integration begonnen. Es ist zu erwarten, dass darin auch Aspekte für das Definieren von Standardmechanismen für den Betrieb einer DDS-Laufzeit-Infrastruktur auf einem TSN-Netzwerk einfließen. Zudem könnte es die Beschreibung eines standardisierten Prozesses für die Herleitung von TSN-Netzwerk-Scheduling-Informationen aus DDS-Systembeschreibungen erfordern. Sobald solche offenen Standards verfügbar und für alle zugänglich sind, können sowohl DDS- als auch TSN-Anbieter ihre Integrationslösungen auf portable und anbieterunabhängige Weise entwickeln.













