MATLAB & Simulink-Integration mit dem Data Distribution Service (DDS)

Fütterungstest- und Simulationssysteme mit betrieblichen Echtzeitdaten

Datenverteilungsdienst und MATLAB Synergy 

Die Datenverteilungsdienst (DDS ™) Technologie ist eine Middleware-Plattform aus einer Reihe von Standard-APIs und der Interoperables Protokollls datenzentrierte Systeme zu bauen. Diese offene Technologie steht unter der Leitung des Konsortiums für internationale Standards (Oh mein Gott®), Object Management Group®.

Mit DDS sind Daten und die damit verbundene Quality of Services der einzige Vertrag, der verteilte Anwendungen miteinander verbindet und integriert. Daten können Systemzustände, Befehle oder Antworten, Video- und Audiostreams, Dokumente und Nachrichten darstellen.

Aus dieser Perspektive hilft DDS beim Aufbau entkoppelter und flexibler verteilter Architekturen, bei denen Anwendungen weder ihren Standort, ihre APIs, ihr internes Verhalten offenlegen noch gleichzeitig aktiv und lebendig sein müssen. Mit DDS ist die Entkopplung zweidimensional, es passiert beides in Raum und Zeit.
Diese disruptive Innovation bietet: SichernGeringe Wartezeit und der Ultrahoher Durchsatz Datenwechselkurse. Darüber hinaus bietet es extreme Verlässlichkeit, automatisch Entdeckung und der Ultra-Skalierbarkeit bietet das geschäfts- und unternehmenskritische Internet der Dinge (IoT-) Anwendungen benötigen.

DDS teilt die richtigen Daten jedes Mal zur richtigen Zeit am richtigen Ort auf vollständig entkoppelte Weise.

Konzeptionell erstellt DDS eine verteilte Globaler Datenraum Anwendungen, die Daten erzeugen und verbrauchen, können diese in Echtzeit und fehlertolerant freigeben. DDS garantiert außergewöhnliches deterministisches Verhalten und bietet gleichzeitig ein beispielloses Maß an Zuverlässigkeit, Sicherheit und Leistung.

In den letzten zehn Jahren wurde nachgewiesen, dass DDS die einzige Technologie ist, die ein breites Spektrum von Anwendungsspektren abdeckt. Es erstreckt sich über alle Bereiche, von eingebetteten Systemen mit extrem harten Echtzeitbeschränkungen bis hin zu System of System, IIoT (Industrielles Internet der Dinge) oder auf interkontinentaler Ebene, einschließlich Flugsicherung, Kampfmanagement, Scada-Befehls- und Kontrollsystemen und vielen anderen Andere. Diese Technologie wird auch in Smart Cities, Smart Factories, Smart Grids, Software Defined Networks, Robotik, Gesundheits- und Medizinprodukten, Transport- und Automobilmärkten eingesetzt. 

Vortex DDS® ist der Marktführer für DDS-Technologie. Vortex DDS® bietet sowohl die Middleware-Plattform für den intelligenten Datenaustausch als auch die erforderlichen Produktivitätswerkzeuge zum Entwickeln, Testen, Optimieren, Bereitstellen und Überwachen der DDS-basierten Anwendungen überall und unter allen Umständen. Über den lokalen Bereich, den weiten Bereich, die geringe Bandbreite, Ad-hoc, mobile Netzwerke oder über die Größe des Internets.

