Uso de Controladores IVI para Simular su Hardware de Instrumentación en LabVIEW y LabWindows™/CVI™

Actualizado el Apr 7, 2023

Ambiente

Software

  • LabVIEW
  • LabWindows/CVI

Los controladores Interchangeable Virtual Instrument (IVI) son una nueva y emocionante tecnología de software de control de instrumentos. Utilizando controladores IVI, los ingenieros de pruebas pueden reutilizar sus programas de prueba con diferentes instrumentos. Los usuarios de LabVIEW y LabWindows / CVI pueden comprar una colección de estos controladores como el Paquete de Cumplimiento IVI. Además de la intercambiabilidad de instrumentos, los usuarios también pueden simular su hardware de instrumentación con controladores IVI. Con las funciones de simulación, los ingenieros pueden desarrollar código de prueba incluso cuando sus instrumentos no están disponibles. Eliminar la necesidad de comprar instrumentos duplicados para colocarlos en los escritorios de los programadores puede ahorrarle miles de dólares a una gran empresa de fabricación. La simulación también es una capacidad clave en las pruebas de intercambiabilidad. Con un sistema de prueba construido con tecnología IVI, los ingenieros pueden integrar el controlador de un nuevo instrumento y ejecutar sus programas contra este controlador en modo de simulación. De hecho, puede probar un nuevo instrumento antes de comprarlo para asegurarse de que funcione en su sistema.

Descripción general de la arquitectura del controlador IVI

La intercambiabilidad mediante controladores IVI se logra mediante controladores genéricos de clase de instrumentos. Un controlador de clase es un conjunto de funciones y atributos para controlar un instrumento dentro de una clase específica, como un osciloscopio, un multímetro digital o un generador de funciones. El paquete de cumplimiento de IVI tiene doce clases: osciloscopio, multímetro digital (DMM), generador de forma de onda / función arbitraria, interruptor, fuente de alimentación, analizador de espectro, medidor de potencia, generador de señal de RF, contador, digitalizador, convertidor descendente y convertidor ascendente. Cada uno de estos controladores de clase genérica realiza llamadas a controladores de instrumentos específicos para controlar los instrumentos reales. Los controladores de instrumentos específicos contienen la información para controlar un modelo particular de un instrumento, incluidas las cadenas de comandos, el código de análisis y los rangos válidos de cada configuración para ese instrumento en particular. Desde su programa de prueba, realiza llamadas a los controladores de clase, que a su vez se comunican a través de los controladores específicos de sus instrumentos. Puede cambiar los controladores de instrumentos específicos (y los instrumentos correspondientes) en su sistema debajo del controlador de clase sin afectar su código de prueba.

Figura 1. Arquitectura del controlador IVI: el controlador de clase contiene funciones genéricas para controlar un DMM. Los controladores específicos contienen información para controlar un instrumento específico, como cadenas de comandos, código de análisis y rangos válidos para la configuración del instrumento.

Tres tipos de simulación

Antes de discutir los detalles técnicos de cómo funciona la simulación, es importante que tenga una comprensión clara de los distintos niveles de simulación posibles con los instrumentos. Hay tres niveles diferentes de simulación:

Llamadas del conductor de instrumentos

La forma más simple de simulación es la capacidad de realizar llamadas a un controlador de instrumento cuando el instrumento no está conectado a la computadora. Hoy en día, utilizando la tecnología actual de controladores de instrumentos, no puede realizar una sola llamada de controlador de instrumentos desde su programa si el instrumento no está conectado. Cada llamada de función de controlador de instrumento requiere un mango de instrumento válido como parámetro de entrada. La única forma de obtener uno de estos controles es desde la función de inicialización del instrumento (que solo funciona si el instrumento está conectado).

Por lo tanto, el primer paso en la simulación de instrumentos es simplemente poder realizar llamadas de función desde su programa de prueba a un controlador de instrumento sin que cada función devuelva un error. Los controladores específicos de IVI tienen una función de inicialización especial, InitWithOptions. Con él, puede pasar una cadena que preestablece una serie de atributos del controlador. Uno de estos atributos es la simulación. Cuando pasa la simulación con un valor de 1, eso alerta al conductor de que el instrumento no está conectado a la computadora. En este "modo de simulación", el controlador no intentará comunicarse con el instrumento, pero devolverá un mango de instrumento válido para que pueda pasarlo a otras funciones en el controlador. El resultado final es que puede realizar llamadas a la función del controlador de instrumentos desde su programa y no obtendrá errores de tiempo de ejecución debido a identificadores de instrumentos no válidos.

