Получите Данные из Нескольких Каналов с помощью Устройств MCC

Этот пример показывает, как получить данные из нескольких каналов аналогового входа с устройствами MCC с помощью основанного на сеансе интерфейса.

Настройка оборудования

Этот пример использует Измерение, Вычисляя устройство USB-1608GX-2AO к данным логов от каналов аналогового входа 0 и 9, которые соединяются с выходными параметрами функционального преобразователя.

Узнайте доступные устройства

Используйте функцию daq.getDevices, чтобы отобразить список устройств, доступных вашей машине и MATLAB®.

devices = daq.getDevices
devices = 

Data acquisition devices:

index Vendor Device ID                 Description                
----- ------ --------- -------------------------------------------
1     ni     Dev1      National Instruments USB-6255
2     mcc    Board0    Measurement Computing Corp. USB-1208FS-Plus
3     mcc    Board1    Measurement Computing Corp. USB-1608GX-2AO
4     mcc    Board2    Measurement Computing Corp. USB-1604HS-2AO
5     mcc    Board3    Measurement Computing Corp. USB-1608FS-Plus
6     mcc    Board4    Measurement Computing Corp. USB-1616FS


Изучите детали устройства

Чтобы узнать больше об отдельном устройстве, кликните по имени устройства в списке в Командном окне или получите доступ к устройству в массиве, возвращенном функцией daq.getDevices.

devices(3)
ans = 

mcc: Measurement Computing Corp. USB-1608GX-2AO (Device ID: 'Board1')
   Analog input subsystem supports:
      4 ranges supported
      Rates from 0.1 to 500000.0 scans/sec
      16 channels ('Ai0' - 'Ai15')
      'Voltage' measurement type
   
   Analog output subsystem supports:
      -10 to +10 Volts range
      Rates from 0.1 to 500000.0 scans/sec
      2 channels ('Ao0','Ao1')
      'Voltage' measurement type
   


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

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

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

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

  3. Если устройство не поддерживает несколько терминальных настроек через каналы, гарантирует, что терминальная настройка добавленных каналов является тем же самым.

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

Функция daq.createSession создает сеанс. Сеанс содержит информацию, описывающую оборудование, частоту развертки, длительность и другие свойства, сопоставленные с приобретением. Создайте сеанс и присвойте его переменной.

s = daq.createSession('mcc')
s = 

Data acquisition session using Measurement Computing Corp. hardware:
   Will run for 1 second (1000 scans) at 1000 scans/second.
   No channels have been added.
   

По умолчанию сеанс сконфигурирован для 1 000 сканирований в секунду и длительности одной секунды. В данном примере примите эти значения по умолчанию.

Функция addAnalogInputChannel добавляет канал аналогового входа в сеанс. Можно добавить больше чем один канал в сеанс.

ch1 = addAnalogInputChannel(s,'Board1',0,'Voltage');
ch2 = addAnalogInputChannel(s,'Board1',9,'Voltage');
Warning: Vendor Driver command failed and returned
Status code: 33031
Diagnostic: 'To perform any operation on this device, all channels in this
subsystem must have the same terminal configuration setting'
. 

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

s
s = 

Data acquisition session using Measurement Computing Corp. hardware:
   Will run for 1 second (1000 scans) at 1000 scans/second.
   Number of channels: 2
      index Type Device Channel   MeasurementType        Range       Name
      ----- ---- ------ ------- ------------------- ---------------- ----
      1     ai   Board1 Ai0     Voltage (Diff)      -10 to +10 Volts
      2     ai   Board1 Ai9     Voltage (SingleEnd) -10 to +10 Volts
   

Если устройство не поддерживает установку терминальной настройки на канал, гарантирует, что терминальная настройка добавленных каналов является тем же самым.

ch1.TerminalConfig = 'SingleEnded'
ch1 = 

Data acquisition analog input voltage channel 'Ai0' on device 'Board1':

       Coupling: DC
 TerminalConfig: SingleEnded
          Range: -10 to +10 Volts
           Name: ''
             ID: 'Ai0'
         Device: [1x1 daq.sdk.DeviceInfo]
MeasurementType: 'Voltage'


Сеанс должен теперь посмотреть можно следующим образом:

s
s = 

Data acquisition session using Measurement Computing Corp. hardware:
   Will run for 1 second (1000 scans) at 1000 scans/second.
   Number of channels: 2
      index Type Device Channel   MeasurementType        Range       Name
      ----- ---- ------ ------- ------------------- ---------------- ----
      1     ai   Board1 Ai0     Voltage (SingleEnd) -10 to +10 Volts
      2     ai   Board1 Ai9     Voltage (SingleEnd) -10 to +10 Volts
   

Функция startForeground запускает приобретение и возвращает результаты.

[data, timestamps] = startForeground(s);

Сеанс получил 1 000 сканирований. Отобразите полученные данные на графике:

plot(timestamps, data)
xlabel('Time (s)')
ylabel('Voltage (V)')

Измените свойства по умолчанию приобретения

По умолчанию, сеансы, запущенные в течение одной секунды на 1 000 сканирований в секунду. Чтобы получить на более высоком уровне в течение более длительного времени, измените свойства Rate и DurationInSeconds.

s.Rate = 5000;
s.DurationInSeconds = 2;
s
s = 

Data acquisition session using Measurement Computing Corp. hardware:
   Will run for 2 seconds (10000 scans) at 5000 scans/second.
   Number of channels: 2
      index Type Device Channel   MeasurementType        Range       Name
      ----- ---- ------ ------- ------------------- ---------------- ----
      1     ai   Board1 Ai0     Voltage (SingleEnd) -10 to +10 Volts
      2     ai   Board1 Ai9     Voltage (SingleEnd) -10 to +10 Volts
   

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

data = startForeground(s);
plot(data)
xlabel('Time (s)')
ylabel('Voltage (V)')

Для просмотра документации необходимо авторизоваться на сайте