Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Error: Measurements: Onboard device memory overflow. How to reset and contine?

I am using a NI-USB-6009 with a wusb dongle.

It worck but after some minutes I get the following  erro.  -200361 Error: Measurements: Onboard device memory overflow.

How can I reset (skipping the lost datas) and contine acquisition?

 

Thanks

Andrea

 

Acquiring samples continuously. Press Enter to interrupt Acquired 100 samples. Total 512400

DAQmx Error: Measurements: Onboard device memo ry overflow. Because of system and/or bus-bandwidth limitations, the driver coul d not read data from the device fast enough to keep up with the device throughpu t.  Reduce the sample rate, or reduce the number of programs your computer is execut ing concurrently. Task Name: _unnamedTask<0>  Status Code: -200361

0 Kudos
Message 1 of 2
(2,694 Views)

Hi Andrea,

 

Good afternoon and I hope your well today. Thanks for your post.

 

After you recieve an error like this you would need to stop the DAQmx task. The perform another DAQmx Create Task and then continue. However, I would really try to avoid this situation happening.

 

Please take a look at the following knowledgebase article, 

 

USB-6008/6009 Error -200361: Buffer Overflow Error

http://digital.ni.com/public.nsf/allkb/611475F9BE62881E86256FDC0062B1BB

 

So one option to prevent this error would be to get a different device which has a large FIFO - however lets assume you dont have the cost/other hardware. 

 

Do you need 1000 samples at the rate you've set? Like the error says, you can reduce the rate or number to help the PC keep up with the Device. I would also take a look at your code design, to help prevent this error you need efficent code - which allows you to read from the buffer as quickly as you can (or require). For example, 1000 samples at 1kHz means you'll have a 1000 samples every second. You should read aim to read about 10% of the samples at a time, hence you need to read from the buffer (DAQmx Read) 10 times a second. If your loop is slower than this you will get an overflow error. Consider using the two loop design pattern - producer/consumer. Where you can acquire at a constant rate and not lose data and also queue the data to process it at a slower rate - but still acquiring at the requested rate. 

 

They also recommend reducing what your requesting your pc to perform - such as large anylsis. for example Read the data in as raw instead of double precision.

 

Another aspect to consider is do you need to perform a continuous acquistion or would a finite acquisitionbe good enough?

 

I hope my suggestions make sense, and please let me know if you have any questions. Also feel free to post some example code which causes the error - I'd be more than happy to take a look at it - but remember to tell me what version of LabVIEW your using.

 

I hope this helps,

 

Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! 😉
Message 2 of 2
(2,675 Views)