Cómo Automatizar VirtualBench en LabVIEW

Actualizado el Jun 4, 2021

Ambiente

Hardware

  • VirtualBench All-in-One Instrument

Software

  • LabVIEW

El software de diseño de sistemas NI LabVIEW es el software más popular de la industria para automatizar instrumentos. Usando un entorno de desarrollo gráfico, puede construir aplicaciones personalizadas para controlar programáticamente el instrumento todo en uno NI VirtualBench, reducir errores humanos en mediciones repetitivas y ahorrar tiempo.

Siga leyendo para aprender cómo automatizar VirtualBench en LabVIEW.

Instalar software 

Antes de comenzar a automatizar VirtualBench en LabVIEW, asegúrese de haber instalado el software apropiado.

  1. Si aún no ha instalado LabVIEW, descargue e instale una evaluación gratuita de LabVIEW.

  2. Descargue e instale el controlador VirtualBench.

Comunicarse con VirtualBench en LabVIEW

Con LabVIEW, puede automatizar VirtualBench y analizar, mostrar y registrar sus resultados en un solo entorno de desarrollo. El software controlador hace posible esta conectividad al servir como la capa de comunicación entre LabVIEW y VirtualBench.

Interfaz de programación de aplicaciones 

El controlador VirtualBench consta de dos componentes clave: un controlador de dispositivo y la interfaz de programación de aplicaciones del instrumento (API). El controlador del dispositivo funciona con el sistema operativo de la computadora para establecer la comunicación entre la computadora y VirtualBench. Una API de instrumento es un conjunto de funciones de alto nivel fáciles de entender que se utilizan en LabVIEW para controlar y comunicarse con un instrumento. Esto significa que puede concentrarse en configurar su medición y obtener los datos correctos, sin tener que administrar manualmente exactamente cómo se transfieren los datos de medición al programa.

API de VirtualBench en LabVIEW

La API de VirtualBench se integra de forma nativa en LabVIEW después de la instalación del controlador, lo que proporciona una paleta para acceder fácilmente a las funciones. En LabVIEW, estos se denominan VIs. Simplemente arrastre y suelte los VI a su diagrama de bloques para configurar y controlar los instrumentos VirtualBench. La paleta VirtualBench contiene cinco API de instrumentos, una para cada instrumento, así como VI de utilidad. Están ubicados en la Paleta de funciones en Measurement I/O y luego en VirtualBench.

Figura 1. La paleta de VirtualBench incluye cinco API de instrumentos, una para cada instrumento.

 

Figura 2. Arrastre y suelte las funciones del instrumento para programar VirtualBench.


Comprensión de los VI de VirtualBench

LabVIEW incluye una herramienta llamada Context Help que proporciona información de programación sobre un VI de forma rápida y sencilla. Para abrir el Context Help, presione <Ctrl-H> para abrir la ventana y luego mantenga el cursor sobre un VI en su diagrama de bloques para ver una descripción de ese VI y los parámetros que usa.

Figura 3. LabVIEW proporciona documentación de ayuda en el producto que proporciona rápidamente información sobre VI y otros objetos.



Modelo de controlador de VirtualBench

La mayoría de las API de hardware en LabVIEW siguen el mismo modelo de programación. Esto simplifica la migración a instrumentos más nuevos o la integración en sistemas existentes al eliminar la necesidad de aprender un método de comunicación completamente nuevo para nuevos instrumentos.


El modelo de controlador de hardware de VirtualBench consta de cinco pasos principales:

  1. Inicializar una sesión: establecer comunicación con un instrumento en particular.

  2. Configurar el instrumento: especifique la configuración del instrumento, como el rango en el multímetro digital (DMM) o configure un disparador para el osciloscopio de señal mixta (MSO).

  3. Realizar una operación: especifique una operación para realizar, normalmente una lectura o escritura.

  4. Cerrar la sesión: libere el instrumento para futuras llamadas.

  5. Manejar errores: especifique una forma de contabilizar los errores que puedan haber ocurrido.

 

