06-10-2009 06:15 PM
I am using the NIDAQmx API to work with data acquisition boards with analog output subsystems. From the C API documentation, it seems that DAQmxGetDevAOMaxRate() gives the maximum analog output rate of the device. However, the value returned by this function is constant, irrespective of the number of channels in use on that device.
Is there a way to programmatically query the maximum AO rate based on the number of channels in use on a device?
06-11-2009 01:45 PM
Hi sshankar,
The analog output channels on M Series have digital to analog converters on each output channel, i.e., there is no multiplexing on the output channels. Because there is no multiplexing, the max output rate returned by DAQmxGetDevAOMaxRate() will be the maximum output rate regardless of the number of AO channels.
06-11-2009 01:57 PM
Hi jschwartz,
That would definitely make sense for the M-Series of data acquisition boards. However, I seem to be seeing this behavior (output rate returned by DAQmxGetDevAOMaxRate() will be the maximum output rate regardless of the number of AO channels) regardless of the board that I use. For example, I tried the NI DAQCard-6062E and it reports a sample rate of 869565.21 even after adding two channels. I was expecting the max output rate to drop to approximately 425 KHz.
Thanks for your help!
Regards,
Siddhartha Shankar
Application Support Engineer
The MathWorks
06-12-2009 10:21 AM
06-29-2009 03:00 PM
Hi Jay,
According to the spec sheet for the M series devices in the NI 625x family the maximum output rate does vary according to the number of channels in use as shown by page 3 of spec sheet http://www.ni.com/pdf/manuals/371291h.pdf
Here's what it says:
Maximum update rate
1 channel .....................................2.86 MS/s
2 channels ...................................2.00 MS/s
3 channels ...................................1.54 MS/s
4 channels ...................................1.25 MS/s
How can this information be retrieved via the DAQmx API?
Thanks,
06-30-2009 06:16 PM
Hi sradbil,
You can find the maximum update rate of the card by using the I/O Type:Analog Output:Timing:Maximum Rate Property node as shown below. This will only show the maximum of the card with a single channel. To show the rate programmatically, you will have to find the specs and create a program that uses the Number of Channels property node to select the maximum output from the specifications for a given number of channels.