01-23-2006 02:46 PM
01-24-2006 09:45 AM
Hi DRT-
Yes, you must use the vitual channel name when using the ChannelsToRead method. I have modified the "ContAcqVoltageSamples_IntClk" C# shipping example to illustrate the use of the ChannelsToRead setting to return data from a single channel of a multi-channel input task. Please let me know if you have any additional questions.
Thanks-
01-24-2006 12:50 PM
01-24-2006 12:55 PM
Hi DRT-
The effect of reading from a subset of the total number of channels in the task is that the other data points are thrown away. If you want to pull individual channel data for use in different portions of your program, the best suggestion would be to run your acquisition in one thread that is accessible globally from your other threads and just access those points once they have already been pulled from the PC buffer and into your application memory.
Hopefully this helps-
01-24-2006 02:33 PM
01-24-2006 03:10 PM
Hi DRT-
You specify the arrangement of channel data in the overall read array with the order in which you add the channels to the task. From the NI-DAQmx .NET Framework Help(Start>>Programs>>National Instruments>>NI-DAQ) for AnalogMultiChannelReader.ReadMultiSample Method:
A 2D array of floating-point samples from the task. Each element in the first dimension of the array corresponds to a channel in the task. Each element in the second dimension of the array corresponds to a sample from each of the channels. The order of the channels in the array corresponds to the order in which you add the channels to the task or to the order of the channels you specify in ChannelsToRead.
So, you can override the arrangement of the data in the array by setting ChannelsToRead to a different order. You name channels so that you can set per-channel properties at a more granual level than the task-level properties you set for timing, etc.
Hopefully this helps-
01-25-2006 07:23 AM
01-25-2006 07:44 AM
Hi DRT-
There isn't a built-in mechanism to remove channels from a task- you will just have to destroy the task and recreate it with only the channels you want to look at. When you set the ChannelsToRead property, the card is still physically sampling from all channels but only the channels of interest are actually returned to your application. This gives you the ability to pare down the sheer amount of data you will be reading into your application from your PC buffer on a multi-channel acquisition when only a subset of the channels are of interest.
Let us know if you run into anything else-
01-26-2006 10:40 AM
01-27-2006 04:48 PM
Hi DRT-
I am seeing the same behavior as you on my end and we're currently investigating its cause. I'll let you know as soon as we can sort it out- thanks for your patience!