В этом примере показано, как получить данные о напряжении со скоростью 300 кГц. Сигнал входа является синусоидой (10 Гц, 2 Vpp), обеспечиваемой внешним генератором функции.
Обнаружение устройств Digilent, подключенных к вашей системе с помощью daqlist
.
daqlist("digilent") dq = daq("digilent")
ans = 1×4 table DeviceID Description Model DeviceInfo ________ _____________________________________________ ____________________ _______________________ "AD1" "Digilent Inc. Analog Discovery 2 Kit Rev. C" "Analog Discovery 2" [1×1 daq.di.DeviceInfo] dq = DataAcquisition using Digilent Inc. hardware: Running: 0 Rate: 10000 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit: [] Show channels Show properties and methods
Добавьте аналоговый входной канал с идентификатором устройства AD1
и идентификатор канала 1
. Установите тип измерения равным Voltage
.
ch_in = addinput(dq, "AD1", "1", "Voltage");
Установите скорость захвата 300 кГц и динамическая область значений входного сигнала от -2,5 до 2,5 вольт.
ch_in.Name = "AD1_1_in"
rate = 300e3;
dq.Rate = rate;
ch_in.Range = [-2.5 2.5];
ch_in = Index Type Device Channel Measurement Type Range Name _____ ____ ______ _______ ________________ __________________ __________ 1 "ai" "AD1" "1" "Voltage (Diff)" "-25 to +25 Volts" "AD1_1_in"
Получите один скан по запросу, отобразив данные и запустив время.
[singleReading, startTime] = read(dq)
singleReading = timetable Time AD1_1_in _____ ________ 0 sec -0.37211 startTime = datetime 21-Nov-2019 16:56:50.631
Получите набор синхронизированных данных на одну секунду.
[data, startTime] = read(dq, seconds(1));
plot(data.Time, data.AD1_1_in); xlabel('Time (s)'); ylabel('Voltage (V)'); title(['Clocked Data Triggered on: ' datestr(startTime)]);