Cómo buscar programáticamente el nombre del dispositivo DAQ en el sistema en LabVIEW

Actualizado el Nov 19, 2020

Reportado en

Software

  • LabVIEW

Controlador

  • NI-DAQmx

Otros

Multifunction DAQ

Detalles del problema

Estoy usando DAQmx VI de bajo nivel, específicamente Create Channel VI, que requiere una entrada de canal físico. Cuando ejecuto mi ejecutable con un nuevo dispositivo que es el mismo modelo (por ejemplo, dos USB-6210s diferentes), mi código se rompe porque Measurement & Automation Explorer (MAX) nombra al segundo dispositivo como Dev2 y al dispositivo original como Dev1.

¿Cómo puedo encontrar programáticamente el nombre que se le da al nuevo dispositivo en MAX, para que mi código no se rompa cuando uso un nuevo dispositivo del mismo modelo?

Solución

Se puede usar un nodo de propiedad del sistema DAQmx para encontrar la lista de nombres de dispositivos. Se puede usar un nodo de propiedad del dispositivo DAQmx para determinar el tipo de producto, que puede compararse con una cadena que contiene el nombre del modelo del dispositivo deseado. Se utiliza un condicional para bucle para recorrer en iteración todos los nombres de dispositivos en el sistema y se detiene cuando se encuentra la primera coincidencia de nombre de dispositivo. Cuando el bucle se detiene, el nombre del dispositivo se pasa fuera del bucle y el canal se agrega al final de la cadena. La cadena resultante se puede usar como la entrada del canal físico para Create Channel VI.


Otro enfoque que es útil si se instalan múltiples dispositivos del mismo modelo, es usar un túnel de indexación condicional en el bucle for. Esto se muestra en el segundo fragmento de código y devolverá una matriz de todos los dispositivos coincidentes.

Información adicional

Estos fragmentos solo funcionarán con dispositivos NI DAQmx. Si necesita encontrar otros dispositivos, debe considerar el uso de la API de configuración del sistema de NI.

Si está distinguiendo entre más de uno del mismo dispositivo, puede usar un nodo de propiedades de hardware para comparar el número de serie del dispositivo para seleccionar el dispositivo correcto. Si solo hay un dispositivo presente, pero varios están listados en NI MAX, puede usar el método "Is Present" desde un nodo de propiedad de hardware o una validación de error.