Этот пример показывает, как получить данные из нескольких аналоговых входных каналов с помощью устройства MCC.
Этот пример использует устройство Measurement Computing 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]
The 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
The 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
The read функция запускает сбор и возвращает результаты как расписание.
data = read(dq, seconds(1));
plot(data.Time, data.Board0_Ai0, data.Time, data.Board0_Ai1); xlabel('Time (s)'); ylabel('Voltage (V)');

По умолчанию приобретения выполняются в течение одной секунды со скоростью 1000 сканов в секунду. Чтобы приобрести с другой скоростью, измените 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)');
