Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Analog Output Rate as a function of channels in Task?


Hi,

I am trying to find a NI-DAQmx C command-sequence that will allow me to programmatically determine the maximum update rate for a task containing multiple Analog Output channels.

To make this concrete, let us suppose we have an NI 6289, a device with four analog output channels .
The specification (371290g) for this device suggests that the maximum update rate varies as follows with the number of channels (see page 3 of said spec):

1    2.86 MS/s
2    2.00 MS/s
3    1.54 MS/s
4    1.25 MS/s


Does anybody know how, given a task with 1-4 analog outputs, to obtain the listed rate (for an arbitrary device, without hard-coding any device-specific information)?

Note that simply querying the maximum update rate (e.g. using 'DAQmxGetDevAOMaxRate') always returns the maximum rate for the device (2.86 MS/s in this case).

Given that the actual rate does not scale linearly with the number of channels, I don't see a way to generalize this solution to arbitrary devices.

I have considered that _setting_ a rate that is too high might result in the appropriate rate being returned as part of the error status.
However, I'm not really certain which 'Set/Get' would produce the desired result.

 

In any case, I appreciate your thoughts on this issue.

Thanks,

Adam Yannopoulos
The MathWorks

0 Kudos
Message 1 of 2
(2,958 Views)

Hi mwdaqdev,

 

I found out how to determine the actual scan rate using LabVIEW, the C function that perform this task is this one.

 

Regards,

 

Carmen C.

 

0 Kudos
Message 2 of 2
(2,918 Views)