Auf der anderen Seite, MATLAB® wird im numerischen, wissenschaftlichen und industriellen Rechnen allgegenwärtig eingesetzt. Das Matrix-basiert Die MATLAB-Sprache drückt leicht rechnergestützte mathematische Konzepte aus. Die integrierten Grafiken erleichtern die Visualisierung und den Einblick in Daten. Mit einer umfangreichen Bibliothek vorgefertigter Toolboxen können Sie komplexe Algorithmen in Ihrer spezifischen Domäne erstellen. Sie können Ihre Analyse ausführen größere Datensätze und skalieren Sie zu Clustern und Wolken. MATLAB-Code kann in andere Sprachen und Technologien integriert werden einschließlich Vortex DDS, So können Sie Ihre Anwendungen und Algorithmen füttern mit Echtzeit datein von Ihren Produktionssystemen und stellen Sie sie auf dem Kante oder in der Wolke.

 Ähnlich, Simulink® ist ein Modellierungswerkzeug mit Blockdiagrammumgebung für die Multidomänensimulation und das modellbasierte Design. Es unterstützt die Simulation der Systemdynamik, das Design auf Systemebene, die automatische Codegenerierung sowie das kontinuierliche Testen und Verifizieren eingebetteter Systeme. Simulink bietet einen grafischen Editor und anpassbare Blockbibliotheken. Es ist sowohl in MATLAB® als auch in MATLAB® integriert Vortex DDSAuf diese Weise können Sie die wichtigsten DDS-Rechenentitäten darstellen und modellieren und MATLAB-Algorithmen in ein Modell integrieren. Anschließend können Sie den Code generieren und Simulationsergebnisse zur weiteren Analyse in MATLAB exportieren oder über Vortex DDS im DDS Global Data Space verbreiten.

Vortex DDS®, MATLAB® und Simulink® sind jetzt vollständig integriert Damit können Sie eine breite Palette fortschrittlicher Produkte entwerfen und entwickeln, einschließlich Automobilsystemen. Verteidigung, Flugsteuerung und Avionik in der Luft- und Raumfahrt, Telekommunikation, industrielle Maschinen, medizinische Geräteund andere elektronische Geräte. Sie sind Ihre grundlegenden Werkzeuge und Plattformen für Ihre Forschung und Entwicklung.

Simulink-Integration mit Vortex DDS

Das Vortex DDS-Produkt wird mit geliefert eine kostenloseDDS-Simulink-Integrationsmodul. Das DDS-Simulink-Integrationsmodul bietet eine dedizierte Bausteinbibliothek zur Modellierung der Interaktion des DDS in einem Simulink-Modell. Wie in 1 gezeigt, ist jede DDS-Entität, wie z Verlag/Abonnenten, Leser / Schriftsteller und Themen wird im Simulink-Modell durch einen dedizierten Block dargestellt.

<br />Figure 1: Vortex DDS integration with Simulink

Abbildung 1: Vortex-DDS-Integration mit Simulink Darüber hinaus ist jedem DDS-Block ein QoS-Profil zugeordnet, das optimiert und verfeinert werden kann, um das Verhalten der zugrunde liegenden DDS-Entität zu steuern.
Simulink-Daten sind in dargestellt Busse deren Typen müssen zugeordnet werden DDS-Datentypen. Daher erfordert das Senden von Simulink-Daten an DDS eine Konvertierung von Simulink-Typen in DDS-Typen. Simulink-Busse werden DDS-Thementypen zugeordnet und umgekehrt. Der Benutzer kann die Simulink-Busdefinitionen generieren oder erstellen, indem er sie entweder aus einer IDL-Datei generiert oder den Simulink-Buseditor verwendet.

<br />Figure 2: Mapping Data Types using Simulink Bus Editor

Abbildung 2: Zuordnen von Datentypen mit dem Simulink Bus EditorWenn erforderlich, können Sie die Daten mithilfe der Abfragesprache DDS SQL92 filtern oder abfragen (siehe Abbildung 3).

<br />Figure 3: Query definition using Vortex DDS Simulink Integration Module

Abbildung 3: Abfragedefinition mit dem Vortex DDS Simulink-Integrationsmodul Sobald die wichtigsten DDS-Bausteine und -Datentypen definiert und DDS-Themen zugeordnet sind, kann der Benutzer die DDS-Bausteine einschließlich nativer Simulink-Modellierungsblöcke wie Math-Funktion, Zeitfunktion oder miteinander verbinden und miteinander verbinden Simulink Anzeigeblöcke zum Erstellen des gesamten Simulationsmoduls. Der Benutzer kann dann die Simulation wie in der folgenden Abbildung dargestellt ausführen.

