This content is not available in your preferred language.

The content is shown in another available language. Your browser may include features that can help translate the text.

Understanding and Avoiding NI-DAQmx Overwrite and Overflow Errors

Updated Nov 10, 2023

Reported In

Software

  • LabVIEW Full

Driver

  • NI-DAQmx

Issue Details

What are overwrite and overflow errors, and how can I avoid them in NI-DAQmx?
 
A commonly seen overwrite error is Error -200279: The application is not able to keep up with the hardware aquisition.
 
A common error seen with overflow errors is Error -200361: Onboard Device Memory Overflow.

Solution

Part I - Overwrite Errors in NI-DAQmx:
  • To avoid an overwrite error, you need to increase the buffer size, read faster, or write slower.
  • In LabVIEW, you may also consider implementing a Producer/Consumer Design Pattern architecture. The Producer/Consumer architecture allows you to read faster by removing analysis and presentation steps to a second loop.
  • You may also consider using a faster computer, if that is an option. A faster computer may enable you to transfer data between the PC buffer and the Application Development Environment memory at a higher rate.
    • You can also increase the task priority if you are using Windows and the computer does not show critical CPU usage. This can avoid significant errors caused by the OS prioritization.
Part II - Overflow Errors in NI-DAQmx:
  • To avoid an overflow error, you need to use a Direct Memory Access (DMA) transfer mechanism, decrease the requested data input rate, or reduce the number of devices sharing the PCI bus.  Consider taking one or several of the following actions:
  • Use a Direct Memory Access (DMA) transfer mechanism rather than an Interrupt Request (IRQ) data transfer mechanism. DMA is faster than IRQ and can improve performance significantly. For more information about using DMA, refer to the NI-DAQmx Help and the DAQmx Channel Property Node, Data Transfer Mechanism property. (Note: DAQCard and USB devices do not support DMA.)
  • Decrease the samples per channel rate with the DAQmx Timing function.
  • Disconnect other devices that may try to share the PCI/PCIe bus.
You may also consider purchasing an NI device or module with a larger FIFO buffer. Increasing the onboard memory will decrease the PCI/PCIe bus bottleneck. Another option is to purchase

Additional Information

Overwrite Errors in NI-DAQmx:
 
The error indicates that information is lost and occurs when the application does not read data from the PC buffer quickly enough. Samples that are written to the circular PC buffer are overwritten before they are read into Application Development Environment (ADE) memory.


Overflow Errors in NI-DAQmx:
 
Overflow errors indicate that the First In First Out (FIFO) memory buffer onboard your data acquisition card has reached its maximum capacity for storing acquired samples and can no longer accept new samples. An overflow error is symptomatic of a bus transfer rate that falls short of the requested data input rate.


Figure 2: FIFO Buffer Data Path