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