Измерьте ширину импульса Используя устройства NI

В этом примере показано, как измерить ширину активного высокого импульса. Датчик используется, чтобы измерить расстояние от точки: ширина импульса коррелируется с измеренным расстоянием.

Создайте встречный входной канал

Создайте DataAcquisition и добавьте встречный входной канал с PulseWidth тип измерения. В данном примере используйте шасси NI c9178 CompactDAQ и модуль NI 9402 с ID cDAQ1Mod5.

dq = daq("ni");
ch = addinput(dq, "cDAQ1Mod5", "ctr0", "PulseWidth");

Определите терминал встречного входного канала

Чтобы соединить входной сигнал с правильным терминалом, исследуйте Terminal свойство канала. Терминал определяется оборудованием.

ch.Terminal
ans =

    'PFI1'

Измерьте расстояние

Чтобы определить, является ли счетчик операционным, получите один скан. Датчик генерирует высокий импульс ширины 0,0010 секунды, соответствующие расстояние одного метра.

1000*read(dq, "OutputFormat", "Matrix")
ans =

     5

Измеряйте расстояние в зависимости от времени

Используйте аппаратные часы, чтобы получать несколько встречных измерений в зависимости от времени. Устройства счетчика NI требуют внешнего таймера. Путем добавления канала аналогового входа для модуля на том же шасси внутренние часы совместно используются с обоими модулями.

dq = daq("ni");
addinput(dq, "cDAQ1Mod1", "ai0", "Voltage");
addinput(dq, "cDAQ1Mod5", "ctr0", "PulseWidth");

dq.Rate = 1;
data = read(dq, seconds(10));
plot(data.Time, 1000*data.cDAQ1Mod5_ctr0);