Синхронизация нескольких устройств с использованием 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

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

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

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

Похожие темы