exponenta event banner

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

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

Создание сбора данных

Использовать 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");