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

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

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

Создайте DataAcquisition и добавьте входной канал счетчика с PulseWidth тип измерения. В данном примере используйте корпус CompactDAQ NI c9178 и модуль NI 9402 с идентификационными 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);