Intégration MATLAB et Simulink avec Data Distribution Service (DDS)

Alimentation des systèmes de test et de simulation avec des données opérationnelles en temps réel

Service de distribution de données et MATLAB Synergy 

La série Service de distribution de données (DDS ™) la technologie est une plate-forme middleware constituée d'un ensemble de API standard et l’ Protoco interopérablels pour construire des systèmes centrés sur les données. Cette technologie ouverte est sous la gouvernance du consortium international de normalisation (OMG®), Object Management Group®.

Avec DDS, les données et leur qualité de services associée sont le seul contrat qui lie et intègre les applications distribuées ensemble. Les données peuvent représenter des états du système, des commandes ou des réponses, des flux vidéo et audio, des documents et des messages.

De ce point de vue, DDS aide à construire des architectures distribuées découplées et flexibles où les Applications n'ont pas à exposer leur emplacement, leurs API, leur comportement interne ni à être actives et vivantes en même temps. Avec DDS, le découplage est bidimensionnel, il se produit à la fois dans l'espace et le temps.
Cette innovation de rupture permet, SécuriseFaible latence et l’ Ultrahaut débit taux d'échange de données. En outre, il fournit des Fiabilité, automatique Découverte et l’ Ultra-évolutivité fonctionnalités que les entreprises et l'Internet des objets critiques (IoT) besoins des applications.

DDS partage les bonnes données au bon endroit au bon moment, à chaque fois, de manière complètement découplée.

Conceptuellement, DDS construit un Espace de données global où les applications qui produisent et consomment des données peuvent les partager en temps réel et avec tolérance aux pannes. Le DDS garantit des comportements déterministes exceptionnels, tout en offrant un niveau inégalé de fiabilité, de sécurité et de performances.

Au cours de la dernière décennie, il a été prouvé que le DDS est la seule technologie qui couvre un large éventail de spectres d'application. Il s'étend à tous les niveaux, des systèmes embarqués avec des contraintes en temps réel extrêmement dures au système de système, à l'IIoT (Internet des objets industriel) ou aux échelles intercontinentales, y compris le contrôle du trafic aérien, la gestion du combat, les systèmes de commande et de contrôle Scada, et de nombreux autres. Cette technologie est également déployée sur les marchés des villes intelligentes, des usines intelligentes, des réseaux intelligents, des réseaux définis par logiciel, de la robotique, de la santé et des dispositifs médicaux, des transports et de l'automobile. 

Vortex DDS® est le leader du marché de la technologie DDS. Vortex DDS® offre à la fois la plate-forme middleware pour le partage intelligent des données ainsi que les outils de productivité nécessaires pour développer, tester, régler, déployer et surveiller les applications basées sur DDS, partout et en toutes circonstances. Sur une zone locale, une zone étendue, une faible bande passante, des réseaux ad hoc, mobiles ou à l'échelle d'Internet.

D'autre part, MATLAB® est utilisé partout dans le calcul numérique, scientifique et industriel. Le basé sur une matrice Le langage MATLAB exprime facilement des concepts mathématiques informatiques. Ses graphiques intégrés facilitent la visualisation et l'obtention d'informations à partir des données. Une vaste bibliothèque de boîtes à outils prédéfinies vous permet de créer des algorithmes complexes dans votre domaine spécifique. Vous pouvez exécuter votre analyse sur ensembles de données plus volumineux et évoluez vers des clusters et des nuages. Le code MATLAB peut être intégré à d'autres langages et technologies y compris Vortex DDS, vous permettant d'alimenter vos applications et algorithmes avec Dat en temps réelune depuis vos systèmes de production et les déployer sur le Bord ou dans le Nuage.

 De même, Simulink® est un outil de modélisation avec un environnement de diagramme pour la simulation multi-domaine et la conception basée sur un modèle. Il prend en charge la simulation de la dynamique du système, la conception au niveau du système, la génération automatique de code et le test et la vérification continus des systèmes embarqués. Simulink fournit un éditeur graphique, des bibliothèques de blocs personnalisables. Il est intégré à MATLAB® ainsi que Vortex DDS, vous permettant de représenter et de modéliser les entités de calcul DDS clés et d'incorporer les algorithmes MATLAB dans un seul modèle. Vous pouvez ensuite générer le code et exporter les résultats de la simulation vers MATLAB pour une analyse plus approfondie ou les diffuser via Vortex DDS dans l'espace de données global DDS.

Vortex DDS®, MATLAB® et Simulink® sont désormais entièrement intégrés vous permettant de concevoir et de développer une large gamme de produits avancés, y compris des systèmes automobiles, la défense, contrôle de vol aérospatial et avionique, télécommunications, machinerie industrielle, Équipement médicalet autres équipements électroniques. Ce sont vos outils et plateformes fondamentaux pour votre recherche et développement.

Intégration Simulink avec Vortex DDS

Le produit Vortex DDS est livré avec un gratuitModule d'intégration DDS-Simulink. Le module d'intégration DDS-Simulink fournit une bibliothèque de blocs de construction dédiée pour modéliser la façon dont le DDS interagit dans un modèle Simulink. Comme le montre la figure 1, chaque entité DDS, telle que Éditeurs/Les abonnés, Lecteurs / écrivains et Les sujets est représenté par un bloc dédié dans le modèle Simulink.

