02-19-2008 02:20 PM
02-20-2008 12:08 PM
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
03-14-2008 04:18 PM
03-17-2008 03:16 PM - edited 03-17-2008 03:17 PM
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