Синхронизация нескольких-устройств Используя USB или устройства PXI

Можно синхронизировать несколько устройств на сеансе с помощью разделяемых часов сканирования, и совместно использованный запускают триггер. Можно синхронизировать устройства с помощью или PFI или линий RTSI.

Требование

Необходимо указать кабель RTSI с помощью National Instruments® Measurement & Automation Explorer.

Получите синхронизируемые данные Используя USB-устройства

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

Создайте сеанс сбора данных и добавьте один входной канал напряжения из каждого устройства:

  • 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 Используя AutoSyncDSA

В этом примере показано, как получить синхронизируемые данные из двух Динамических анализаторов сигналов (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 имеют разделяемые ссылочные часы, которые автоматически синхронизируют синхронизацию сканирования. Необходимо добавить, только запускают триггерные связи, чтобы синхронизировать операции на сеансе с устройствами 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)

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте