Можно синхронизировать несколько устройств в DataAcquisition с помощью общих часов сканирования и общего триггера запуска. Синхронизировать устройства можно с помощью линий PFI или RTSI.
Требование
Необходимо зарегистрировать кабель RTSI с помощью National Instruments ® Measurement & Automation Explorer.
В этом примере показано, как получать синхронизированные данные напряжения от нескольких устройств с помощью общего триггера запуска и общего тактового сигнала сканирования. Аналоговые входные каналы всех трех устройств подключены к одному и тому же функциональному генератору.
Создайте DataAcquisition и добавьте один входной канал напряжения от каждого устройства:
NI USB-6211 с идентификатором устройства Dev1
NI USB 6218 с идентификатором устройства Dev2
NI USB 6255 с идентификатором устройства Dev3
d = daq("ni"); addinput(d,"Dev1",0,"Voltage") addinput(d,"Dev2",0,"Voltage") addinput(d,"Dev3",0,"Voltage")
Выбор терминала PFI4 на Dev1 в качестве источника триггера запуска. Подключите источник триггера к терминалам назначения PFI0 на Dev2 и PFI0 на Dev3.
addtrigger(d,"Digital","StartTrigger","Dev1/PFI4","Dev2/PFI0") addtrigger(d,"Digital","StartTrigger","Dev1/PFI4","Dev3/PFI0")
Выбор терминала PFI5 на Dev1 в качестве источника тактовых сигналов сканирования. Подключение к терминалам назначения PFI1 на Dev2, и PFI1 на Dev3.
addclock(d,"ScanClock","Dev1/PFI5","Dev2/PFI1") addclock(d,"ScanClock","Dev1/PFI5","Dev3/PFI1")
Получение данных и их присвоение dataIn.
dataIn = read(d,350,"OutputFormat","Matrix");
Постройте график данных.
plot(dataIn)

Все каналы подключены к одному и тому же генератору функций, поэтому на графике отображаются перекрывающиеся сигналы, указывающие на синхронизацию.
В этом примере показано, как синхронизировать триггер запуска операций вывода счетчика из двух каналов на разных устройствах.
d = daq("ni"); addoutput(d,"Dev1","ctr0","PulseGeneration") addoutput(d,"Dev2","ctr0","PulseGeneration") addtrigger(d,"Digital","StartTrigger","Dev1/PFI0","Dev2/PFI0") start(d)
В этом примере используются два устройства USB или PCI, но они могут быть изменены для каналов через корпус CompactDAQ или PXI. При наличии модулей CompactDAQ на выходе счетчика в одном шасси нет необходимости вызывать addtrigger; но это необходимо для нескольких модулей в одном корпусе PXI.
В этом примере показано, как получать синхронизированные данные от двух устройств PXI анализатора динамических сигналов (DSA), NI PXI-4462 и NI PXI-4461, используя AutoSyncDSA собственность.
Создайте DataAcquisition и добавьте один аналоговый входной канал напряжения от каждого из двух устройств PXI
d = daq("ni"); addinput(d,"PXI1Slot2",0,"Voltage") addinput(d,"PXI1Slot3",0,"Voltage")
Получение данных в основной системе без синхронизации каналов:
[data,time] = read(d,seconds(1),"OutputFormat","Matrix"); plot(time,data)
Возвращенные данные не синхронизированы.
Синхронизация двух каналов с помощью AutoSyncDSA свойство:
d.AutoSyncDSA = true;
Получите данные на переднем плане и постройте их график:
[data,time] = read(d,seconds(1),"OutputFormat","Matrix"); plot(time,data)
Данные синхронизированы.
В этом примере показано, как получать данные о напряжении от двух устройств PXI на одном шасси с помощью общего пускового триггера для синхронизации операций в DataAcquisition. Устройства PXI имеют общий опорный синхросигнал, который автоматически синхронизирует тактирование сканирования. Для синхронизации операций в DataAcquisition с PXI-устройствами необходимо добавить только начальные триггерные соединения. Аналоговые входные каналы на всех устройствах подключены к одному и тому же функциональному генератору.
Создайте DataAcquisition и добавьте один входной канал напряжения от каждого устройства NI-PXI 4461 с идентификаторами PXI1Slot2 и PXI1Slot3.
d = daq("ni"); addinput(d,"PXI1Slot2",0,"Voltage") addinput(d,"PXI1Slot3",0,"Voltage")
Добавление начального триггерного соединения к терминалу PXI_Trig0 на PXI1Slot2 и подключите его к терминалу PXI_Trig0 на PXI1Slot3. Платы PXI подключаются через объединительную плату корпуса, поэтому их не нужно подключать физически.
addtrigger(d,"Digital","StartTrigger","PXI1Slot2/PXI_Trig0","PXI1Slot3/PXI_Trig0")
Получение данных и их присвоение dataIn.
dataIn = read(d,seconds(1),"OutputFormat","Matrix");
Постройте график данных.
plot(dataIn)

Все каналы подключены к одному и тому же функциональному генератору и имеют общий опорный синхросигнал. Сигналы перекрываются, что указывает на синхронизацию.