Можно синхронизировать несколько устройств в DataAcquisition с помощью разделяемых часов скана, и совместно использованный запускают триггер. Можно синхронизировать устройства с помощью или PFI или линий RTSI.
Требование
Необходимо указать кабель RTSI с помощью National Instruments® Measurement & Automation Explorer.
В этом примере показано, как получить синхронизируемые данные о напряжении из нескольких устройств с помощью разделяемого триггера запуска и разделяемых часов скана. Каналы аналогового входа на всех трех устройствах соединяются с тем же функциональным преобразователем.
Создайте DataAcquisition и добавьте один входной канал напряжения из каждого устройства:
NI USB-6211 с ID устройства Dev1
NI USB 6218 с ID устройства Dev2
NI USB 6255 с ID устройства 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.
В этом примере показано, как получить синхронизируемые данные из двух Динамических анализаторов сигналов (DSA) устройства PXI, 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)
Все каналы соединяются с тем же функциональным преобразователем и имеют разделяемые ссылочные часы. Перекрытие сигналов, указывая на синхронизацию.