Figura 4. Las API de hardware siguen el mismo modelo de controlador de hardware; esto simplifica la transición a nuevos instrumentos al eliminar la necesidad de aprender nuevos protocolos.

 

Automatización de instrumentos de VirtualBench 

Cada instrumento VirtualBench sigue el modelo de controlador de hardware descrito anteriormente en la Figura 4. La Figura 5 a continuación muestra un programa que utiliza VirtualBench DMM. El programa se ejecuta de izquierda a derecha; este flujo de datos está controlado por los cables.

 

Figura 5. La programación en una API gráfica aumenta la comprensión del código de un vistazo.

 

Inicializar una sesión 

El primer paso es inicializar una sesión con el instrumento VirtualBench. Cada instrumento debe inicializarse solo una vez en cada programa. El nombre del dispositivo, o el VirtualBench particular que se utilizará, se ingresa en el VI de inicialización. Las entradas están a la izquierda de un VI y las salidas a la derecha. Si una entrada requiere que el usuario proporcione un valor en el panel frontal, se denomina control. El control del dispositivo VirtualBench es un menú desplegable que muestra solo los dispositivos que se pueden seleccionar, lo que facilita la selección del dispositivo correcto.

Figura 6. Puede personalizar los paneles frontales para brindar la mejor experiencia de usuario para su aplicación.

Configurar instrumento 

Una vez que se ha inicializado la adquisición, el instrumento se configura para la medición. Tenga en cuenta que la información del instrumento y la información de error del VI  Initialize se pasan al siguiente VI; esto es lo que le dice a los VIs subsecuentes qué instrumento usar, pasa la información de error relevante a la siguiente parte de la aplicación y refuerza el flujo de datos.

En el programa de la Figura 5, es necesario seleccionar la función DMM. Este control, como la mayoría de los controles de configuración, proporciona un menú desplegable que muestra solo las entradas permitidas. Esto es cierto para la mayoría de las entradas, eliminando la necesidad de recordar qué opciones están disponibles o qué sintaxis se requiere para que pueda concentrarse en tomar la medición.

Figura 7. Con el uso de menús desplegables, no es necesario memorizar las opciones de entrada o su sintaxis.

La configuración de la función es un ejemplo de configuración del canal. Otros ejemplos incluyen especificar el voltaje de salida de la fuente de alimentación o la frecuencia y amplitud de una señal para el generador de funciones. Después de configurar el canal, debe configurar la sincronización si es necesario, como especificar la frecuencia de muestreo en el MSO. Por último, configure el disparador si va a utilizar uno. El Context Help puede ayudarlo a determinar qué ajustes puede configurar.

Figura 8. La Ayuda contextual proporciona rápidamente información para ayudarle en la programación.

Si una entrada está en negrita, entonces esa entrada es necesaria. Si no se requiere una entrada, puede elegir si desea cablear una entrada. El valor indicado entre paréntesis es el valor predeterminado; si no hay entrada cableada, la entrada toma este valor por defecto. Un valor predeterminado de "no change" significa que la información de configuración se extraerá del dispositivo y utilizará la configuración que se estableció por última vez en el dispositivo. Cuando se completa un programa, la configuración del instrumento que se cambió se convierte en el último estado configurado. La aplicación de Windows muestra todas las configuraciones actuales en el dispositivo.

Realizar operación

El siguiente paso es realizar la operación: el paso real de lectura o escritura. En el programa de la Figura 5, la operación está dentro de un ciclo While. El bucle le permite repetir una sección de código. Sin él, el programa se ejecutaría solo una vez, lo que significa que leería una muestra y luego terminaría. En la parte inferior derecha del bucle está la terminal de Stop; en este caso, el ciclo While se detiene cuando hay un error en el programa o cuando el usuario hace clic en el botón Stop en el panel frontal. Este es el comportamiento más común para detener un ciclo While.

