Сгенерируйте сигналы на устройствах NI который текущий Выход

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

Узнайте устройства, которые могут вывести текущий

Чтобы обнаружить устройство что текущие выходные параметры, получите доступ к устройству в таблице, возвращенной daqlist команда. Этот пример использует модуль NI 9265 в Национальном Instruments® CompactDAQ Chassis NI cDAQ-9178. Это - аналоговое устройство текущей производительности с 4 каналами и является модулем 8 в шасси.

d = daqlist("ni")
d =

  12×4 table

     DeviceID                 Description                    Model             DeviceInfo     
    ___________    __________________________________    _____________    ____________________

    "cDAQ1Mod1"    "National Instruments NI 9205"        "NI 9205"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod2"    "National Instruments NI 9263"        "NI 9263"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod3"    "National Instruments NI 9234"        "NI 9234"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod4"    "National Instruments NI 9201"        "NI 9201"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod5"    "National Instruments NI 9402"        "NI 9402"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod6"    "National Instruments NI 9213"        "NI 9213"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod7"    "National Instruments NI 9219"        "NI 9219"        [1×1 daq.DeviceInfo]
    "cDAQ1Mod8"    "National Instruments NI 9265"        "NI 9265"        [1×1 daq.DeviceInfo]
    "Dev1"         "National Instruments PCIe-6363"      "PCIe-6363"      [1×1 daq.DeviceInfo]
    "Dev2"         "National Instruments NI ELVIS II"    "NI ELVIS II"    [1×1 daq.DeviceInfo]
    "Dev3"         "National Instruments PCIe-6363"      "PCIe-6363"      [1×1 daq.DeviceInfo]
    "Dev4"         "National Instruments PCIe-6363"      "PCIe-6363"      [1×1 daq.DeviceInfo]

deviceInfo = d{8, "DeviceInfo"}
deviceInfo = 

ni: National Instruments NI 9265 (Device ID: 'cDAQ1Mod8')
   Analog output supports:
      0 to +0.020 A range
      Rates from 0.6 to 100000.0 scans/sec
      4 channels ('ao0','ao1','ao2','ao3')
      'Current' measurement type
   
This module is in slot 8 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.


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

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

dq = daq("ni");
dq.Rate = 100;
ch1 = addoutput(dq, "cDAQ1Mod8", "ao0", "Current");
ch2 = addoutput(dq, "cDAQ1Mod8", "ao1", "Current");

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

Каналы NI 9265 имеют область значений от 0 до 20 мА. Произведите пандус от 0 до 20 мА на канале 1 и постоянных 10 мА на канале 2. Для каждой формы волны используйте достаточно точек, чтобы сгенерировать 10 секунд выходных данных в заданной частоте развертки.

n = 10 * dq.Rate;
data1 = linspace(20e-6, 20e-3, n)';
data2 = repmat(10e-3, n, 1);
data = [data1 data2];
plot(1:n, data)
grid on
xlabel('Data Points')
ylabel('A')
legend('data1','data2')

Сгенерируйте канал Выход

Используйте write сгенерировать выходные формы волны.

write(dq, data)

Изменение длительности Выхода

Чтобы уменьшать длительность выхода, увеличьте частоту развертки генерации. В течение одной секунды выхода измените Rate к количеству отсчетов в скане.

dq.Rate = n;
write(dq, data)