Nota: Puede utilizar esta capacidad con cualquier controlador específico de instrumento IVI. No es necesario utilizar los controladores de clase para obtener este nivel de simulación.

Cuando utiliza el controlador de clase, puede habilitar la simulación a través de una utilidad de configuración. Por lo tanto, puede habilitar y deshabilitar la simulación sin cambiar su programa.

Figura 2. Función InitWithOptions de Fluke 45: al establecer valores en la cadena de inicialización, puede habilitar la simulación mediante programación para el controlador de su instrumento. También puede habilitar la simulación a través de un archivo de configuración sin cambiar el código fuente del programa.

Comprobación de rango

Una de las responsabilidades clave de los controladores específicos del instrumento IVI es la verificación de rango. Cada vez que intente enviar un valor al instrumento para configurar una configuración en particular, el controlador primero se asegurará de que este valor sea válido (dentro del rango) para esa configuración en particular en ese modelo de instrumento en particular. Esta operación de verificación de rango ocurre completamente en el software en el controlador específico. Por lo tanto, no es necesario que el instrumento esté conectado a la computadora para realizar la verificación de rango. Este es el segundo nivel de simulación que puede utilizar con controladores IVI.

Cuando escribe un código de prueba sin el instrumento conectado, el controlador IVI aún asegura automáticamente que cada valor que está intentando enviar al instrumento es válido, incluso si no envía los valores al instrumento.

Esta capacidad de verificación de rango es una forma de “probar” nuevos instrumentos en sus sistemas de prueba. Antes de comprar un nuevo instrumento, puede instalar el controlador específico de IVI para ese instrumento en particular y ejecutar su programa de prueba. Aunque no se enviarán comandos al instrumento y no se adquirirán datos reales, su programa de prueba seguirá pasando por todas las funciones de configuración necesarias para configurar el instrumento. Si el nuevo instrumento no puede manejar ninguna de las configuraciones requeridas por el programa, el controlador específico (en modo de simulación) detectará esta incompatibilidad con un error fuera de rango.

Por ejemplo, imagine que su programa utiliza actualmente el osciloscopio A para realizar una medición con una frecuencia de muestreo de 100 MS / s. Si desea utilizar el osciloscopio B en su lugar, puede instalar el controlador para el osciloscopio B y reconfigurar su sistema para utilizar este nuevo osciloscopio en modo de simulación. Si el osciloscopio B no puede realizar la medición de 100 MS / s, el controlador afirmará un error al ejecutar el código de su programa que configura el instrumento para esta medición.

Nota: La verificación de rango ocurre en el controlador específico del instrumento. Puede utilizar esta capacidad de simulación con o sin los controladores de clase.

Datos / errores simulados

Como saben, los instrumentos se utilizan para adquirir datos. Siempre que se produce una discusión sobre la simulación de un instrumento, la mayoría de los usuarios piensan inmediatamente en simular los datos devueltos por un instrumento. La arquitectura IVI genera datos simulados de dos formas diferentes. Cada controlador específico de instrumento IVI tiene incorporados algoritmos básicos de generación de datos simulados.

Por ejemplo, cuando utiliza un controlador DMM en modo de simulación, la función Medir devolverá un número aleatorio dentro del rango válido del modo actual del DMM. O, cuando está utilizando un controlador de osciloscopio en modo de simulación, la función ReadWaveform devolverá una matriz de números aleatorios dentro de rangos válidos para el osciloscopio. Este simple proceso de generación de datos devolverá valores de datos a las variables del programa para que las llamadas de funciones posteriores no fallen por falta de datos. Sin embargo, como puede imaginar, los datos aleatorios no son muy significativos para su programa o sus unidades bajo prueba (UUT).

Además de generar datos, puede utilizar controladores de simulación para inyectar errores simulados en su programa. Con esta técnica, puede probar su programa para asegurarse de que maneja los errores correctamente.

Nota: Las capacidades de generación de datos descritas anteriormente están integradas en cada controlador específico de instrumento IVI escrito con el asistente de desarrollo de controlador de instrumento en LabWindows / CVI 5.0. El asistente del controlador inserta automáticamente código en las funciones de medición para generar datos aleatorios que se ejecutan siempre que el controlador se utiliza en modo de simulación. Dado que tiene acceso a este código fuente, puede modificar el código C del controlador para agregar sus propios algoritmos de generación de datos para generar datos simulados que se apliquen más de cerca a la UUT o la aplicación en la que está trabajando. Este código será útil solo para ese controlador específico del instrumento en particular. Si cambia de instrumento en el futuro, deberá volver a implementar este trabajo para cada nuevo instrumento agregado. Para el código de simulación personalizado, le recomendamos que utilice el controlador de simulación (descrito en la siguiente sección).