El VI DMM Read envía el valor de medición a un indicador en el panel frontal. Para este programa, muestra simplemente un valor. Sin embargo, los indicadores también pueden ser gráficos, tablas o LED. También se pueden realizar operaciones sobre los datos antes de mostrarlos; esto asegura que la información mostrada sea significativa para el usuario de inmediato. Por ejemplo, en lugar de trazar los datos sin procesar, se puede agregar un análisis como una transferencia de dominio de frecuencia para que el gráfico muestre un diagrama de Bode.

Figura 9. El análisis dentro del programa muestra resultados significativos de inmediato; Aumente la comprensión personalizando la apariencia.

Cerrar sesión y manejar errores 

Una vez realizada la operación, se cierra la sesión. De manera similar a la inicialización de un instrumento, cada sesión de instrumento debe cerrarse solo una vez por programa. Finalmente, todos los errores deben manejarse adecuadamente. La mayoría de los programas muestran un cuadro de diálogo que informa al usuario de cualquier error.

Figura 10. Maneje los errores para ayudar al usuario con la resolución de problemas.

 

Automatizar varios instrumentos 

VirtualBench consta de varios instrumentos que pueden actuar de forma independiente. Por ejemplo, el generador de funciones (FGEN) se puede automatizar para ejecutar una secuencia particular mientras un usuario interactúa con el MSO para ver el resultado en la aplicación de Windows. Cada instrumento se puede llamar en diferentes VI y los VI se pueden ejecutar simultáneamente. Esto puede resultar útil para la depuración.

Varios instrumentos de VirtualBench

Para pruebas complicadas, puede resultar engorroso crear varios VI para trabajar con varios instrumentos. Se pueden automatizar varios instrumentos VirtualBench en el mismo VI. Cada instrumento debe pasar por todos los pasos del modelo de controlador, excepto el manejo de errores. Debe manejar todos los errores al mismo tiempo. Además, debe utilizar cables para hacer cumplir el flujo de datos. En la instantánea a continuación, por ejemplo, el cable FGEN pasa por el bucle while de MSO para asegurarse de que FGEN esté funcionando antes de que MSO comience a leer. Luego, todos los errores de ambos instrumentos se agrupan y manejan al mismo tiempo, lo que garantiza que todos los errores se capturen y muestren.

Figura 11. Utilice cables de error para hacer cumplir el flujo de datos para coordinar sus instrumentos.

Varios instrumentos de Benchtop

Ciertas pruebas requieren el uso de instrumentos fuera de VirtualBench. Usando LabVIEW, puede automatizar VirtualBench e instrumentos independientes desde una sola aplicación. Los controladores de instrumentos independientes se encuentran en ni.com/idnet. Los controladores certificados por NI siguen el mismo modelo de controlador de instrumentos discutido anteriormente y se ven y se sienten similares a la API de VirtualBench. En el raro caso de que no exista un controlador de LabVIEW, también puede importar controladores de otros lenguajes de programación o usar comunicación de bajo nivel para implementar su propio controlador.

Comience con ejemplos gratuitos

Los programas de ejemplo son una herramienta de desarrollo increíblemente útil. Los programas de ejemplo pueden modificarse para adaptarse a su aplicación; Rara vez es necesario iniciar un programa desde cero. Hay ejemplos de VirtualBench disponibles para muchas tareas comunes de varios instrumentos:


LabVIEW es mucho más que una interfaz para VirtualBench. LabVIEW también ofrece miles de funciones de análisis integradas, controles de arrastrar y soltar para crear interfaces de usuario profesionales y visualizar sus datos, y formas de guardar fácilmente datos en el disco y crear informes. Estas funciones se pueden agregar rápidamente modificando el código de ejemplo para satisfacer las necesidades de su aplicación VirtualBench.


Figura 12. LabVIEW integra sin problemas miles de instrumentos y proporciona funcionalidad adicional.