Showing results for 
Search instead for 
Did you mean: 

Labview real-time data acquisition DAQ assistant

Hello everyone,

I'm currently utilizing LabVIEW alongside PXI components for real-time data acquisition and processing. Specifically, I've been employing the DAQ Assistant express VI for handling data acquisition tasks. Within this function, there exists a parameter titled 'Samples to read.' When the acquisition mode is designated as 'continuous,' this parameter becomes the buffer size. However, my acquisition rate stands at 2 MHz, and unfortunately, the function restricts the 'Samples to read' (thus, the buffer size) to no less than 60,000 for this acquisition rate. This restriction introduces a significant delay to my data reading process, as I can read the data every 60,000 samples. Such a delay is impractical for my application. Does anyone have a solution to this issue? Could the LabVIEW Real-Time Module potentially resolve this challenge?


I appreciate any insights or help you can provide.

Thank you in advance.




0 Kudos
Message 1 of 5

The sample to read in DAQ Assistant is not the buffer size in Timing but the number of samples per DAQmx Read call. Reference: Specifying Number of Samples When Continuously Acquiring with NI-DAQmx for LabVIEW

For a sampling rate of 2MS/s and 60kS per read, the data is retrieved every 30ms (60/2000), which is fast enough to not be noticeable by human eyes. What is the delay you need?

Using the LabVIEW Real-Time Module requires you to convert your PXI controller to run RTOS. It does not necessarily run the code faster but is more deterministic, which has less jitter between iterations. 

Control Lead | Intelline Inc
0 Kudos
Message 2 of 5

Yes, indeed that's what I wanted to mention in my post, I will have a delay of 30 ms exactly. I have a total process time of around 15ms, and the maximum delay would be around 1 or 2ms.


I see, So using the Real-Time Module will not really solve my issue. Thank you.

0 Kudos
Message 3 of 5

You are going to be sampling at 2 MHz (which I assume is an allowable rate on the DAQ hardware you are using).  You want to set the Sample Mode to continuous.  The Samples per Channel parameter does become the buffer size, but that's set by the amount of "buffer memory" in your DAQ hardware, does affect "Samples to Read", but has almost nothing to do with your "data reading process", if you do it correctly!  


Oops!  I completely mis-read your Post.  You are complaining that the buffer size of 60,000 is too big, that a delay of 30 ms is too long to wait for processing these data.  


Maybe you should provide us with a description of what you want to do (what data you are acquiring, what DAQ PXI components you are using, and what questions you are asking) -- surely someone on the Forums will have some expertise in your field.


Bob Schor

0 Kudos
Message 4 of 5

Assuming you are doing some control based on the input, you can use NI-DAQmx Hardware-Timed Single Point Mode. HWTSP mode can be run with a delay smaller than 1ms, but the data won't buffer and you only get one data point per iteration.

Control Lead | Intelline Inc
0 Kudos
Message 5 of 5