Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

pci-6111 5M scan/sec to disk

Hi,

 I have an old Pentium III machine with 512Mb of memory with a PCI-6111.  I'm trying to get 5 million scan/sec of analog input on 2 channels and write them to disk.  In the attached Vi I
get an actual scan rate of 5 million scans/sec but, the write speed is a tiny fraction of that. 

I'll run it for a few seconds and should expect around 10 millions scans but, I only get about 30 thousand.

Is there any way I can get a faster write speed or reconfigure the buffer?

Thanks.


Message Edited by Fuqface on 08-01-2008 08:37 AM
0 Kudos
Message 1 of 8
(3,636 Views)
Hello and thanks for using the forums,
 
I took a look at your VI and have some suggestions before addressing the write to file issue.
 
First off, you can run into buffer overwrite errors because you're AI Start doesn't have to wait for your user to select a file to write to. As soon as AI Start is called, the board will start acquiring and bringing data into your buffer. If AI Read has not been called, that data will be over written. I put in a simple structure to ensure dataflow. Also, I added some error handling. You had error lines but no way to handle the errors.
 
Finally, about your data rate problems, I noticed that you were only acquiring at 1kS/s. Set the scan rate control to 5M and your buffer and read size will be set appropriately so you should have plenty of data being written. Since I do not have LabVIEW 7, I will have to post a screen shot.
 
Is there a particular reason you are building a new DAQ  VI using the old Traditional DAQ driver? DAQmx is a much more robust driver with a great deal more functionality with a better API. For more information on building your DAQ application with DAQmx, look through the links in my signature along with the shipping examples in LV.
 



Message Edited by PBear on 08-04-2008 03:38 PM
PBear
NI RF
0 Kudos
Message 2 of 8
(3,611 Views)
For some reason, I was under the impression that the PCI-6111 was not compatible with the NI-DAQmx drivers.  It is listed as a legacy card.

Is it compatible?

Thanks.

0 Kudos
Message 3 of 8
(3,598 Views)

Hi Fuqface,

The 6111 is supported by DAQmx so I'm glad we caught that before you put alot of further development into your application! If you could point me to where it's listed as a legacy device, I'd like to go ahead and fix this.

For future reference, look at the first link in my signature. It contains a list of all DAQ devices and the corresponding driver support across OS platforms.

 
PBear
NI RF
0 Kudos
Message 4 of 8
(3,579 Views)
Actually it is NOT listed as "Legacy" but, instead is listed as "Traditional".  When I try to create a NI-DAQ Global Channel the device is not listed under the list of possible
channels.  How do I get the NI-DAQmx drivers to recognize the device?

Thanks For Your Help.
0 Kudos
Message 5 of 8
(3,571 Views)

Hi Fuqface,

Where is it listed as Traditional? If I know where you're having problems then I can be on the same page as you. Do you have the most recent version of NI-DAQmx installed? 8.7.1 supports the 6111 outright as listed on the website I pointed you to in the links in my signature. I also know this because I have a 6111 in my computer and run DAQmx tasks on it all the time.

PBear
NI RF
0 Kudos
Message 6 of 8
(3,564 Views)
When I was using Labview 7 express, the device was listed as Traditional under the "Measurement and Automation" tool.  However, I just upgraded to LV 8.5.1 and the new DAQ Drivers and
it is now listed under NI-DAQmx devices. So I can use the NI-DAQmx drivers. 

I've written a new vi that uses the NI-DAQmx drivers.  It seems to work OK. 

Going back to the original question, I'd like to get 5 million scans a second out of this card and write to disk.
Does this scan speed depend heavily on the machine it is on? We are running it on a PIII w/ 512 Mb ram(pretty old system).

One more question, when simply try to plot the waveform to a waveform graph the it seems to only plot one scan at a time.  How do I plot
one seconds worth of data?

Thanks for your time...





0 Kudos
Message 7 of 8
(3,562 Views)
 

Hi Fuqface

Your computer won't limit your scan speed unless you are using a software timed device like the 6009. Your board is a hardware timed device and will scan at the desired rate. What will depend on the system is being able to remove data from the PC memory/buffer fast enough to not overflow/overwrite the available space. I don't see a red flag with your system but as always you will want to make efficient code.

To display a full second's worth of data you have many options. You may want to just change the Waveform Graph to a Waveform Chart. You could also read a seconds worth of samples from your DAQmx Read. If you sample at 10KS/s then read 10KS.

View the DAQmx Getting Started guide in my signature and also look at the shipping examples that come with LabVIEW/DAQmx to become more familiar with DAQ. Depending on your LabVIEW proficiency, you may want to look at the Online Tutorials for LabVIEW to help grasp the different ways to view and present data. 

PBear
NI RF
0 Kudos
Message 8 of 8
(3,537 Views)