<br />Figure 1 : Intégration de Vortex DDS avec Simulink

Figure 1: Intégration Vortex DDS avec Simulink En outre, chaque bloc DDS a un profil QoS associé qui peut être réglé et affiné pour contrôler le comportement de l'entité DDS sous-jacente.
Les données Simulink sont représentées dans les autobus dont les types doivent être mappés avec Types de données DDS. Par conséquent, l'envoi de données Simulink vers DDS nécessite une conversion des types Simulink vers les types DDS. Les bus Simulink seront mappés aux types de sujets DDS et vice versa. L'utilisateur peut générer ou créer les définitions de bus Simulink soit en les générant à partir d'un fichier IDL, soit en utilisant l'éditeur de bus Simulink.

<br />Figure 2 : Mappage des types de données à l'aide de Simulink Bus Editor

Figure 2: Mappage des types de données à l'aide de Simulink Bus Editor Si nécessaire, vous pouvez filtrer ou interroger les données à l'aide du langage de requête DDS SQL92, comme illustré dans la figure 3.

<br />Figure 3 : Définition de requête à l'aide du module d'intégration Vortex DDS Simulink

Figure 3: Définition de la requête à l'aide du module d'intégration Vortex DDS Simulink Une fois que les blocs de construction et types de données DDS clés sont définis et associés aux rubriques DDS, l'utilisateur peut câbler et interconnecter les blocs de construction DDS ensemble, y compris les blocs de modélisation natifs Simulink tels que la fonction Math, la fonction Temps ou Simulink Display blocs pour construire le module de simulation complet. L'utilisateur peut ensuite exécuter la simulation comme illustré dans la figure ci-dessous.

<br />Figure 4 : Intégration des modèles d'éditeur et d'abonné Vortex DDS avec Simulink

Figure 4: Intégration des modèles Vortex DDS Publisher et Subscriber avec Simulink Une fois que votre modèle a été validé via le mode simulation, vous êtes prêt à générer et compiler (ou croiser) le code associé de vos modèles. Le module d'intégration Vortex DDS Simulink interagit avec Codeur Simulink pour générer le correspondant C code à partir des blocs de construction DDS. Une fois compilée, votre simulation peut s'exécuter sur votre cible sélectionnée de manière distribuée via DDS.

Le modèle de simulation obtenu peut désormais communiquer avec n'importe quelle autre application DDS, soit pour propager les résultats de la simulation sur le réseau, soit pour alimenter le modèle de simulation avec des données en temps réel du terrain. 

La section suivante explique comment des instances de classes MATLAB Vortex DDS peuvent être créées dans MATLAB et interagir avec les entités DDS comme indiqué dans la section suivante.

Intégration MATLAB avec Vortex DDS

L'intégration DDS MATLAB fournit aux utilisateurs des classes DDS MATLAB pour modéliser la communication DDS à l'aide du langage MATLAB.
En règle générale, pendant la phase de développement, les utilisateurs doivent:

  1. Définir un Modèle de données DDS en utilisant le langage de définition de données OMG IDL standard.
  2. Traduire le modèle de données DDS en Classes d'entités MATLAB DDS (par exemple, classes de sujets).
  3. Code le programme MATLAB utilisant le API MATLAB pour Vortex DDS.

Ces étapes sont résumées dans l'instantané de code ci-dessous:

<br />Figure 5 : Applications Pub Sub DDS basées sur MATLAB

Figure 5: Applications Pub Sub DDS basées sur MATLAB L'API MATLAB pour Vortex DDS prend en charge toutes les capacités DDS en termes de QoS, de filtrage des données et d'interrogation.  

Conclusion

Avec Vortex DDS, vous pouvez réaliser l'intégration du système, y compris les applications basées sur MATLAB / Simulink et créer un Espace de données mondial largement distribué. Ce faisant, vous pouvez unifier efficacement vos frameworks de test et de simulation.

Le Global Data Space traitera et gérera en Temps réel, sans un point de défaillance unique, toutes vos précieuses données en tenant compte de leur sémantique, QoS, type, contenu et format.

 Faites interagir vos modèles de simulation sur Vortex DDS et profitez des avantages de l'analyse et de l'interaction avec les données en temps réel via MATLAB / Simulink.

<br />Figure 6 : L'espace de données global intégrant et diffusant des données MATLAB et Simulink

Figure 6: Le Global Data Space intégrant et diffusant des données MATLAB et Simulink Une telle technologie d'intégration vous aidera à construire votre couche de connaissance de la situation en plus de votre espace global de données pour contrôler et surveiller votre système et créer des services à valeur ajoutée pour vos utilisateurs finaux au moindre coût.

Si vous souhaitez en savoir plus sur MATLAB - Intégration Simulink avec Vortex DDS, téléchargez notre papier blanc.

Pour toute question concernant Vortex DDS, veuillez contactez nous ici.

Ramzi Karoui
Ramzi Karoui

Chef de produit chez ADLINK Technology