Начало работы с устройствами NI

В этом примере показано, как начать с устройствами 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'.


Получите данные

Получать данные:

  1. Создайте сеанс, описывающий операцию, чтобы выполнить

  2. Добавьте входные каналы в сеанс

  3. Запустите приобретение

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)