Получите данные Используя устройство NI FieldDAQ

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

Узнайте устройства аналогового входа

Чтобы обнаружить устройство, которое поддерживает входные измерения, получите доступ к устройству в таблице, возвращенной daqlist команда. Этот пример использует устройство NI FD-11603. Это устройство имеет два банка, каждого с 4 каналами. Канал 0 из Банка 1 соединяется с генератором частоты, который производит синусоиду на 1 кГц (1 Vpp сосредоточил приблизительно 0.5 В).

d = daqlist("ni")
d=10×4 table
           DeviceID                        Description                  Model             DeviceInfo       
    _______________________    ___________________________________    __________    _______________________

    "Dev1"                     "National Instruments(TM) USB-6351"    "USB-6351"    [1×1 daq.ni.DeviceInfo]
    "FD11603-1D3BB09-Bank1"    "National Instruments(TM) FD-11603"    "FD-11603"    [1×1 daq.ni.DeviceInfo]
    "FD11603-1D3BB09-Bank2"    "National Instruments(TM) FD-11603"    "FD-11603"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ1-Bank1"          "National Instruments(TM) FD-11603"    "FD-11603"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ1-Bank2"          "National Instruments(TM) FD-11603"    "FD-11603"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ2-Bank1"          "National Instruments(TM) FD-11613"    "FD-11613"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ3-Bank1"          "National Instruments(TM) FD-11634"    "FD-11634"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ3-Bank2"          "National Instruments(TM) FD-11634"    "FD-11634"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ4-Bank1"          "National Instruments(TM) FD-11637"    "FD-11637"    [1×1 daq.ni.DeviceInfo]
    "FieldDAQ4-Bank2"          "National Instruments(TM) FD-11637"    "FD-11637"    [1×1 daq.ni.DeviceInfo]

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

Создайте DataAcquisition, установите Rate свойство (значением по умолчанию являются 1 000 сканов в секунду), и добавляет каналы аналогового входа с помощью addinput.

dq = daq("ni");
dq.Rate = 20000;
addinput(dq,"FD11603-1D3BB09-Bank1","ai0","Voltage");
Warning: Added channel does not support on-demand operations: only clocked operations are allowed.

Получите данные на заданное время

Используйте read чтобы получить несколько сканов, блокируя выполнение MATLAB до, все запрошенные данные получены. Полученные данные возвращены как расписание с шириной, равной количеству каналов и высоты, равной количеству сканов.

% Acquire data for one second at 20000 scans per second.
data = read(dq, seconds(1));

Отобразите полученные данные на графике

t = data.Time;
v = data.Variables;
n = 200;
plot(t(1:n), v(1:n));
ylabel("Voltage (V)")

Получите конкретное количество сканов

data = read(dq, 200);
plot(data.Time, data.Variables);
ylabel("Voltage (V)")