В этом примере показано, как измерить ширину активного высокого импульса. Датчик используется, чтобы измерить расстояние от точки. Ширина импульса коррелирует к фактическому измеренному расстоянию.
Создайте Сеанс DAQ и добавьте встречный входной канал с PulseWidth
тип измерения. В данном примере используйте шасси NI c9178 CompactDAQ и модуль NI 9402 с ID cDAQ1Mod5.
s = daq.createSession('ni'); addCounterInputChannel(s,'cDAQ1Mod5', 'ctr0', 'PulseWidth'); s
s = Data acquisition session using National Instruments hardware: Will run for 1 second (1000 scans) at 1000 scans/second. Number of channels: 1 index Type Device Channel MeasurementType Range Name ----- ---- --------- ------- --------------- ----- ---- 1 ci cDAQ1Mod5 ctr0 PulseWidth n/a
Чтобы соединить входной сигнал с правильным терминалом, исследуйте Terminal
свойство канала. Терминал определяется оборудованием.
s.Channels(1).Terminal
ans = 1×4 char array PFI1
Чтобы определить, является ли счетчик операционным, вводит одно сканирование. Датчик вывел высокий импульс ширины 0,0010 секунды, соответствующие расстояние одного метра.
s.inputSingleScan() * 1000
ans = 5
Используйте аппаратные часы, чтобы получать несколько встречных измерений в зависимости от времени. Устройства счетчика NI требуют внешнего таймера. Путем добавления канала аналогового входа для модуля на том же шасси сеанс совместно использует внутренние часы с обоими модулями.
s = daq.createSession('ni'); addAnalogInputChannel(s,'cDAQ1Mod1', 0, 'Voltage'); addCounterInputChannel(s,'cDAQ1Mod5', 0, 'PulseWidth'); s.DurationInSeconds = 10; s.Rate = 1; [data, time] = s.startForeground(); plot(time, data(:,2)*1000);