Multiple-Chassis Synchronization with CompactDAQ Devices
This example shows how to acquire voltage data from two devices, each on a separate CompactDAQ chassis, using a shared trigger and clock to synchronize operations within your DataAcquisition.
You can synchronize multiple CompactDAQ chassis in a DataAcquisition using one chassis to provide clocking and triggering for all chassis in the DataAcquisition. Clock and trigger sources are attached to terminals on the chassis, itself. All modules on the chassis as well as other connected devices, are synchronized using these signals.
Create a DataAcquisition and add channels. Add one voltage input channel each from the two
NI 9201 devices with IDs cDAQ1Mod1
and cDAQ2Mod1
.
d = daq("ni"); addinput(d,"cDAQ1Mod1",0,"Voltage") addinput(d,"cDAQ2Mod1",0,"Voltage")
Choose terminal PFI0
on cDAQ1
as your trigger
source, and connect it to destination terminal PFI0
on
cDAQ2
. Make sure the wiring on the hardware runs between these two
terminals. Note that you are using the chassis and terminal pair here, not device and terminal
pair.
addtrigger(d,"Digital","StartTrigger","cDAQ1/PFI0","cDAQ2/PFI0")
Choose terminal PFI1
on cDAQ1
as your clock source,
and connect it to destination terminal PFI1
on cDAQ2
.
Make sure the wiring on the hardware runs between these terminals.
addclock(d,"ScanClock","cDAQ1/PFI1","cDAQ2/PFI1")
Acquire data and assign it to dataIn
.
dataIn = read(d,seconds(1),"OutputFormat","Matrix");