Получение данных и генерация сигналов в одно и то же время

В этом примере показано, как получить и сгенерировать данные с помощью двух модулей National Instruments ™, работающих одновременно.

Создайте DataAcquisition

Использование daq для создания DataAcquisition

dq = daq("ni")
dq = 

DataAcquisition using National Instruments hardware:

                     Running: 0
                        Rate: 1000
           NumScansAvailable: 0
            NumScansAcquired: 0
              NumScansQueued: 0
    NumScansOutputByHardware: 0
                   RateLimit: []

Show channels
Show properties and methods

Настройка оборудования

Этот пример использует корпус compactDAQ NI c9178 с модулем NI 9205 (cDAQ1Mod1-4 аналоговых входных канала) и модулем NI 9263 (cDAQ1Mod2-4 аналоговых выходных канала). Использование daqlist для получения дополнительной информации о подключенном оборудовании.

Аналоговые выходные каналы физически соединены с аналоговыми входными каналами так, что полученные данные совпадают с данными, сгенерированными из аналогового выходного канала.

Добавьте аналоговый входной канал и аналоговый выходной канал

Использование addinput для добавления аналогового входного канала напряжения. Использование addoutput для добавления аналогового выходного канала напряжения.

addinput(dq, "cDAQ1Mod1", "ai0", "Voltage")
addoutput(dq, "cDAQ1Mod2", "ao0", "Voltage")

Создайте и постройте график выходного сигнала

output = cos(linspace(0,2*pi,1000)');
plot(output);
title("Output Data");

Генерация и сбор данных

Использование readwrite одновременно генерировать и получать сканы.

data1 = readwrite(dq, output);

Постройте график полученных данных

plot(data1.Time, data1.Variables);
ylabel("Voltage (V)")
title("Acquired Signal");

Сгенерируйте и получите дату для дважды предыдущей длительности

data2 = readwrite(dq, [output; output]);

Постройте график полученных данных

plot(data2.Time, data2.Variables);
ylabel("Voltage (V)")
title("Acquired Signal");