Этот пример показывает, как измерить ширину активного высокого импульса. Для измерения расстояния от точки используется датчик: ширина импульса коррелирует с измеренным расстоянием.
Создайте 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);