Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

200279

I have the 200279 after running my program for approximately 72 hours. I have tried increasing the buffer size but this doesn't seem to work,  it just prolongs the amount of time that the program runs before the error occurs.
0 Kudos
Message 1 of 4
(3,696 Views)

Hi,

Your first options for solving this problem was: increasing the buffer size, but like you said this will only prolong the time when error 200279 will happen, beacuse you are still putting data into the buffer at a rate faster than the rate at which your taking it out of it.  

So the basic three solutions are:

·         Remove signal processing from your main loop and do it after the loop is done or use a producer consumer loop to have the signal processing take up less processing power therefore perform the acquisition faster.

·         Slow down your acquisition rate so that you application can pull off the data from the buffer either as fast or faster than the DAQ card is putting data on the buffer.

·         Increase your buffer size (this will probably just make the error take longer to show up so it is not the suggested method)

Articles related to your issue are: (DAQmx) Error -200279 During a Continuous, Buffered Acquisition, Why Do I Get Error -200279 When Writing Continuously Acquired Data to a File? and Understanding and Avoiding Overwrite and Overflow Errors with NI-DAQmx.

I hope it helps

Jaime Hoffiz
National Instruments
Product Expert
Message 2 of 4
(3,675 Views)
After implementing the producer consumer loop, the error now says "Not enough memory to complete operation" after a few days of running. I have tried getting rid of local and global variables, but I can't seem to loose the error. Any suggestions?

Thanks.
0 Kudos
Message 3 of 4
(3,618 Views)
Hi,


You are still going to be limited by the amount of memory you have.  Remember that basically what we are doing is storing the data into the queue.  The ratio between how fast you put data into the queue and how fast you take will still limit how long can you go.

One suggestion I have to isolate the problem use the “Get Queue Status” and in the bottom of the function there is a output called “# of elements in queue”, place this function inside your "consumer loop" and check if this number builds up as time goes by.

I hope it helps



Message Edited by Jaime F on 03-17-2008 03:17 PM
Jaime Hoffiz
National Instruments
Product Expert
0 Kudos
Message 4 of 4
(3,591 Views)