Accélérez votre time-to-market avec les outils professionnels RTI Connext DDS
Il ne restait que deux semaines avant la démo.
Nous avions une unique opportunité à haut risque de livrer un système de contrôle microgrid entièrement fonctionnel qui devait :
- Tourner sur processeurs Intel et ARM
- Cibler les plateformes Linux et Windows
- Inclure des applications en C, C++, Java, Scala, Lua et LabVIEW
- Communiquer avec des équipements legacy via protocoles ModBus et DNP3
- Effectuer du contrôle temps réel tout en respectant toutes les exigences ci-dessus
Dans cet article, je partagerai les défis réels auxquels nous avons fait face et comment les outils inclus dans RTI Connext DDS Professional nous ont aidés à résoudre les problèmes d'intégration en juste quelques jours. Je mettrai en lumière les problèmes courants et les outils RTI spécifiques qui ont adressé chacun, et fournirai des liens vers vidéos et articles support pour ceux qui veulent une plongée plus profonde. Mon but est de vous donner un point de départ pratique pour appliquer les outils RTI et accélérer votre développement DDS.
La Grande Démo
C'était la première démonstration fonctionnelle du Open Field Message Bus (OpenFMB) du Smart Grid Interoperability Panel, une nouvelle approche du contrôle de dispositifs de périphérie réseau utilisant des technologies IoT comme DDS.
Ci-dessous un diagramme de blocs du système, montrant architectures matérielles, systèmes d'exploitation et langages de programmation :

Alors que nous mettions chaque participant en ligne, nous avons rencontré un certain nombre de défis. Les sections suivantes décrivent chaque problème et les outils utilisés pour le résoudre. Scannez les titres pour voir si vous avez fait face à des problèmes similaires dans votre système DDS, puis cliquez les liens pour apprendre de nouvelles techniques de dépannage. Considérez comment vous auriez diagnostiqué ces problèmes sans les outils mentionnés.
Problème : Problèmes de configuration réseau
Outils : RTI DDS PingL'équipe d'Oak Ridge National Labs construisait une GUI LabVIEW qui servirait d'affichage principal. Leur portable ne voyait pas les données des clients réseau. Nous avons d'abord vérifié que la machine était sur le même sous-réseau — l'étape classique « vérifier les bases ». Alors que l'utilitaire ping standard confirme la reachability de base, il ne vérifie pas que les ports de découverte DDS sont ouverts. L'utilitaire rtiddsping fait exactement cela, et a révélé en quelques secondes qu'un pare-feu de portable gouvernemental bloquait le trafic de découverte DDS. Pour un guide complet sur les diagnostics de base, voir ce post communautaire.
Problème : Mon application publie-t-elle des données ?
Outils : Spy, Admin ConsoleUne question fréquente parmi les vendeurs nouveaux à DDS est de savoir si leur application se comporte correctement : publie-t-elle des données aux intervalles attendus, et les données ont-elles du sens ? Nous avons utilisé RTI DDS Spy, un souscripteur léger qui peut filtrer pour des types et topics spécifiques et afficher chaque échantillon reçu. Chaque vendeur a effectué un quick sanity check avec Spy immédiatement après le lancement de leur application.
Si le même topic est mis à jour par plusieurs éditeurs, le commutateur « -showSampleIdentity » révèle quel éditeur a envoyé le dernier échantillon.
Spy est une application console qui peut tourner sur cibles embarquées pour tests de base. Sa faible empreinte, démarrage rapide et simplicité en font l'outil idéal pour une vérification rapide. Instructions d'utilisation détaillées disponibles ici.
Problème : Incompatibilité de type de données
Outils : Admin Console, MonitorUn vendeur a rapporté qu'après un test précédent, ils pouvaient voir les données d'une autre application, mais pendant la démo les données ont disparu. L'Admin Console a immédiatement identifié un mismatch de type de données — deux topics partageant le même nom mais définis avec des structures IDL différentes. De tels mismatches peuvent être difficiles à détecter, surtout pour des types larges et complexes. L'Admin Console tire parti de la nature centrée-données de DDS pour introspecter les types de données compris par chaque participant, présentant à la fois une vue simplifiée et une vue « IDL équivalent » pour comparaison côte à côte. C'est inestimable quand vous n'avez pas le source IDL pour chaque application.
Dans ce cas, le vendeur utilisait un IDL obsolète d'un ancien commit GitHub. Après avoir récupéré les derniers fichiers, l'exécution de rtiddsgen a généré du code spécifique aux types mis à jour, et une recompilation rapide a restauré la compatibilité complète.

