Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with DAQ (SCB - 68)

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

0 Kudos
Message 1 of 6
(3,370 Views)
Are you getting any errors like "buffer overflow"? What is your sample rate and sample size?
Ryan N
National Instruments
Application Engineer
ni.com/support
0 Kudos
Message 2 of 6
(3,340 Views)

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

Regards,
Jake G.
National Instruments
Applications Engineer
0 Kudos
Message 3 of 6
(3,322 Views)

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

 

 

0 Kudos
Message 4 of 6
(3,310 Views)

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

0 Kudos
Message 5 of 6
(3,305 Views)

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

Regards,
Jake G.
National Instruments
Applications Engineer
0 Kudos
Message 6 of 6
(3,284 Views)