¿Cómo Funciona Configurar la Propiedad "DAQmx Wait Mode" a "Sleep"?



Software Primario:
Versión de Software Primario: 8.9
Versión de Software Primario Corregido: N/A
Software Secundario: N/A
Hardware: CompactDAQ>>Backplanes>>cDAQ-9172, Multifunction DAQ (MIO)>>E Series, Multifunction DAQ (MIO)>>M Series, Multifunction DAQ (MIO)>>S Series

Problema: ¿Cuál es el comportamiento de la Propiedad "DAQmx Read Wait Mode" cuando la configuro para dormir? Específicamente, el uso de mi procesador parece mayor que el esperado mientras estoy esperando por el número de muestras deseado durante una lectura de DAQmx. 

Solución:
La configuración por defecto de la Propiedad Wait Mode del DAQmx Read es para dormir por 1 ms. Esto significa que el DAQmx Read dormirá por 1 ms si no hay nuevas muestras que adquirir en el buffer de la PC. 

Si no hay muestras nuevas disponibles, el DAQmx Read procesará datos nuevos y los transferirá a la memoria de LabVIEW conforme la adquisición toma lugar. Siempre que datos nuevos sean adquiridos, DAQmx no se duerme y sigue el protocolo del modo de cesión de procesamiento. Esto permite ceder el control a otros hilos de procesamiento.

Si quisiera que DAQmx Read procesara todas las muestras deseadas a la primera  (y utilizar el procesador al mínimo), puede utilizar la propiedad "Available Samples per Channel" para llevar un registro de las muestras en el buffer de la memoria de la PC. En este caso, solamente llamaría el DAQmx Read cuando el número deseado de muestras esté disponible para ser leídas (observar la imagen). Generalmente esto no debiera ser necesario puesto que el DAQmx Read cede el control a otros hilos de procesamiento tras procesar muestras. 


Figura 1: Uso de la Propiedad "AvailSampPerChan"


Ligas Relacionadas:
Developer Zone Tutorial: Basics of NI-DAQmx Property Nodes


Archivos Adjuntos:





Día del Reporte: 04/03/2009
Última Actualización: 08/31/2009
Identificación del Documento: 4W2F8RFS