Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How to get the max sample rate of a NI 9263 and other cards?

Solved!
Go to solution

Hello!

 

Im using a NI 9263 card and a chassis cDAQ 9172 for a proyect and im programming it whit CVI 8.0. Im generating sine and square waves to make some tests to a radio.

I want my program to be functional for all cards of that type, and we know that most of the cards have different specs, for example the max sampling rate, in this case the NI 9263 works whit 100 Ks/s as the maximun. Im generating the waves based on that sampling rate. 

 

If want my program to be compatible with most cards, my program need to acquire the max sampling rate using a specific function of NIDAQmx.h.

 

Do you know if theres is a function or attribute that can return that value?

 

I have tried this function with different attributes with no results:

 

DAQmxGetTimingAttribute(taskHandle, DAQmx_SampQuant_SampPerChan, &MaxSamp);
DAQmxGetTimingAttribute(taskHandle, DAQmx_SampClk_Rate, &MaxSamp);
DAQmxGetTimingAttribute(taskHandle, DAQmx_SampQuant_SampPerChan, &MaxSamp);
DAQmxGetTimingAttribute(taskHandle, DAQmx_SampClk_TimebaseDiv, &MaxSamp); 
DAQmxGetTimingAttribute(taskHandle, DAQmx_SampClk_Timebase_Rate, &MaxSamp); 

The first three atribbutes gives me the actual samp rate that is 1Ks/s (I think is the samp rate that is set for default for all te cards before be initialized for the user), but not gives me the max samp rate (100Ks/s).

The rest of the attributes only gives me the value of the clk which is 20MHz and the divider of the clk (20000). Also I have tried with a 9264 card (max samp rate is 25 Ks/s) and the function returns the same results.

 

Any idea?

 

Thanks!!

 

0 Kudos
Message 1 of 4
(4,022 Views)
Solution
Accepted by Areg22

Hey Areg22, 

 

I think I found the function you are looking for:

 

http://zone.ni.com/reference/en-XX/help/370471W-01/mxcprop/func22c8/

 

That link just gives the syntax for the function but the following gives you some more information about the function:

 

http://zone.ni.com/reference/en-XX/help/370471W-01/mxcprop/attr22c8/

 

When I used the property node of this function the output was 100,000 for the NI 9263. Which is in line with the specs sheet. Let me know if this works for you. 

 

Thanks,

 

-KP

Kurt P
Automated Test Software R&D
0 Kudos
Message 2 of 4
(3,999 Views)

Hello Kurt P.

 

I have used the function you recommend and it works pretty well. The function gives me 100,000 for the NI 9263 and 25,000 for the NI 9264 which are the correct values.  Now I can continue with my proyect.

 

Thanks a lot!!

0 Kudos
Message 3 of 4
(3,995 Views)

Hi,
How would it work for a multi-device task?

(I am using nidqamx library on python)

 

I for a single device task, I use :

self.task.timing.samp_clk_max_rate

but for multi-device task, it gives this error:

Multidevice tasks cannot use the on-demand sample timing type. Configure timing to synchronize and acquire samples from multiple devices.
Task Name: _unnamedTask<0>

The max sampling rate is then the sampling rate of the device that has the lowest max sampling rate.
but this depends on the number of channels configures on each device.
Is there a way to know the max sampling rate for a multi-device task?

 

0 Kudos
Message 4 of 4
(2,671 Views)