From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Crear un sistema distribuido con NI VeriStand

Información general

Este artículo habla sobre crear un sistema distribuido de procesamiento y E/S con NI VeriStand, lo cual incluye varias características que hacen del desarrollo de sistemas distribuidos una experiencia más eficiente.

Los sistemas de control, como aquellos encontrados en aviones, automóviles y otros proyectos industriales, a menudo requieren E/S y mas potencia de cómputo para monitorear, probar o simular lo que una sola tarjeta de procesador y chasis puede ofrecer. Esta nota técnica explica cómo puede crear un sistema escalable, distribuido y sincronizado para cumplir con las necesidades de un sistema de hardware-in-the-loop (HIL) o de pruebas en tiempo real. NI VeriStand es un entorno de software fácil de usar para configurar aplicaciones de pruebas en tiempo real, incluyendo sistemas de pruebas HIL. Usando las características de NI VeriStand, usted puede crear este sistema sin la necesidad de diseñar, programar y mantener la arquitectura del software.

Contenido

La necesidad de sistemas distribuidos

Usted generalmente puede separar grandes sistemas en varios componentes e implementar y tratar cada componente de hardware y software por separado. Para proporcionar mayor capacidad de E/S y potencia de cómputo, usted puede implementar cada componente del sistema en un juego diferente de hardware. 

Por ejemplo, las alas del avión, timones, motores, alerones y demás, todos necesitan ser simulados y/o probados. Usted puede separar este sistema en varias piezas de hardware, como se muestra en la Figura 1 para aprovechar un enfoque modular.


Figura 1. Usted puede usar múltiples sistemas PXI para simular componentes de un avión.
[+] ampliar imagen

Funciones de integración a nivel del sistema

Al usar NI VeriStand, una o más PCs servidores (operador) pueden comunicarse con uno o más objetivos de ejecución en tiempo real con mínima configuración. NI VeriStand maneja toda la comunicación entre las PCs servidores y los objetivos de ejecución. La Figura 2 muestra una topología simple que involucra un servidor y un dispositivo.


Figura 2. Topología simple

El componente de un servidor que se comunica con el dispositivo es el NI VeriStand Gateway. Esto es manejado automáticamente, pero es un concepto clave para comprender topologías más grandes.

Puede agregar dispositivos fácilmente a una definición del sistema de NI VeriStand con el explorador de sistemas de NI VeriStand. Un solo archivo de definición de sistema puede contener un número ilimitado de dispositivos. Cada objetivo puede tener su propia configuración de hardware y software y todos los objetivos pueden ser implementados e interactuar desde un solo gateway.


Figura 3. Múltiples objetivos pueden ser implementados e interactuar desde un solo servidor.

Las PCs servidores adicionales pueden comunicarse con la misma topología del objetivo al comunicarse con otro gateway del servidor.


Figura 4. Topología de múltiples servidores y múltiples objetivos

Para lograr esto, los servidores adicionales simplemente necesitan cambiar la dirección del NI VeriStand Gateway para ser el servidor remoto. El resto de la aplicación se mantiene igual.

Compartir datos entre sistemas distribuidos

Para hacer que un sistema distribuido se comporte como un solo sistema, por lo general se requiere compartir datos entre los componentes del sistema. Este es un elemento clave que le da a todas las diferentes piezas la capacidad de funcionar juntas. Esto comúnmente se logra usando interfaces de memoria reflectiva.

Las redes de memoria reflectiva son redes de área local (LAN) en tiempo real en las cuales cada PC siempre tiene una copia local actualizada del juego de memoria compartida. Estas redes especializadas están diseñadas específicamente para proporcionar comunicaciones de datos altamente determinísticas. Ofrecen el rendimiento temporizado necesario para una variedad de aplicaciones distribuidas de control industrial y simulación. Las redes de memoria reflectiva se han beneficiado con los avances en redes de datos de uso general, pero mantienen una tecnología completamente independiente, definida por diferentes requisitos y responden a las aplicaciones para las cuales el determinismo, la simplicidad de implementación y falta de sobrecarga del software son factores clave.1

La memoria reflectiva le da a NI VeriStand la habilidad de compartir datos entre múltiples objetivos, cumpliendo con los requisitos de rendimiento y determinismo de todo el sistema. Al usar memoria reflectiva, usted puede dividir un modelo de simulación para ejecutar en diferentes sistemas simultáneamente. Los valores de entrada y salida se comparten entre los sistemas individuales por medio de la memoria reflectiva. Las tarjetas de memoria reflectiva de GE Intelligent Platforms son soportadas en NI VeriStand 2010 y versiones posteriores. Varios componentes de NI VeriStand pueden usar memoria reflectiva automáticamente para ayudarle a crear un sistema de múltiples objetivos.

Por ejemplo, puede configurar un perfil de estímulo (prueba) para que se ejecute en el objetivo A que hace referencia a datos en el objetivo B. También puede asignar datos de un objetivo a otro, como una salida de modelo a una entrada de modelo en un objetivo diferente. Esto se realiza automáticamente sin configuración explícita por parte del usuario.

La figura 5 muestra un sistema de ejemplo con tarjetas de memoria reflectiva.


Figura 5. Múltiples chasis con memoria reflectiva

Sincronizar un sistema distribuido

Es importante pensar en los requisitos de temporización y sincronización al diseñar un sistema. Si el sistema no está sincronizado, el muestreo de entradas y salidas no ocurre simultáneamente. También, con el tiempo, el flujo puede provocar que un componente del sistema acumule más muestreos que otro, aún si son configurados bajo la misma velocidad. Esto puede causar problemas a los sistemas de simulación. Por ejemplo, un modelo de simulación podría estar en un estado de tiempo diferente al otro. Finalmente, el análisis de datos puede ser difícil o imposible sin una base de tiempo común y precisa.

Sincronizar un sistema distribuido involucra la sincronización de hardware y software. Opcionalmente, usted puede sincronizar el sistema completo a una referencia externa del tiempo como 1588, GPS o IRIG.

El entorno basado en configuración de NI VeriStand permite la creación de un sistema sincronizado diverso que consta de diferentes tipos de E/S en 1 o más objetivos de ejecución. Para aprender más, visite Desarrollar sistemas NI VeriStand sincronizados.

Datos de correlación de tiempo

Los registros de datos de NI VeriStand vienen en una variedad de formatos. Los registros van desde datos de un solo punto a marcos NI-XNET hasta datos de forma de onda de alta velocidad de uno o más dispositivos. Combinar y visualizar los datos en estos registros es un desafío debido a la variedad de tecnologías y formatos de datos. DIAdem es una poderosa herramienta que puede hacer que este proceso sea fácil. Visualizar registros de datos de NI VeriStand correlacionados con el tiempo proporciona un tutorial que incluye un DIAdem SCRIPT de alineación de tiempo, archivos de ejemplo e instrucciones paso a paso.

Conclusión

Con NI VeriStand usted puede configurar E/S en tiempo real, perfiles de estímulo, registro de datos, alarmas y otras tareas; implementar algoritmos de control o simulaciones del sistema al importar modelos desde una variedad de entornos de software; construir interfaces de sistemas de pruebas rápidamente con una interfaz de usuario editable en tiempo de ejecución con herramientas listas para usar y añadir funcionalidad personalizada usando NI LabVIEW, NI TestStand, ANSI C/C++, .NET, Python y otros entornos de software.

Al aprovechar NI VeriStand, usted puede crear fácilmente un sistema distribuido de HIL, de celda de pruebas, de pruebas en tiempo real o de monitoreo usando las características de múltiples objetivos.