Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Controlling multiple PCI-6733 in C

Hi,

 

Does anyone have experience configuring multiple PCI-6733 cards for analog output? In particular, these cards will be triggered on PFI0 let's say and clocked on PFI1 (one sample per clock). Do we need to run two different tasks, one for each device, or can channels from multiple devices be on one task? 

 

Thanks!

0 Kudos
Message 1 of 4
(658 Views)

NI-DAQmx Multidevice Task Explained didn't mention if you can use multiple devices in a single task for Analog Output devices, but it is worth a try. Don't forget that you must use an RTSI cable to connect the boards and identify that cable within MAX. Learn what RTSI is and how to configure it

-------------------------------------------------------
Applications Engineer | TME Systems
Message 2 of 4
(632 Views)

Since you'd *like* to make them part of 1 single task, I assume that means you want all the outputs to be sync'ed.   Unfortunately those are very old devices which likely don't support multi-device tasks   So plan on multiple distinct tasks and then use a little care in your configuration and programming.  Specifically:

 

1. Make sure all devices share a common trigger and clock signal.  The shared trigger starts them in sync, the shared clock keeps them in sync.  (Many times, a shared clock alone is sufficient to accomplish both.)

 

2. I heartily endorse ZYOng's recommendation of an internal RTSI cable, but it also *is* possible to distribute such things with a rat's nest of external wiring.

 

3. It's important to make sure that all tasks have been started by your code before the trigger signal can assert.  They must all be armed and waiting for it when it arrives.

    In some apps, you can control this yourself by generating your own triggering signal with DO or a counter pulse after all the AO tasks are started.  In rarer cases, you may need to mediate a repetitive external trigger signal using a DO or counter task.  It's basically the same idea, you just make your own DO or counter pulse task be triggered by the external signal, and then be sure not to start this helper task until after all the AO's have been started.  Then all the AO's will start on the same specific instance of the repetitive external trigger.

 

Sorry, I only program in LabVIEW and can't give detailed help on C syntax.

 

 

-Kevin P

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
Message 3 of 4
(603 Views)

The shipping example is a good starting point:

C:\Users\Public\Documents\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Synchronization\Multi-Device\Continuous AI

 

-------------------------------------------------------
Applications Engineer | TME Systems
Message 4 of 4
(600 Views)