Home
Support
Temporización y Velocidades de Muestreo en DAQmx
Temporización y Velocidades de Muestreo en DAQmx
Software Primario:
Versión de Software Primario: 7.0
Versión de Software Primario Corregido: N/A
Software Secundario: N/A
Hardware: Multifunction DAQ (MIO)
Problema: Estoy realizando adquisición de datos básica utilizando el VI DAQmx Timing. ¿Cómo se relaciona el reloj de muestreo con la velocidad con que son leídos los datos?
Solución: Hay dos aspectos que deben tomarse en cuenta cuando se está leyendo datos: qué tan rápido se digitaliza la señal y cuántos datos se obtienen de la FIFO del equipo a la vez. Estas configuraciones de hardware/software son co-dependientes entre sí.
Del lado del hardware, el VI DAQmx Timing determina la tasa del flujo de datos del dispositivo/sensor al FIFO en la tarjeta de adquisición de datos. Del lado del software, el VI DAQmx Read determina la transferencia de datos del búfer de la máquina al software.

Del Dispositivo/Sensor al FIFO en la Tarjeta DAQ
El VI DAQmx Timing (Sample Clock) controla el número y tasa a la que las muestras son adquiridas desde el dispositivo. Este VI opera en tres modos diferentes - finito, continuo, y temporización punto a punto por hardware - las cuales contribuyen a determinar el número de muestras adquiridas.
El VI DAQmx Timing es un VI polimórfico; la instancia que se discute en este artículo es Sample Clock. Para más información sobre las otras instancias del VI DAQmx Timing, vea la Ayuda de LabVIEW.
Para adquisiciones finitas, la propiedad Samples Per Channel determina cuántas muestras son leídas en cada canal. En otras palabras, Sample Per Channel determina el tamaño del paquete de datos que será colectado.
Para adquisiciones continuas, esta propiedad determina el tamaño del búfer en la máquina designado para cada canal.
La propiedad Rate determina qué tan rápido se adquirien y almacenan las muestras en el FIFO del equipo. Este valor depende de la base de tiempo especificada en la propiedad Source en el VI DAQmx Timing. La fuente por defecto en las tarjetas de la Serie M es el reloj incorporado (80MHz). La tasa especificada debe ser un divisor de la fuente. Para más información sobre tasas de adquisición, refiérase al artículo KnowledgeBase 39BCDJMV: What Sample Rate Is My DAQ Board Actually Capable of Achieving?, KnowledgeBase 27R8Q3YF: How Is the Actual Scan Rate Determined When I Specify the Scan Rate for My Data Acquisition?, o página 9-1 del Manual de Producto: Manual de Usuario de la Serie M para más información.
Del FIFO del Equipo al Búfer de la Máquina y Ambiente de Programación
¿Cuánto?
Number of Samples Per Channel
La propiedad Number of Samples Per Channel determina cuántas muestras se obtienen del búfer de la máquina al ambiente de programación. El mecanismo de transferencia de datos seleccionado (DMA, Interrupt Requests, E/S Programada, o USB bulk) determina cómo se obtienen las muestras del FIFO del equipo al búfer de la máquina. Refiérase al artículo Ayuda de NI-DAQmx: Mecanismos de Transferencia de Datos. Cuando se utiliza el método de E/S Programada, el VI DAQmx Read toma las muestras directamente del FIFO del equipo. Cuando se utilizan los demás mecanismos de transferencia, que son temporizados por hardware, se recomienda que el número de muestras sea 1/10 de la velocidad especificada en el VI DAQmx Timing. Por ejemplo, si Rate es 1000 (Hz) en el VI DAQmx Timing, entonces el valor de Number of Samples Per channel en el VI DAQmx Read VI debe ser menor a 100. Esto nos permite asegurarnos que no ocurran errores de sobre o sub desbordamiento del búfer de la máquina. Refiérase al artículo KnowledgeBase 4EPF28F9: Why Do I Get Error -200279 from my DAQmx Read VI or Property Node?
Nota:
La propiedad Number of Samples Per Channel solo aparece en el VI DAQmx Read VI si múltiples muestras son seleccionadas del menú, ya sea para uno o más canales. Aparecerá "NSamples" en la casilla selectora del menú (ver imagen a continuación).
Si la propiedad Number of Samples Per Channel es -1 o no se cablea cuando el modo de adquisición es Finite (el modo de adquisición es una entrada del VI DAQmx Timing), entonces el VI DAQmx Read espera hasta que todas las muestras de la adquisición finita estén en el búfer de la máquina y luego las lee. Si el modo de adquisición es continuo, entonces todas las muestras disponibles en la máquina en ese momento serán leídas. Refiérase a la Ayuda de LabVIEW: DAQmx Read para más información.
¿Qué tan Rápido?
Cuando se realiza E/S Programada, la tasa a la que se leen las muestras del FIFO del equipo en la tarjeta DAQ al ambiente de programación depende de qué tan a menudo el DAQmx Read sea llamado. Dado que a menudo el VI DAQmx Read se encuentra en un ciclo While, la frecuencia del ciclo determinará qué tan a menudo el VI DAQmx Read se ejecutará. La velocidad del software también dependerá de la velocidad del procesador y el número de procesos que se ejecutan a la vez. Cuando se utilizan los demás mecanismos de transferencia de datos, la velocidad a la cual las muestras se transfieren al búfer de la máquina del FIFO del hardware son independientes de la velocidad de ejecución del programa. Por esta razón, a menudo es deseable usar mecanismos diferentes a E/S Programada, el cual requiere el uso del búfer de la máquina, de forma que múltiples muestras puedan ser preservadas para cuando el VI DAQmx Read necesita enviarlas a LabVIEW.
ResumenAl determinar qué tan rápido deben adquirirse los datos, tenga en mente que ambos pasos en la adquisición deben concordar. La velocidad a la cual los datos son transferidos del FIFO del equipo al búfer de la máquina no debe ser alta o baja comparada con la tasa a la cual los datos son cargados en el FIFO del equipo. Si es muy alta o baja, ocurrirá un error en el búfer de la máquina. Refiérase a los siguientes artículos para más información sobre los errores del búfer:
Knowledge Base 4EPF28F9: Why Do I Get Error-200279 from my DAQmx Read VI or Property Node? KnowledgeBase 4D3AI5Q7: Understanding and Avoiding Overwrite and Overflow Errors with NI-DAQmx KnowledgeBase 4EMEEPQ7: Understanding and Avoiding Overwrite and Overflow Errors with Traditional NI-DAQ
Ligas Relacionadas: KnowledgeBase 39BCDJMV: What Sample Rate Is My DAQ Board Actually Capable of Achieving?KnowledgeBase 27R8Q3YF: How Is the Actual Scan Rate Determined When I Specify the Scan Rate for My Data Acquisition?KnowledgeBase 31T899KD: How Is the DAQmx Buffer Allocated for Finite and Continuous Acquisition?Knowledge Base 4EPF28F9: Why Do I Get Error-200279 from my DAQmx Read VI or Property Node? KnowledgeBase 4D3AI5Q7: Understanding and Avoiding Overwrite and Overflow Errors with NI-DAQmx KnowledgeBase 4EMEEPQ7: Understanding and Avoiding Overwrite and Overflow Errors with Traditional NI-DAQ KnowledgeBase 38BFMB3U: Timing Considerations for S Series Devices with NI-DAQmx White Paper: Learn 10 Functions in DAQmx and Handle 80 Percent of Your Data Acquisition ApplicationsWhite Paper: When Would I Use an External Sample Clock?White Paper: Complete Data Acquisition TutorialWhite Paper: Answers to Frequently Asked Questions About NI-DAQmx and Traditional NI-DAQ(Legacy)White Paper: Getting Started with NI-DAQmx: Main PageProduct Manual: M Series User ManualNI-DAQmx Help: Data Transfer Mechanisms
Archivos Adjuntos:
Día del Reporte: 06/03/2009
Última Actualización: 10/31/2014
Identificación del Documento: 4Y2AS1WA
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.