Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
4 ratings:
 3 out of 5     Rate this Document

Overflow and Underflow Errors with Traditional NI-DAQ

Hardware: Multifunction DAQ (MIO)>>E Series

Problem:
I get memory overflow and underflow errors when programming analog acquisition and generation applications. I receive the errors -10845 and -10843. What do the errors mean and how do I correct these errors?

Solution:
If you try to read data onto the onboard FIFO faster than the transfer rate over the PCI bus, then you can expect an onboard memory overflow error (-10845 in Traditional NI-DAQ). Similarly for output, if data is transferring out of the onboard memory faster than the PCI bus can refill the buffer, then an underflow error is expected (-10843 in Traditional NI-DAQ). In both of these cases, the system cannot sustain the rate of transfer.

Possible suggestions are as follows:
  • Consider upgrading to a device with larger onboard memory. Increasing the onboard memory will decrease the PCI bus bottleneck
  • Reduce the number of devices sharing the PCI bus
  • Decrease the sample rate of the data acquisition device
Errors can also occur within the PC RAM, typically during a continuous operation. As we mentioned earlier, data is transferred into the PC buffer either by DMA or interrupt. The ADE then transfers data into the application buffer. Similarly for output, data is created in the application buffer and transferred into the PC buffer before then being transferred into the onboard memory either by DMA or interrupt. In the case of input, if the transfer between PC buffer and application buffer is not fast enough so that incoming data may overwrite data that has not yet been copied into the application buffer, then an overwrite error will occur. For output, if new data is not generated fast enough in the application buffer, then a regeneration error will occur (to prevent regeneration of old data).

Possible suggestions are:
  • Processor speed - If possible, use a faster computer that may be able to transfer data between the PC buffer and the application buffer at a higher rate.
  • Size of your PC buffer - Increase the size of your PC buffer. If the buffer is too small to keep up with the data rate, you will receive an overwrite error.
  • Size of the application buffer - In LabVIEW, you can decide how much data to read back at one time. Changing the size of the application buffer may result in better performance. Generally, a larger buffer results in better performance.
  • Efficiency of your program - Optimize the use of processor time by your program.
  • Consider looping data from the onboard memory of the device, if that is an option. This will completely eliminate the PCI bus.
  • Certain operations (i.e. digital I/O) allow buffer overwriting or regeneration. These options are specified in software.


Related Links:
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

Attachments:





Report Date: 01/18/2005
Last Updated: 03/20/2008
Document ID: 3HHCUO40

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit