Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

sample clock rate for multiple DAQ boards

I think I already know the answer to this question, but I will ask it anyway: 

 

What is the maximum sample clock rate for a VI that uses two multifunctional DAQ boards with different sampling rate specifications? I have software that controls AI and AO channels on a PCI-6110 and a PCIe-6363. I need the 6110 to achieve high AI rate and the 6363 because I need more than 2 AO channels. I have software that runs channels on both boards, but the maximum AI rate I can achieve on the 6110 is ~2.6 MS/s instead of 5 MS/s listed in the specs. I am pretty sure this is because I am writing to the 6363 board, which has a maximum AO rate of 2.86 MS/s. When I run the 6110 alone in MAX or with LV example code, it can run at the max 5 MS/s speed.

 

I guess I assumed the clocks on the board would run at their own rates even though I wrote a single VI to run both boards. Generally, is LV code that controls two boards limited to the speed of the slowest board? The only work-around I can think of is to drive each board from different VIs. Not ideal for having everything in my system work together. Anyone from NI want to weigh in on this?

 

Thanks.

DanX  

0 Kudos
Message 1 of 2
(3,016 Views)

Hi DanX,

 

The key here would be to use hardware timing rather than software timing. Unless you need those two tasks synchronized, you will not have any dependencies between the two tasks. As such, you have a few options going forward - either making sure the loop rate via hardware timing is equivalent between the two in the same while loop, or completely split the tasks into two different while loops.

 

The rate at which hardware timing updates a while loop depends on how many samples you are pulling from the PC buffer at a time and the rate at which you're writing to the PC buffer from your DAQ device. More specifically, the update rate of a while loop with a DAQmx Read will be the sample rate of the task divided by the number of samples per channel input in your DAQmx Read. Please see this KnowlegeBase article for more information:

 

http://digital.ni.com/public.nsf/allkb/3E3D74E26B8A5B83862575CA0053E4B5

 

Based on what you have described thus far, I would recommend just having two independent tasks. Whether you would like to do that in a single VI or two VIs is up to you. Do consider simply combining the Voltage - Continuous Input and the Voltage - Continuous Output examples into the same VI or running them independently as well; the published examples for our DAQmx API are very well-written and documented. You can find the examples in Example Finder (Help > Find Examples) under the Hardware Input and Output > DAQmx folder.

 

Best of luck with your application! I hope the above works for you!

0 Kudos
Message 2 of 2
(3,007 Views)