Этот пример покажет вам, как синхронно сгенерировать и получить данные о напряжении (на уровне 300 кГц). Вы будете использовать основанный на сеансе интерфейс с Аналоговым оборудованием Открытия Digilent.
Узнайте устройства Digilent, соединенные к вашей системе с помощью daq.getDevices
, и создайте сеанс с помощью перечисленного устройства Digilent.
s = daq.createSession('digilent')
s = Data acquisition session using Digilent Inc. hardware: Will run for 1 second (10000 scans) at 10000 scans/second. No channels have been added.
Добавьте канал аналогового выхода с ID устройства AD1
и ID канала 1
. Установите тип измерения на Voltage
.
ch_out = addAnalogOutputChannel(s,'AD1', 1, 'Voltage')
ch_out = Data acquisition analog output voltage channel '1' on device 'AD1': TerminalConfig: SingleEnded Range: -5.0 to +5.0 Volts Name: '' ID: '1' Device: [1x1 daq.di.DeviceInfo] MeasurementType: 'Voltage'
Добавьте канал аналогового входа с ID устройства AD1
и ID канала 1
. Установите тип измерения на Voltage
.
ch_in = addAnalogInputChannel(s,'AD1', 1, 'Voltage')
ch_in = Data acquisition analog input voltage channel '1' on device 'AD1': Coupling: DC TerminalConfig: Differential Range: -25 to +25 Volts Name: '' ID: '1' Device: [1x1 daq.di.DeviceInfo] MeasurementType: 'Voltage'
Установите скорость генерации (300 кГц).
rate = 300e3; s.Rate = rate;
Сгенерируйте синусоиду на 10 Гц в течение 1 секунды.
f = 10; duration = 1; t = (1:(duration*rate))/rate; output = sin(2*pi*f*t)';
Сгенерируйте поставленные в очередь данные и получите данные, к которым добавляют метку времени, на переднем плане. Для любого данного сеанса, генерации и приобретения, запущенного на том же уровне.
queueOutputData(s,output); [data, timestamps, triggerTime] = startForeground(s);
plot(timestamps, data); xlabel('Time (seconds)'); ylabel('Voltage (Volts)'); title(['Clocked Data Triggered on: ' datestr(triggerTime)])