‎04-15-2011 03:44 AM
I have problem with Data Acquisition Tool Box (SCB - 68). When I send or recieve signal for long time, there will be some data loss. I still don't figure what is the main problem. But I think it because data is overflow. Who knows how to solve this problem please tell me
‎04-18-2011 10:40 AM
‎04-18-2011 02:09 PM
Hey,
Depending on how you are programming, you may want to use the producer/consumer scheme to separate your acquisition and your data calculations in order to not slow your acquisition:
http://zone.ni.com/devzone/cda/tut/p/id/5218
here is an example of the producer/consumer scheme used for acquire data and save them:
http://decibel.ni.com/content/docs/DOC-2431
It may also be a buffer problem, where you are trying to sample too quickly and not reading fast enough. Try increasing the rate at which you read from the buffer, or the size of the packets that you read.
Jake
‎04-19-2011 04:17 AM
I use control DAQ tool box by using MATLAB Data Acquistion Tool Box. We both send and recieve signal with sample frequency 0.2 MHz. When we send and recieve data for 10 second, the MATLAB will state that data in memory is overflow. In experiment, I send a pulse chirp signal with pulse duration = 5 ms and Pulse repetition = 40 ms. But if I increase pulse repetion, the error will be gone when running experiment in some duration.
I still cannot figure out that the problm is caused in transmitting or receiving process. Now, i try to increase the rate of exacting receving data from buffer to memory.
SponGEE
‎04-19-2011 04:36 AM
When I use one AO port and Three AI port and run experiment for 10 second with sampling rate 0.2 MHz Pulse duration 5 ms and Pulse repetition 40 ms
The MATLAB shows error as following:
rror event occurred at 11:23:33 for the object: nidaqmxDev1-AO.
NIDAQmx
error : Onboard device memory underflow. Because of system and/or
bus-bandwidth limitations, the driver could not write data to the device
fast enough to keep up with the device output rate.
Reduce your
sample rate, alter the data transfer method (from interrupts to DMA),
use a product with more onboard memory, or reduce the number of programs
your computer is executing concurrently.
Task Name: MWDAT1189
Status Code: -200016
Error event occurred at 11:23:33 for the object: nidaqmxDev1-AO.
NIDAQmx
error : Onboard device memory underflow. Because of system and/or
bus-bandwidth limitations, the driver could not write data to the device
fast enough to keep up with the device output rate.
Reduce your
sample rate, alter the data transfer method (from interrupts to DMA),
use a product with more onboard memory, or reduce the number of programs
your computer is executing concurrently.
Task Name: MWDAT1189
Status Code: -200016
SponGEE
‎04-20-2011 11:41 AM
Hey SponGEE,
It looks like you are having a problem with your buffer size and the readings you are trying to get from them. It appears to give you all of the possible solutions in the error message: "Reduce your sample rate, alter the data transfer method (from interrupts to DMA), use a product with more onboard memory, or reduce the number of programs your computer is executing concurrently." There is a knowledge base article that will have a little more info, Overflow and Underflow Errors.
Regards,
Jake