Hello cdreike,
If you set up your DAQmx Task for hardware timed acquisition using the DAQmx Timing VI, your USB-6009 will use an onboard clock to acquire samples at the rate you specify. If you place a DAQmx Read VI within a regular while loop (not a timed loop), your program will wait at the DAQmx Read VI until the number of samples you've specified to read have been acquired from the device. Therefore, if you set your USB-6009 to acquire data at 10Hz (1 Sample every 100ms = 10 S/s), and set the DAQmx Read VI to read a single sample, your while loop will wait at the DAQmx Read function until a data point has arrived, and your while loop will ultimately execute at 10Hz. This works as long as you are running at rates slow enough so that your computer can handle transferring data into LabVIEW one sample at a time, and you have nothing else in your while loop that is preventing the DAQmx Read VI from executing fast enough. You'll get overflow or overwrite errors if either of these things happen. Take a look at the Cont Acq&Graph Voltage-IntClk.vi example program found in the NI Example Finder in LabVIEW (Help > Find Examples). This example shows a hardware timed continuous buffered acquisition using the DAQmx Read VI in a while loop. If you set the number of samples to read of the DAQmx Read VI to 1, the while loop will execute at the rate samples are acquired.
Here's a screenshot of a block diagram showing a continuous hardware timed single point acquisition.
I hope this helps,
Travis G.
Applications Engineering
National Instruments
www.ni.com/support
Message Edited by Travis G. on 05-24-2006 05:11 PM