Можно синхронизировать несколько устройств на сеансе с помощью разделяемых часов сканирования, и совместно использованный запускают триггер. Можно синхронизировать устройства с помощью или PFI или строк RTSI.
Необходимо указать кабель RTSI с помощью National Instruments® Measurement & Automation Explorer.
Этот пример показывает, как получить синхронизируемые данные о напряжении из нескольких устройств с помощью разделяемого триггера запуска и разделяемых часов сканирования. Каналы аналогового входа на всех трех устройствах соединяются с тем же функциональным преобразователем.
Создайте сеанс сбора данных и добавьте один входной канал напряжения от каждого устройства:
NI USB-6211 с ID устройства 'Dev1'
NI USB 6218 с ID устройства 'Dev2'
NI USB 6255 с ID устройства 'Dev3'
s = daq.createSession('ni'); addAnalogInputChannel(s,'Dev1',0,'Voltage'); addAnalogInputChannel(s,'Dev2',0,'Voltage'); addAnalogInputChannel(s,'Dev3',0,'Voltage');
Выберите терминал 'PFI4'
на 'Dev1'
как триггерный источник запуска. Соедините триггерный источник с терминалом 'PFI0'
на 'Dev2'
и к 'PFI0'
на 'Dev3'
, которые являются устройствами назначения.
addTriggerConnection(s,'Dev1/PFI4','Dev2/PFI0','StartTrigger'); addTriggerConnection(s,'Dev1/PFI4','Dev3/PFI0','StartTrigger');
Выберите терминал 'PFI5'
на 'Dev1'
как источник часов сканирования. Соедините его с 'PFI1'
на 'Dev2'
, и с 'PFI1'
на 'Dev3'
.
s.addClockConnection('Dev1/PFI5','Dev2/PFI1','ScanClock'); s.addClockConnection('Dev1/PFI5','Dev3/PFI1','ScanClock')
ans = Start Trigger is provided by 'Dev1' at 'PFI4' and will be received by: 'Dev2' at terminal 'PFI0' 'Dev3' at terminal 'PFI0' Scan Clock is provided by 'Dev1' at 'PFI5' and will be received by: 'Dev2' at terminal 'PFI1' 'Dev3' at terminal 'PFI1' index Type Source Destination ----- ------------ --------- ----------- 1 StartTrigger Dev1/PFI4 Dev2/PFI0 2 StartTrigger Dev1/PFI4 Dev3/PFI0 3 ScanClock Dev1/PFI5 Dev2/PFI1 4 ScanClock Dev1/PFI5 Dev3/PFI1
Получите данные и присвойте их dataIn
.
dataIn = startForeground(s);
Отобразите данные на графике.
plot(dataIn)
Все каналы соединяются с тем же функциональным преобразователем, и поэтому отображают перекрывающиеся сигналы, указывая на синхронизацию.
Этот пример показывает, как синхронизировать триггер запуска встречных выходных операций от двух каналов на различных устройствах.
s = daq.createSession('ni'); addCounterOutputChannel(s,'Dev1','ctr0','PulseGeneration'); addCounterOutputChannel(s,'Dev2','ctr0','PulseGeneration'); addTriggerConnection(s,'Dev1/PFI0','Dev2/PFI0','StartTrigger'); startForeground(s)
Этот пример использует два USB или устройства PCI, но мог быть изменен для каналов через CompactDAQ или шасси PXI. Если у вас есть встречные модули вывода CompactDAQ в том же шасси, не необходимо вызвать addTriggerConnection
; но это требуется для нескольких модулей в том же шасси PXI.
Этот пример показывает, как получить синхронизируемые данные из двух Динамических анализаторов сигналов (DSA) устройства PXI, NI PXI-4462 и NI PXI-4461, с помощью свойства AutoSyncDSA
.
Создайте сеанс приобретения и добавьте один канал аналогового входа напряжения от каждого из двух устройств PXI
s = daq.createSession('ni'); addAnalogInputChannel(s,'PXI1Slot2',0,'Voltage'); addAnalogInputChannel(s,'PXI1Slot3',0,'Voltage');
Получите данные на переднем плане, не синхронизируя каналы:
[data,time] = startForeground(s); plot(time,data)
Возвращенные данные не синхронизируются.
Синхронизируйте два канала с помощью свойства AutoSyncDSA
:
s.AutoSyncDSA = true;
Получите данные на переднем плане и постройте его:
[data,time] = startForeground(s); plot(time, data)
Данные теперь синхронизируются.
Этот пример показывает, как получить данные о напряжении из двух устройств PXI на том же шасси, с помощью разделяемого триггера запуска, чтобы синхронизировать операции в сеансе. Устройства PXI имеют разделяемые ссылочные часы, которые автоматически синхронизируют синхронизацию сканирования. Необходимо добавить, только запускают триггерные связи, чтобы синхронизировать операции на сеансе с устройствами PXI. Каналы аналогового входа на всех устройствах соединяются с тем же функциональным преобразователем.
Создайте сеанс сбора данных и добавьте один входной канал напряжения от каждого устройства NI-PXI 4461 с идентификаторами 'PXI1Slot2'
и 'PXI1Slot3'
.
s = daq.createSession('ni'); addAnalogInputChannel(s,'PXI1Slot2',0,'Voltage'); addAnalogInputChannel(s,'PXI1Slot3',0,'Voltage');
Добавьте триггерную связь запуска с терминалом 'PXI_Trig0'
на 'PXI1Slot2'
и соедините его с терминалом 'PXI_Trig0'
на 'PXI1Slot3'
. Карты PXI соединяются через основную плату, таким образом, вы не должны соединять их проводом физически.
addTriggerConnection(s,'PXI1Slot2/PXI_Trig0','PXI1Slot3/PXI_Trig0','StartTrigger');
Получите данные и присвойте их dataIn
.
dataIn = startForeground(s);
Отобразите данные на графике.
plot(dataIn)
Все каналы соединяются с тем же функциональным преобразователем и имеют разделяемые ссылочные часы. Перекрытие сигналов, указывая на совершенную синхронизацию.