Получите данные и сгенерируйте сигналы одновременно

В этом примере показано, как получить данные с устройством NI 9205 ID cDAQ1Mod1, при генерации сигналов от устройства NI 9263 с ID cDAQ1Mod2.

Можно получить данные и сгенерировать сигналы одновременно на устройствах на том же шасси. Когда DataAcquisition содержит выходные каналы, длительность конечной генерации и захвата зависит от количества сканов и частоты развертки.

Создайте объект NI DataAcquisition и добавьте один канал аналогового входа на cDAQ1Mod1 и один аналоговый выход образовывает канал на cDAQ1Mod2:

d = daq("ni");
addinput(d,"cDAQ1Mod1","ai0","Voltage");
addoutput(d,"cDAQ1Mod2","ao0","Voltage");
d.Channels
ans = 

  Index    Type      Device       Channel      Measurement Type             Range                Name   
  _____    ____    ___________    _______    _____________________    __________________    _______________

    1      "ai"    "cDAQ1Mod1"     "ai0"     "Voltage (SingleEnd)"    "-10 to +10 Volts"    "cDAQ1Mod1_ai0"
    1      "ao"    "cDAQ1Mod2"     "ao0"     "Voltage (SingleEnd)"    "-10 to +10 Volts"    "cDAQ1Mod2_ao0"

Задайте данные о выходном сигнале для 2 500 сканов:

outData = linspace(-1,10,2500)';

Сгенерированный выходной сигнал 2 500 сканов запустится в течение 2,5 секунд в частоте развертки 1 000 выборок в секунду.

Сгенерируйте выходной сигнал и получите входные данные:

inData = readwrite(d,outData,"OutputFormat","Matrix");
plot(inData)

Похожие темы