LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

probelm wih acquisition rate and buffer size

I need to do a high frequency data acuisition with a PCI 6115 board (maximum sampling rate of 10,000,000 S/sec), installed on a Pentium III desk top computer, with 995 mhz CPU, 256M RAM.
 
The expected signal frequency range is about 80Khz- 125Khz, I set the sampling rate to be 8,000,000 S/SEC,
data points was set to be 2500 points. the buffer size calculated by the program is 0.4 times of the sampling rate , that is 3,200,000.
 
But the program gave out warning as follows:
NI-DAQ LV: your application was unable to retrieve data from the backgroundacquisition buffer fast enough so the untrieved data was overwritten with new data. To prevent this error, yu might increase teh buffer size of teh background,acquisition buffer, increase the amount of data you read from it per call to the read function/VI,,.
 
I have tried to change the data read per call, But I could not find which paremeter is data read per call in the read/vi.
 
When I changed my DAQ rate to be below 6,000,000, the problem was solved.
 
But I hope my DAQ rate to be as high as possible!
 
I'm guessing the problem occured because of hard ware features!
 
thanks for your suggestions!
 
 
 
0 Kudos
Message 1 of 14
(3,903 Views)
If you are using DAQmx set the 'Samples per channel' input of DAQmx Timing(SAmple Clock).vi to the reading rate. If it is traditional daq, set the "scans to read " input of AI Read.vi, to the reading rate.
 
--
 
Kalidas
BR
0 Kudos
Message 2 of 14
(3,888 Views)
Hi fenny,

You probably won't be able to process much of that data on the fly, but you shouldn't have a problem simply reading a finite amount of data.  One of the beauties of DAQmx is that you do not really have to worry much about setting buffer sizes because for basic operations that is all handled by the drivers.

I really recommend taking a look at one of our examples such as the one found here:
Help > Find Examples > Browse > Hardware Input and Output > DAQmx > Analog Measurements > Acq&Graph Voltage-Int Clk.vi

The 6115 should have at least 32 MSamples worth of memory on it, so if you are reading all 4 channels of data at 8 MS/s, then you should have at least enough memory on your board for 1 s of buffered data.

If you are doing a continuous read (Cont Acq&Graph Voltage-Int Clk.vi), then I really recommend setting your number of samples to read to be no more than about 1/10th the sampling rate.  So if you have a sample rate of 8 MS/s, then try to read at least 800 kS/s at a time for a continuous operation.

Regards,
Message 3 of 14
(3,871 Views)

I 'm doing one channel smapling!

 

only one channel needed !

 

0 Kudos
Message 4 of 14
(3,860 Views)

Hi Fenny,

It may help if you could post your VI, as I am a little unclear as to what you are trying to accomplish.  If you are attempting to perform a single finite acquisition of 2500 points, then you should not need to adjust the buffer size.  For the finite case, the buffer size needs to be only as large as the number of samples you are trying to acquire (DAQmx should set this for you automatically), and I would not expect that you would see this error.  From the description of the behavior you are seeing, I suspect that you are setting up the acquisition to be a continuous acquisition.  In this case, it would seem as though you were not able to read data from the device fast enough.  If this is the case, then the trick is to determine why.  To sustain a continuous acquisition, you basically have to be able to read/process data read at least as fast as the device is sampling. There are a few common things that we can look at if this is what you are trying to do.  Please reply back and let me know if you are attempting a finite acquisition, or if you are performing a continuous acquisition.  As I mentioned earlier, if you could post your VI, it may help to determine what is happening.

Looking forward to hearing back from you,
Dan

0 Kudos
Message 5 of 14
(3,851 Views)
this is my  zipped DAQ VI including all vi's , which is modified from a old  DAQ vi for accelerometer acquisition with lower sampling rate.
 
there sre some leftovers from the old application, but I don't think they would interfere with my application.
 
I use displacement transducer w/ about 100K hz range,  the LABVIEW version should be 7.0
0 Kudos
Message 6 of 14
(3,829 Views)
Hi fenny,

I took a look at your application and I think that most of the problems are somehow coming from the b(r)andnew.vi.

It looks like that part of the application is simply trying to acquire a finite number of scans with an analog trigger.  If that's the case, then you might want to open your example finder and try running the example Acquire N - Multi-Analog Hardware Trigger.vi (Help > Find Examples > Browse > Hardware Input and Output > Traditional DAQ > Analog In).

However, since you have LabVIEW 7.0, then I would strongly recommend you get DAQmx (NI-DAQmx Version 7.5 for Windows 2000/NT/XP).  Once you get DAQmx installed, then follow the initial instructions I gave you.  Doing this will make the acquisition portion of everything much simpler and will help to eliminate some of the errors.  As it is, you are just trying to do a finite acquisition at a rate of about 100kHz, this should not be a problem at all in DAQmx. 

In the meantime, try to focus your application on getting the Data Acquisition portion working properly, then once that works start to deal with your top level application.  If you handle things piece-wise, then it is much easier to create a functioning top-level application.

Regards,
Message 7 of 14
(3,808 Views)

But when I tried to use DAQmx to create my acquistion program, it says "no device found",( while the traditional program can fidn the device), so I just don't know what to do next.

 

 

 

0 Kudos
Message 8 of 14
(3,784 Views)

Is it possible that because PCI 6115 is a new Board, and the DAQmx does not recogonize it?

So I should download a newer version of DAQ mx which can rocognize my new PCI 6115 BOARD?

 

0 Kudos
Message 9 of 14
(3,773 Views)

fenny,

NI-DAQmx 7.4 was the first versoin of DAQmx which supported then 6115.  If you have an older version, then your 6115 will not be recognized.  I would reccommend that you install version 7.5, as it is most up to date and had several fixes for that device.

Dan

0 Kudos
Message 10 of 14
(3,770 Views)