07-20-2005 10:28 AM
Stefano-
E Series cards use a convert rate calculated in a somewhat complicated manner by the DAQmx Base driver. I devised the formula by looking through several levels of the DAQmx Base VIs (which remain completely open-source, so you're free to do the same).
The quickest way to determine the convert rate (and therefore any interchannel delay) is to open the VI "DAQmx Base Check AI Timing Parameters" located in the "\National Instruments\LabVIEW 7.1\vi.lib\_DAQmxBase\Internals\ESeries\TimingUtilities" folder of your drive and view its front panel during operation. The parameters "Scan Rate (Hz)" and "Convert Rate (Hz)" indicate the rate of channel scan cycles and actual channel conversions during one cycle. The inverse of Convert Rate is then the interchannel delay.
In order to remove interchannel delay you would need to use simultaneous sampling with an S Series card. I assume this is what you meant by "fastest" DAQ card on the market. All S Series cards operate only using a Scan Clock because no Convert Clock is necessary due to the fact that each channel has its own ADC. This means there will be zero interchannel delay during scanning and all samples will be truly simultaneously sampled.
I hope this helps!
Thanks-
07-20-2005 03:21 PM
07-21-2005 11:23 AM
Hi Stefano-
Yes, the reciprocal of the Convert Rate is the interchannel delay. This delay is present between all samples in one cycle of scanning.
So, to reiterate, the Scan Clock initiates one scan of a channel list (i.e. all of the channels in the task). The Convert Clock then actually samples each channel. The interchannel delay is the amount of time between Convert Clock pulses (i.e. the amount of time between samples of consecutive channels in the task).
I hope this helps-
08-10-2005 09:45 AM
08-11-2005 11:09 AM - edited 08-11-2005 11:09 AM
Hi Mike-
My best suggestion is to call the DAQmxBaseStartTask before entering your read loop. Without explicitly starting the task before the loop the DAQmxBase read commands are forced to start and stop the task each time. This can decrease performance significantly.
For a good illustration of the structure needed for finite analog input operations I would suggest viewing the example "acquireNScans.c" that installs in /usr/local/natinst/examples/ai" with the NI-DAQmx Base driver.
Thanks-
Message Edited by Tom W. on 08-11-2005 11:09 AM