DAQmx Buffer Size Allocation for Finite or Continuous Acquisition

Updated Nov 6, 2023

Reported In

Driver

  • NI-DAQmx

Issue Details

  • How does DAQmx allocate buffers?
  • How large is my acquisition buffer?
  • How do I make my buffer size larger?
  • Why am I getting a buffer overflow error?

Solution

With NI-DAQmx, memory allocation is typically handled automatically for you in the DAQmx Timing function:
  • If the acquisition is finite (sample mode on DAQmx Timing function is set to Finite Samples), NI-DAQmx allocates a buffer equal in size to the value of samples per channel
  • If the acquisition is continuous (sample mode on the DAQmx Timing function is set to Continuous Samples),  NI-DAQmx will allocate a buffer according to the following table:
 
 
Sample RateBuffer Size
0-100 S/s1 kS
100-10,000 S/s10 kS
10,000-1,000,000 S/s100 kS
>1,000,000 S/s1 MS
 
 

Additional Information

This information can all be found in the NI-DAQmx Help documentation. In Windows, you can find this documentation by going to Start»Programs»National Instruments»NI-DAQ. In the help file, this specific information is located in the Buffering section under Key NI-DAQmx Concepts. Along with this topic, many other common questions and problems can be answered through the information in this help file.