¿Cómo Puedo Controlar Cuál Tarea DAQmx Está Ejecutándose?



Software Primario:
Versión de Software Primario: 8.5.1
Versión de Software Primario Corregido: 8.0
Software Secundario: N/A

Problema:
Tengo una aplicación en la cual me gustaría obtener datos de dos o más canales DAQ, donde cada canal tenga una tasa de muestreo diferente. Para adquirir cada canal a una tasa diferente yo se que necesito poner cada canal en una tarea diferente. ¿Cómo puedo cambiar entre tareas para obtener datos de cada uno de mis canales?

Por ejemplo; tengo dos tareas: la tarea 1 lee datos durante un segundo a 20 KHz y la tarea 2 lee datos durante 0.5 segundos a 10 KHz. ¿Cómo puedo empezar la tarea 2 cuando la tarea 1 ha terminado?

Solución:
Se puede controlar cual tarea está siendo ejecutada usando el DAQmx Control Task VI. Éste permite cambiar manualmente el estado del controlador sin tener que atravesar de manera completa el modelo de estados de DAQmx, como lo requeriría al usar una combinación de Start Task VI/ Stop Task V. Puede aprender más acerca del modelo de estados de las tareas en la liga de la Ayuda de NI-DAQmx al final del documento. Escencialmente el VI de DAQmx Control Task altera el estado de la tarea dependiendo de la acción especificada.

El ejemplo mostrado abajo  usa la constante unreserve para especificar la accion de la entrada en el   DAQmx Control Task VI, que después envía de vuelta la tarea especificada al estado de verified en el modelo de estado de tareas. De esta manera la otra tarea puede adquirir datos a una velocidad de adquisicion diferente, debido a que puede acceder a los recursos de software que necesita. 





Ligas Relacionadas:
Documento de Soporte: Using Different Types of DAQmx Global Channels in the Same Task (en inglés)
Ayuda de NI-DAQmx: DAQmx Control Task (VI) (en inglés)
Ayuda de NI-DAQmx: Task State Model (en inglés)

Archivos Adjuntos:
Control Task VI.vi




Día del Reporte: 12/15/2015
Última Actualización: 02/26/2016
Identificación del Documento: 4L61OR5H