Problème : Incompatibilité QoS
Outils : Admin Console, MonitorAu-delà de la découverte, les mismatches QoS sont le problème d'intégration le plus courant pour les utilisateurs DDS. Avec tant de boutons à régler, comment assurer la compatibilité ? Le projet OpenFMB a rencontré plusieurs mismatches QoS initialement. L'Admin Console les détecte rapidement et met en évidence les paramètres conflictuels. Vous pouvez cliquer le nom QoS pour sauter directement à la documentation. L'information QoS échangée pendant la découverte permet à l'Admin Console de signaler les mismatches automatiquement.

Problème : Vérifier la performance système
Outils : Admin Console, MonitorAlors que Spy fournit une sortie texte brute, visualiser les données dans le temps donne une image plus claire du comportement système. La visualisation de données intégrée de l'Admin Console nous a aidés à évaluer rapidement la performance globale du système et à parcourir l'historique pour tracer l'état actuel. Pour une vidéo d'intro courte, voir cette vidéo, et pour une plongée plus profonde, regardez cette vidéo.

Problème : Tuning de performance
Outils : Monitor, Admin ConsolePour le tuning de performance, Monitor est l'outil de choix. Il fonctionne avec une version spéciale des bibliothèques DDS qui publient périodiquement des métriques de performance temps réel depuis votre application. Les bibliothèques debug sont minimalement intrusives, et Monitor agrège les données pour analyse.
Avec Monitor, vous pouvez inspecter :
- Statistiques de transmission et réception
- Deadlines manquées
- High-water marks de cache
- Mismatches QoS
- Conflits de type de données
- Échantillons perdus ou rejetés
- Perte de vivacité
Beaucoup de paramètres QoS ne sont pas annoncés pendant la découverte car ils affectent la gestion des ressources locales et le tuning de performance. Monitor vous permet de les examiner aussi. Regardez cette vidéo d'introduction pour un tour rapide.
Problème : Transformer les données en vol
Outils : Prototyper avec Lua, DDS Toolkit pour LabVIEWNous avions besoin d'une grande GUI pour afficher l'état du microgrid en temps réel. Oak Ridge National Labs s'est porté volontaire pour construire la GUI en LabVIEW. Le DDS Toolkit pour LabVIEW vous permet de récupérer les données DDS et de les utiliser dans les VIs LabVIEW. Cependant, le Toolkit ne supporte pas les tableaux de séquences, qui font partie du modèle de données OpenFMB. Nous avions besoin d'une solution rapide qui pouvait lire ces types complexes.
Prototyper avec Lua, une nouvelle fonctio
Technologie de l'Internet des objets
- Construction système monitoring time-series robuste : Intégration RTI Connext DDS, Telegraf, InfluxDB
- Connext DDS dans l'IoT Industriel : 5 Insights Clés pour Fiabilité, Sécurité, Scalabilité
- Rejouer Données LiDAR ROS2 avec RTI Recording Service et DDS
- Exploiter les données dans l'Internet de la fiabilité : stratégies pour une gestion efficace
- Conformité RGPD : pourquoi la résistance est vaine et comment protéger votre entreprise
- Faites évoluer votre S&OP, vos données et vos systèmes de planification pour le succès futur
- Éliminer les goulots d'étranglement de production : 5 outils éprouvés pour l'efficience manufacturière
- Construisez votre plateforme d'opérations intégrée avec Nexus Apps
- Accélérez votre ligne de production : 3 outils éprouvés pour vitesse et efficacité