Acelera el Time-to-Market con las herramientas profesionales de RTI Connext DDS
Solo quedaban dos semanas para la demo.
Teníamos una única oportunidad de alto riesgo para entregar un sistema de control de microgrid totalmente funcional que tenía que:
- Ejecutarse en procesadores Intel y ARM
- Apuntar a plataformas Linux y Windows
- Incluir aplicaciones escritas en C, C++, Java, Scala, Lua y LabVIEW
- Comunicarse con equipos heredados usando protocolos ModBus y DNP3
- Realizar control en tiempo real cumpliendo todos los requisitos anteriores
En este post, compartiré los desafíos reales que enfrentamos y cómo las herramientas incluidas en RTI Connext DDS Professional nos ayudaron a resolver problemas de integración en solo un par de días. Destacaré problemas comunes y las herramientas específicas de RTI que abordaron cada uno, y proporcionaré enlaces a vídeos y artículos de soporte para quienes quieran una inmersión más profunda. Mi objetivo es darte un punto de partida práctico para aplicar herramientas RTI y acelerar tu desarrollo DDS.
La Gran Demo
Esta fue la primera demostración funcional del Open Field Message Bus (OpenFMB) del Panel de Interoperabilidad de Redes Inteligentes, un nuevo enfoque para control de dispositivos de borde de red usando tecnologías IoT como DDS.
A continuación, un diagrama de bloques del sistema, mostrando arquitecturas de hardware, sistemas operativos y lenguajes de programación:
Al poner online a cada participante, encontramos varios desafíos. Las siguientes secciones describen cada problema y las herramientas usadas para resolverlo. Escanea los titulares para ver si has enfrentado problemas similares en tu sistema DDS, luego haz clic en los enlaces para aprender nuevas técnicas de troubleshooting. Considera cómo habrías diagnosticado estos problemas sin las herramientas mencionadas.
Problema: Problemas de configuración de red
Herramientas: RTI DDS PingEl equipo de Oak Ridge National Labs construía una GUI en LabVIEW que serviría como visualización principal. Su portátil no veía datos de ninguno de los clientes en red. Primero verificamos que la máquina estaba en la misma subred – el clásico paso "verificar lo básico". Mientras la utilidad ping estándar confirma alcance básico, no verifica que los puertos de descubrimiento DDS estén abiertos. La utilidad rtiddsping hace exactamente eso, y reveló en segundos que un firewall de portátil gubernamental bloqueaba el tráfico de descubrimiento DDS. Para una guía completa sobre diagnósticos básicos, ve este post de la comunidad.
Problema: ¿Mi aplicación está publicando datos?
Herramientas: Spy, Admin ConsoleUna pregunta frecuente entre proveedores nuevos en DDS es si su aplicación se comporta correctamente: ¿Publica datos a los intervalos esperados y los datos tienen sentido? Usamos RTI DDS Spy, un suscriptor ligero que puede filtrar por tipos y tópicos específicos e imprimir cada muestra que recibe. Cada proveedor realizó una comprobación rápida con Spy inmediatamente tras lanzar su aplicación.
Si el mismo tópico es actualizado por múltiples publicadores, el interruptor "-showSampleIdentity" revela qué publicador envió la muestra más reciente.
Spy es una app de consola que puede ejecutarse en targets embebidos para pruebas básicas. Su huella pequeña, inicio rápido y simplicidad lo hacen ideal para verificación rápida. Instrucciones de uso detalladas disponibles aquí.
Problema: Desajuste de tipo de dato
Herramientas: Admin Console, MonitorUn proveedor reportó que tras una prueba previa podían ver datos de otra aplicación, pero durante la demo los datos desaparecieron. Admin Console identificó inmediatamente un desajuste de tipo de dato – dos tópicos compartiendo el mismo nombre pero definidos con estructuras IDL diferentes. Tales desajustes pueden ser difíciles de detectar, especialmente para tipos grandes y complejos. Admin Console aprovecha la naturaleza centrada en datos de DDS para introspeccionar los tipos de datos entendidos por cada participante, presentando tanto una vista simplificada como una vista "IDL equivalente" para comparación lado a lado. Esto es invaluable cuando no tienes el IDL fuente para cada aplicación.
En este caso, el proveedor usaba un IDL desactualizado de un commit antiguo de GitHub. Tras obtener los archivos más recientes, ejecutar rtiddsgen generó código específico de tipo actualizado, y una recompilar rápida restauró la compatibilidad total.
Problema: Desajuste de QoS
Herramientas: Admin Console, MonitorMás allá del descubrimiento, los desajustes de QoS son el problema de integración más común para usuarios de DDS. Con tantos parámetros para configurar, ¿cómo aseguras compatibilidad? El proyecto OpenFMB encontró varios desajustes de QoS inicialmente. Admin Console los detecta rápido y resalta los ajustes en conflicto. Puedes hacer clic en el nombre del QoS para saltar directo a la documentación. La información de QoS intercambiada durante el descubrimiento permite a Admin Console señalar desajustes automáticamente.
Problema: Verificando rendimiento del sistema
Herramientas: Admin Console, MonitorMientras Spy proporciona salida de texto cruda, visualizar datos en el tiempo da una imagen más clara del comportamiento del sistema. La visualización de datos integrada en Admin Console nos ayudó a evaluar rápidamente el rendimiento general del sistema y desplazarnos por datos históricos para rastrear el estado actual. Para un vídeo intro corto, ve este vídeo, y para una inmersión más profunda, mira este vídeo.
Problema: Ajuste de rendimiento
Herramientas: Monitor, Admin ConsolePara ajuste de rendimiento, Monitor es la herramienta elegida. Funciona con una versión especial de las librerías DDS que publican periódicamente métricas de rendimiento en tiempo real de tu aplicación. Las librerías de depuración son mínimamente intrusivas, y Monitor agrega los datos para análisis.
Con Monitor puedes inspeccionar:
- Estadísticas de transmisión y recepción
- Plazos incumplidos
- Marcas altas de caché
- Desajustes de QoS
- Conflictos de tipo de dato
- Muestras perdidas o rechazadas
- Pérdida de vida
Muchos ajustes de QoS no se anuncian durante el descubrimiento porque afectan gestión de recursos local y ajuste de rendimiento. Monitor te permite examinarlos también. Mira este vídeo introductorio para un tour rápido.
Problema: Transformando datos en vuelo
Herramientas: Prototyper con Lua, DDS Toolkit para LabVIEWNecesitábamos una GUI grande para mostrar estado de microgrid en tiempo real. Oak Ridge National Labs se ofreció a construir la GUI en LabVIEW. El DDS Toolkit para LabVIEW te permite recuperar datos DDS y usarlos dentro de VIs de LabVIEW. Sin embargo, el Toolkit no soporta arrays de secuencias, que son parte del modelo de datos OpenFMB. Requeríamos una solución rápida que pudiera leer estos tipos complejos.
Prototyper con Lua, una nueva característica en Connext DDS Pro 5.2, permite creación rápida de aplicaciones habilitadas para DDS con codificación mínima: define tópicos y participantes de dominio en XML, añade un script Lua simple, y estás funcionando en un dominio DDS en minutos. (Ver post de blog de Gianpiero sobre Prototyper.)
Tecnología de Internet de las cosas
- Eleve su S&OP, datos y sistemas de planificación para el éxito futuro
- Elimine Cuellos de Botella en Producción: 5 Herramientas Comprobadas para Eficiencia Manufacturera
- Construye tu plataforma de operaciones integrada con Nexus Apps
- Acelere su Línea de Producción: 3 Herramientas Comprobadas para Velocidad y Eficiencia
- Construyendo un Sistema Robusto de Monitoreo de Series Temporales: Integrando RTI Connext DDS con Telegraf e InfluxDB
- Connext DDS en IIoT: 5 Claves para Fiabilidad, Seguridad y Escalabilidad
- Reproduciendo Datos LiDAR ROS2 con RTI Recording Service y DDS
- Plataforma Adaptativa AUTOSAR 18.03 lanza soporte DDS – Un cambio de juego para vehículos autónomos
- RTI Labs lanza Connector para Connext DDS con Python —Ahora en la suite Connext
- Aprovechar los datos en el Internet de la Fiabilidad: estrategias para una gestión efectiva
- Compliance GDPR: por qué la resistencia es fútil y cómo proteger tu empresa