exponenta event banner

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

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

Требование

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

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

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

Создайте 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)

Plot of data from synchronized acquisitions

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

Синхронизация выходов счетчиков с нескольких устройств

В этом примере показано, как синхронизировать триггер запуска операций вывода счетчика из двух каналов на разных устройствах.

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 с помощью AutoSyncDSA

В этом примере показано, как получать синхронизированные данные от двух устройств 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

В этом примере показано, как получать данные о напряжении от двух устройств 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)

Plot of data from synchronized acquisitions

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

Связанные темы