<br />Figure 4: Vortex DDS Publisher and Subscriber Models integration with Simulink

Abbildung 4: Integration von Vortex DDS Publisher- und Abonnentenmodellen in Simulink Sobald Ihr Modell über den Simulationsmodus validiert wurde, können Sie den zugehörigen Code Ihrer Modelle generieren und kompilieren (oder überkompilieren). Das Vortex DDS Simulink-Integrationsmodul interagiert mit Simulink Coder das entsprechende zu generieren C. Code aus den DDS-Bausteinen. Nach der Kompilierung kann Ihre Simulation über DDS verteilt auf Ihrem ausgewählten Ziel ausgeführt werden.

Das resultierende Simulationsmodell kann jetzt mit jeder anderen DDS-Anwendung kommunizieren, um entweder die Ergebnisse der Simulation über das Netzwerk zu verbreiten oder das Simulationsmodell mit Echtzeitdaten aus dem Feld zu versorgen. 

Im nächsten Abschnitt wird erläutert, wie Instanzen von MATLAB Vortex-DDS-Klassen in MATLAB erstellt werden und mit DDS-Entitäten interagieren können, wie im nächsten Abschnitt gezeigt.

MATLAB-Integration mit Vortex DDS

Die DDS MATLAB-Integration bietet Benutzern DDS MATLAB-Klassen zum Modellieren der DDS-Kommunikation mithilfe der MATLAB-Sprache.
In der Regel müssen Benutzer während der Entwicklungsphase:

  1. Definieren Sie a DDS-Datenmodell Verwenden der Standard-OMG IDL-Datendefinitionssprache.
  2. Übersetzen Sie das DDS-Datenmodell in MATLAB DDS-Entitätsklassen (zB Themenklassen).
  3. Code das MATLAB-Programm mit dem MATLAB API für Vortex DDS.

Diese Schritte sind im folgenden Code-Snapshot zusammengefasst:

<br />Figure 5: MATLAB based Pub Sub DDS Applications

Abbildung 5: MATLAB-basierte Pub-Sub-DDS-AnwendungenDie MATLAB-API für Vortex-DDS unterstützt alle DDS-Funktionen in Bezug auf QoS, Datenfilterung und Abfrage.  

Fazit

Mit Vortex DDS können Sie eine Systemintegration einschließlich MATLAB / Simulink-basierter Anwendungen erreichen und eine erstellen Weit verteilter globaler Datenraum. Auf diese Weise können Sie Ihre Test- und Simulations-Frameworks effektiv vereinheitlichen.

Der globale Datenraum wird in verwaltet und verwaltet Echtzeit, ohne ein der Punkt des Versagens, Alle Ihre wertvollen Daten unter Berücksichtigung von Semantik, QoS, Typ, Inhalt und Format.

 Lassen Sie Ihre Simulationsmodelle über Vortex DDS interagieren und profitieren Sie von der Analyse und Interaktion mit Echtzeitdaten über MATLAB / Simulink.

<br />Figure 6: The Global Data Space integrating and streaming MATLAB and Simulink data

Abbildung 6: Der Global Data Space, der MATLAB- und Simulink dataSuch-Integrationstechnologie integriert und streamt, hilft Ihnen beim Aufbau Ihrer Daten Situationsbewusstseinsschicht Zusätzlich zu Ihrem globalen Datenraum können Sie Ihr System steuern und überwachen und Mehrwertdienste für Ihre Endbenutzer erstellen zu minimalen Kosten.

Wenn Sie mehr über die MATLAB - Simulink-Integration mit Vortex DDS erfahren möchten, laden Sie unsere herunter weißes Papier.

Bei Fragen zu Vortex DDS wenden Sie sich bitte an Kontaktieren Sie uns hier.

Ramzi Karoui
Ramzi Karoui

Produktmanager bei ADLINK Technology