Generación de datos simulados con controladores de simulación

El segundo mecanismo para simular datos en la arquitectura IVI es utilizar un controlador de simulación. Los controladores de simulación son "instrumentos virtuales" que se conectan a un controlador de clase para generar datos. Por ejemplo, hay doce controladores de simulación que se incluyen en el paquete de cumplimiento de IVI: osciloscopio, multímetro digital, generador de forma de onda / función arbitraria, interruptor, fuente de alimentación, analizador de espectro, medidor de potencia, generador de señal de RF, contador, digitalizador, convertidor descendente y convertidor. Cada uno de estos controladores de simulación se conecta al controlador de clase genérico para realizar una generación de datos más flexible cuando los controladores se utilizan en modo de simulación. Los controladores de simulación tienen dos modos: interactivo y automático. Cuando se utilizan en modo interactivo, los controladores de simulación tienen paneles de interfaz de usuario emergentes para que los desarrolladores puedan configurar de forma interactiva los datos generados.

Por ejemplo, cuando está utilizando un controlador DMM en el modo de simulación con un controlador de simulación habilitado, se mostrará un panel de datos cada vez que se llame a la función Medir. Desde el panel, puede seleccionar un valor de medición base y una compensación para el valor generado. Por ejemplo, genere un valor de 3.0 V dentro de un rango de ± 0.05 V. También puede configurar el controlador para que muestre el panel cada vez que se llama a la función, o generar automáticamente los datos dentro del rango especificado cada vez. Cuando se usa en modo automático, la simulación devuelve automáticamente los datos al programa sin requerir la interacción del usuario.

Figura 3. Controlador de simulación DMM: cuando llama a la función DMM_Measure con el controlador de simulación DMM habilitado, el controlador muestra el panel de medición de arriba, desde el cual puede ingresar valores para ser "adquiridos" manual o automáticamente en función de un rango especificado.


Los controladores de simulación con código fuente se incluyen en el paquete de cumplimiento NI IVI. Por lo tanto, puede desarrollar algoritmos de generación de datos simulados muy robustos para sus sistemas de prueba y conectarlos a los controladores de simulación. Debido a que los controladores de simulación funcionan con los controladores de clase, el código que desarrolle se puede reutilizar sin cambios cuando intercambia instrumentos específicos. Cuando se usa junto con un controlador específico, el controlador específico realiza el nivel de simulación de verificación de rango (asegurando que cada valor que el programa intenta enviar al instrumento esté dentro de los límites válidos para ese instrumento), y el controlador de simulación realiza los datos operación de generación como se describe arriba.

Figura 4. Uso de un controlador de simulación con un controlador específico del instrumento: el controlador específico del instrumento desempeña un papel muy importante asegurando que los valores que se enviarán al instrumento estén dentro del rango para ese instrumento en particular (incluso cuando el instrumento no está conectado a el ordenador). Por razones obvias, esto debe realizarse en el controlador específico del instrumento. El controlador de simulación, una biblioteca genérica que realiza operaciones de generación de datos más flexibles, se llama solo cuando se llaman funciones de medición en el controlador.

Conclusión

La simulación es una capacidad muy poderosa, pero a menudo incomprendida con respecto a los controladores de instrumentos y el control de instrumentos en general. La arquitectura IVI ha sido diseñada e implementada con el objetivo de proporcionar cierto nivel de simulación para los desarrolladores de pruebas. Sin embargo, creemos que los datos simulados son muy específicos de la aplicación. Por lo tanto, no es práctico para los proveedores desarrollar herramientas de simulación de datos y proporcionarles controladores de instrumentos como una solución de propósito general que siempre es útil cuando se requieren datos específicos de la aplicación.

La tecnología IVI establece una arquitectura estándar de controlador de instrumentos con mecanismos incorporados para permitir la simulación y los datos simulados. La arquitectura está diseñada para que los usuarios puedan agregar valor con un código de complemento personalizado. La combinación de estos controladores de instrumentos estándar disponibles y el código de complemento personalizado del usuario final para datos simulados no solo ahorra a los desarrolladores un tiempo y un esfuerzo de desarrollo significativos, sino que también proporciona una solución técnica mejor y más flexible.

La marca LabWindows se utiliza bajo licencia de Microsoft Corporation. Windows es una marca registrada de Microsoft Corporation en Estados Unidos y otros países.