Этот пример показывает, как начать с устройствами NI из командной строки с помощью основанного на сеансе интерфейса.
Используйте команду daq.getDevices
, чтобы отобразить список устройств, доступных вашей машине и MATLAB®.
daq.getDevices
ans = Data acquisition devices: index Vendor Device ID Description ----- ------ --------- -------------------------------- 1 ni cDAQ1Mod1 National Instruments NI 9205 2 ni cDAQ1Mod2 National Instruments NI 9263 3 ni cDAQ1Mod3 National Instruments NI 9234 4 ni cDAQ1Mod4 National Instruments NI 9201 5 ni cDAQ1Mod5 National Instruments NI 9402 6 ni cDAQ1Mod6 National Instruments NI 9213 7 ni cDAQ1Mod7 National Instruments NI 9219 8 ni cDAQ1Mod8 National Instruments NI 9265 9 ni Dev1 National Instruments PCIe-6363 10 ni Dev2 National Instruments NI ELVIS II
Чтобы узнать больше об отдельном устройстве, кликните по имени устройства в списке в Командном окне или получите доступ к устройству в массиве, возвращенном командой daq.getDevices
.
d = daq.getDevices; d(2)
ans = ni: National Instruments NI 9263 (Device ID: 'cDAQ1Mod2') Analog output subsystem supports: -10 to +10 Volts range Rates from 0.6 to 100000.0 scans/sec 4 channels ('ao0','ao1','ao2','ao3') 'Voltage' measurement type This module is in slot 2 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.
Получать данные:
Создайте сеанс, описывающий операцию, чтобы выполнить
Добавьте входные каналы в сеанс
Запустите приобретение
Команда daq.createSession
создает сеанс. Сеанс содержит информацию, описывающую оборудование, частоту развертки, длительность и другие свойства, сопоставленные с приобретением. Создайте сеанс и присвойте его переменной.
s = daq.createSession('ni')
s = Data acquisition session using National Instruments hardware: Will run for 1 second (1000 scans) at 1000 scans/second. No channels have been added.
По умолчанию сеанс сконфигурирован для 1 000 сканирований в секунду и длительности одной секунды. В целях этого примера примите эти значения по умолчанию.
Команда addAnalogInputChannel
присоединяет канал аналогового входа к сеансу. Можно добавить больше чем один канал в сеанс. В целях этого примера добавьте всего один.
addAnalogInputChannel(s,'cDAQ1Mod1',0,'Voltage'); s
s = Data acquisition session using National Instruments hardware: Will run for 1 second (1000 scans) at 1000 scans/second. Number of channels: 1 index Type Device Channel MeasurementType Range Name ----- ---- --------- ------- --------------- ---------------- ---- 1 ai cDAQ1Mod1 ai0 Voltage (Diff) -10 to +10 Volts
Команда startForeground
запускает приобретение и возвращает результаты.
data = s.startForeground();
Вы получили 1 000 сканирований. Отобразите полученные данные на графике:
plot(data)
По умолчанию, сеансы, запущенные в течение одной секунды на 1 000 сканирований в секунду. Чтобы получить на более высоком уровне в течение более длительного времени, измените свойства Rate
и DurationInSeconds
.
s.Rate = 5000; s.DurationInSeconds = 2; s
s = Data acquisition session using National Instruments hardware: Will run for 2 seconds (10000 scans) at 5000 scans/second. Number of channels: 1 index Type Device Channel MeasurementType Range Name ----- ---- --------- ------- --------------- ---------------- ---- 1 ai cDAQ1Mod1 ai0 Voltage (Diff) -10 to +10 Volts
Запустите приобретение и отобразите полученные данные на графике:
data = s.startForeground(); plot(data)