В этом примере показано, как получить данные из нескольких каналов аналогового входа с устройством MCC.
Этот пример использует Измерение, Вычисляя устройство USB-1608FS-Plus к данным логов от каналов аналогового входа 0 и 9, которые соединяются с выходными параметрами функционального преобразователя.
Узнайте устройства, соединенные к вашей системе с помощью daqlist
.
d = daqlist("mcc")
d = 1×4 table DeviceID Description Model DeviceInfo ________ _____________________________________________ _________________ ________________________ "Board0" "Measurement Computing Corp. USB-1608FS-Plus" "USB-1608FS-Plus" [1×1 daq.sdk.DeviceInfo]
daqlist
функция показывает вам обзор доступных устройств. Можно найти дополнительные детали устройства путем рассмотрения DeviceInfo
поле таблицы.
deviceInfo = d{1, "DeviceInfo"}
deviceInfo = mcc: Measurement Computing Corp. USB-1608FS-Plus (Device ID: 'Board0') Analog input supports: 4 ranges supported Rates from 0.1 to 100000.0 scans/sec 8 channels ('Ai0' - 'Ai7') 'Voltage' measurement type
daq
функция создает объект DataAcquisition. DataAcquisition содержит информацию, описывающую оборудование, частоту развертки и другие свойства, сопоставленные с захватом.
dq = daq("mcc") % The |addinput| function adds an analog input channel to % the DataAcquisition. You can add more than one channel to a % DataAcquisition. ch1 = addinput(dq, "Board0", 0, "Voltage"); ch2 = addinput(dq, "Board0", 1, "Voltage");
dq = DataAcquisition using Measurement Computing Corp. hardware: Running: 0 Rate: 1000 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit: [] Show channels Show properties and methods
read
функция запускает захват и возвращает результаты как расписание.
data = read(dq, seconds(1));
plot(data.Time, data.Board0_Ai0, data.Time, data.Board0_Ai1); xlabel('Time (s)'); ylabel('Voltage (V)');
По умолчанию, захваты, запущенные в течение одной секунды при 1 000 сканов в секунду. Чтобы получить на различном уровне, измените Rate
свойство.
dq.Rate = 10000; [data, startTime] = read(dq, seconds(1)); plot(data.Time, data.Board0_Ai0, data.Time, data.Board0_Ai1); xlabel('Time (s)'); ylabel('Voltage (V)');