02-22-2006 09:24 AM
02-22-2006 01:56 PM - edited 02-22-2006 01:56 PM
Hello mulhall,
I'd like to point out a couple things. First, NI-DAQmx automatically chooses a convert clock rate such that the ADC has time to settle within the specifications of the device. The convert clock is what controls the multiplexing of successive channels to the ADC. So you might not need to add a grounded channel between each input channel. Second, you can also manually set the convert clock rate. So you could slow down the convert clock to allow for maximum settling time between channels. This can be done in LabVIEW with a DAQmx Timing property node, using the AI Convert Rate property, or in C with the DAQmxSetAIConvRate function. You would need to calculate your minimum convert clock rate based on the number of channels in the scan list, and your desired sample rate.
Having said that, yes, there is a way to add the same physical channel multiple times in the same task. It does require the use of NI-DAQmx global channels. You can create multiple global channels in Measurement & Automation Explorer (MAX) that all contain the same physical channel. Then you can add all of these global channels to your task. For example, if channel 15 is your grounded channel, and you wanted to sample from channels 0, 1 and 2: Create five global channels: gndA, gndB, ai0, ai1 and ai2. Where the global channels gndA and gndB both contain physical channel 15. Global channel ai0 is physical channel 0, etc. Then and add the global channels to the task in this order: ai0, gndA, ai1, gndB, ai2.
Note, If you need to re-post, you might want to mention what device you are using. I am fairly certain that the above statements apply to most NI-DAQ devices, though I believe some (or all) S Series devices don't support the multiple globals with the same physical channel trick.
-Alan A.
Message Edited by Alan [DE] on 02-22-2006 01:58 PM
02-22-2006 06:18 PM
Alan,
Thank you for your suggestion. I am using an M series PCI-6251, DAQmx 7.3, CVI 7.1.
I will try adding the global channels under MAX but I am concerned that this extra step makes it challenging for my application to be portable. I would prefer to handle the issue programatically in CVI.
In response to your first suggestion, we are using the full bandwidth of this board in an attempt to average many scans in a short amount of time. I have to weigh the advantages and disadvantages of slowing down my scan rate to reduce the channel to channel cross-talk. It has been a continous problem for us over the years.
Thank you
Phil Mulhall
02-22-2006 06:45 PM
02-23-2006 09:21 AM
11-02-2016 06:07 AM
A very old post, but VERY helpful! Just saved me from re-spinning a PCB or a MAX config headache. This knowledgebase article led me to believe it was not possible, you have shown otherwise. This channel list: Dev4/ai1,Dev4/ai0,Dev4/ai2,Dev4/ai0,Dev4/ai3 is valid as long as Name to assign is: Ai1,Gnd1,Ai2,Gnd2,Ai3 or similar.