Time-to-Market Versnellen met RTI Connext DDS Professional Tools
Er bleven nog maar twee weken voor de demo.
We hadden een enkele, high-stakes kans om een volledig functioneel microgrid-controlesysteem te leveren dat moest:
- Draaien op Intel en ARM-processoren
- Targeten Linux en Windows-platforms
- Applicaties bevatten geschreven in C, C++, Java, Scala, Lua en LabVIEW
- Communiceren met legacy-apparatuur via ModBus en DNP3-protocollen
- Realtime controle uitvoeren terwijl aan al bovenstaande vereisten voldaan werd
In deze post deel ik de real-world uitdagingen die we tegenkwamen en hoe de tools inbegrepen in RTI Connext DDS Professional ons hielpen integratieproblemen in slechts een paar dagen op te lossen. Ik belicht veelvoorkomende problemen en de specifieke RTI-tools die elk adresseren, en bied links naar ondersteunende video's en artikelen voor diegenen die een diepere duik willen. Mijn doel is om je een praktisch startpunt te geven voor het toepassen van RTI-tools om je DDS-ontwikkeling te versnellen.
De Grote Demo
Dit was de eerste werkende demonstratie van het Smart Grid Interoperability Panel's Open Field Message Bus (OpenFMB), een nieuwe benadering voor edge-grid-apparaatcontrole met IoT-technologieën zoals DDS.
Hieronder is een blokdiagram van het systeem, wat hardware-architecturen, besturingssystemen en programmeertalen toont:
Naarmate we elk deelnemer online brachten, liepen we tegen een aantal uitdagingen aan. De volgende secties beschrijven elk probleem en de tools die we gebruikten om het op te lossen. Scan de koppen om te zien of je vergelijkbare problemen in je DDS-systeem hebt tegengekomen, klik dan op de links om nieuwe troubleshooting-technieken te leren. Overweeg hoe je deze problemen zou hebben gediagnosticeerd zonder de genoemde tools.
Probleem: Netwerkconfiguratie-problemen
Tools: RTI DDS PingHet Oak Ridge National Labs-team bouwde een LabVIEW-GUI die als primaire display zou dienen. Hun laptop kon geen data zien van enige van de genetworkde clients. We verifieerden eerst dat de machine op hetzelfde subnet zat – de klassieke "check de basis" stap. Terwijl de standaard ping-utility basis-bereikbaarheid bevestigt, verifieert het niet dat DDS-discovery-poorten open zijn. De rtiddsping-utility doet precies dat, en onthulde in seconden dat een door de overheid uitgegeven laptop-firewall DDS-discovery-verkeer blokkeerde. Voor een grondige gids over basisdiagnostiek, zie deze community-post.
Probleem: Publiceert mijn applicatie data?
Tools: Spy, Admin ConsoleEen frequente vraag onder vendors nieuw bij DDS is of hun applicatie correct gedraagt: Publiceert het data op de verwachte intervallen, en maakt de data zin? We gebruikten RTI DDS Spy, een lichtgewicht subscriber die kan filteren op specifieke types en topics en elk ontvangen sample print. Elke vendor voerde een snelle sanity-check met Spy uit direct na het starten van hun applicatie.
Als hetzelfde topic geüpdatet wordt door meerdere publishers, onthult de "-showSampleIdentity"-switch welke publisher het meest recente sample stuurde.
Spy is een console-app die op embedded-targets kan draaien voor basistesten. De kleine footprint, snelle opstart en eenvoud maken het ideaal voor snelle verificatie. Gedetailleerde gebruiks-instructies zijn beschikbaar hier.
Probleem: Datatype-mismatch
Tools: Admin Console, MonitorEén vendor rapporteerde dat na een eerdere test ze data van een andere applicatie konden zien, maar tijdens de demo de data verdween. Admin Console identificeerde direct een datatype-mismatch – twee topics die dezelfde naam deelden maar gedefinieerd waren met verschillende IDL-structuren. Dergelijke mismatches kunnen lastig te detecteren zijn, vooral voor grote, complexe types. Admin Console benut DDS's data-centric natuur om de datatypes die elk deelnemer begrijpt te introspecteren, wat zowel een vereenvoudigd overzicht als een "equivalent IDL"-overzicht presenteert voor side-by-side vergelijking. Dit is onschatbaar wanneer je niet de bron-IDL voor elke applicatie hebt.
In dit geval gebruikte de vendor een verouderde IDL uit een oudere GitHub-commit. Na het ophalen van de nieuwste bestanden, genereerde rtiddsgen geüpdatete type-specifieke code, en een snelle hercompilatie herstelde volledige compatibiliteit.
Probleem: QoS-mismatch
Tools: Admin Console, MonitorNaast discovery zijn QoS-mismatches het meest common integratieprobleem voor DDS-gebruikers. Met zoveel knoppen om in te stellen, hoe zorg je voor compatibiliteit? Het OpenFMB-project liep initieel tegen meerdere QoS-mismatches aan. Admin Console detecteert deze snel en markeert de conflicterende instellingen. Je kunt op de QoS-naam klikken om direct naar de documentatie te springen. QoS-informatie uitgewisseld tijdens discovery stelt Admin Console in staat mismatches automatisch te vlaggen.
Probleem: Systeemprestaties Verifiëren
Tools: Admin Console, MonitorTerwijl Spy raw-tekstoutput biedt, geeft het visualiseren van data over tijd een duidelijker plaatje van systeemgedrag. Admin Console's ingebouwde datavisualisatie hielp ons snel de algehele systeemprestaties te beoordelen en door historische data te scrollen om de huidige staat te traceren. Voor een korte intro-video, zie deze video, en voor een diepere duik, kijk deze video.
Probleem: Prestaties Tunen
Tools: Monitor, Admin ConsoleVoor prestatie-tuning is Monitor het tool van keuze. Het werkt met een speciale versie van de DDS-bibliotheken die periodiek realtime-prestatiemetrieken van je applicatie publiceren. De debug-bibliotheken zijn minimaal intrusief, en Monitor aggregeert de data voor analyse.
Met Monitor kun je inspecteren:
- Transmissie- en receptiestatistieken
- Gemiste deadlines
- Cache high-water marks
- QoS-mismatches
- Datatype-conflicten
- Verloren of geweigerde samples
- Liveliness-verlies
Veel QoS-instellingen worden niet geadverteerd tijdens discovery omdat ze lokale resource-management en performance-tuning beïnvloeden. Monitor laat je deze ook onderzoeken. Kijk deze introductie-video voor een snelle tour.
Probleem: Data Transformeren in Flight
Tools: Prototyper met Lua, DDS Toolkit voor LabVIEWWe hadden een grote GUI nodig om microgrid-state in realtime weer te geven. Oak Ridge National Labs ging akkoord de GUI in LabVIEW te bouwen. De DDS Toolkit voor LabVIEW laat je DDS-data ophalen en gebruiken in LabVIEW VIs. Echter, de Toolkit ondersteunt geen arrays van sequences, wat deel is van het OpenFMB-datamodel. We hadden een snelle oplossing nodig die deze complexe types kon lezen.
Prototyper met Lua, een nieuwe functie in Connext DDS Pro 5.2, stelt snel creëren van DDS-enabled applicaties met minimale coding toe: definieer topics en domain participants in XML, voeg een eenvoudig Lua-script toe, en je draait in minuten op een DDS-domein. (Zie Gianpiero's blogpost over Prototyper.)
Die avond schreef ik een Lua-script dat Prototyper instructeert om de complexe DDS-topics met arrays van sequences te lezen en te herpubliceren naar een geflatteerd topic voor de LabVIEW-GUI. Ik testte het script offline met eerder aufgezeichnete live-data, wat leidde tot de volgende sectie.
Probleem: Ontkoppelde Ontwikkeling
Tools: Record, Replay, PrototyperInternet of Things-technologie
- Uw S&OP, data en planningsystemen moderniseren voor toekomstig succes
- Productiekneppelpunten elimineren: 5 bewezen tools voor productie-efficiëntie
- Bouw Uw Geïntegreerde Operationele Platform met Nexus Apps
- Versnel uw productielijn: 3 bewezen tools voor snelheid en efficiëntie
- Een Robuust Time‑Series Monitoring Systeem Bouwen: RTI Connext DDS Integreren met Telegraf en InfluxDB
- Connext DDS in Industriële IoT: 5 Kerninzichten voor Betrouwbaarheid, Beveiliging en Schaalbaarheid
- ROS2 LiDAR Data Replayen met RTI Recording Service en DDS
- AUTOSAR Adaptive Platform 18.03 Lanceert DDS-ondersteuning – Game-Changer voor Autonome Voertuigen
- RTI Labs Lanceert Python-Enabled Connector voor Connext DDS – Nu in de Connext Suite
- Data benutten in het Internet of Reliability: Strategieën voor effectief beheer
- GDPR-naleving: Waarom Weerstand Zinneloos Is en Hoe Je Je Bedrijf Beschermt