Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NIDAQ PCI6110 cannot reach its maximal analog output samping rate in C++

Solved!
Go to solution

Hi!

 

I got a problem when I try to use C++ to control the NIDAQ instrument: PCI6110 for analog output. Everything works perfectly until I set the sampling rate to 4Ms. I checked the specs for PCI6110: the maximal sampling rate (the maximal update rate) is 4Ms. But when I set it to 4Ms, the error code:  -200332 appears (please see below photo). And it returned that the maximum sampling rate is 2.5Ms instead of 4Ms.

Code:  DAQmxErrChk(DAQmxCfgSampClkTiming(taskHandleAO, "", 4000000, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, 1)); // 1 means 1 samper to generate for each channel.

NingZ_0-1636048018574.png

 

I also checked the device using Matlab with the code: devices = daq.getDevices

It shows that the device has rates from 0.1 to 4Ms for analog output:

NingZ_1-1636048130642.png

 

So my question is: why there is a 2.5Ms limit when I use the C++ program with NIDAQmx.lib? How could I get to the 4Ms sampling rate? 

 

Thank you so much for your time and help!!

 

Best regards,

Ning

0 Kudos
Message 1 of 3
(350 Views)
Solution
Accepted by topic author NingZ

The spec sheet shows this pretty clearly.  Max of 4 MHz for 1 channel, max of 2.5 MHz for 2 channels.  So the *device* capability extends to as much as 4 MHz (but only with a 1 channel task), while your 2-channel task's capability only extends to 2.5 MHz.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW?
Message 2 of 3
(339 Views)

Thank you very much! I should have looked through the spec thoroughly.. 

0 Kudos
Message 3 of 3
(326 Views)