Использовать addinput
добавление канала, который получает счетчики ребер от устройства. Можно получить единственные входные данные или массив путем получения на переднем плане. Дополнительные сведения см. в разделе Рабочий процесс интерфейса.
В этом примере показано, как получить один счетчик падающих ребер от NI 9402 с идентификатором устройства cDAQ1Mod5
. Пример принимает, что некоторый внешний источник обеспечивает вход в канал счетчика, и что счетчик накапливается с течением времени. Вы можете считать накопленное количество в один момент времени, затем сбросить счетчик и прочитать его снова в более позднее время.
Шаг 1. Создайте объект DataAcquisition, присвоенный переменной d
.
d = daq("ni");
Шаг 2. Добавьте входной канал счетчика с типом измерения счетчика ребер.
ch = addinput(d,"cDAQ1Mod5","ctr0","EdgeCount")
ch = Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ________________ _____ ________________ 1 "ci" "cDAQ1Mod5" "ctr0" "EdgeCount" "n/a" "cDAQ1Mod5_ctr0"
Шаг 3. Измените канал ActiveEdge
свойство к 'Falling'
и просмотрите свойства канала, чтобы увидеть изменение.
ch.ActiveEdge = 'Falling';
get(ch)
ActiveEdge: Falling CountDirection: Increment InitialCount: 0 Terminal: 'PFI0' SampleTimingType: 10388 Name: 'cDAQ1Mod5_ctr0' ID: 'ctr0' Device: [1x1 daq.ni.DeviceInfo] MeasurementType: 'EdgeCount'
Шаг 4. Получите один скан считывание буфера счетчика.
count = read(d)
count = 133
Шаг 5. Сбросьте счетчики из начального счетчика и получите обновленное значение счетчика. Это значение является количеством обнаружений с момента сброса счетчика.
resetcounters(d); count = read(d)
count = 71
Этот пример показывает, как получить один скан частоты измерения от NI 9402 с идентификатором устройства cDAQ1Mod5
.
Шаг 1. Создайте объект DataAcquisition.
d = daq("ni");
Шаг 2. Добавьте встречный канал с типом измерения.
addinput(d,"cDAQ1Mod5","ctr0","Frequency")
Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ________________ _____ ________________ 1 "ci" "cDAQ1Mod5" "ctr0" "Frequency" "n/a" "cDAQ1Mod5_ctr0"
Шаг 3. Получите один скан данных счетчика.
f = read(d,"OutputFormat","Matrix")
f = 9.5877e+003
Этот пример показывает, как получить данные переднего ребра от NI 9402 с идентификатором устройства cDAQ1Mod5
, и постройте график полученных данных.
Шаг 1. Создайте объект DataAcquisition.
d = daq("ni");
Шаг 2. Добавьте входной канал счетчика с типом измерения счетчика ребер.
addinput(d,"cDAQ1Mod5","ctr0","EdgeCount")
Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ________________ _____ ________________ 1 "ci" "cDAQ1Mod5" "ctr0" "EdgeCount" "n/a" "cDAQ1Mod5_ctr0"
Шаг 3. Добавьте аналоговый входной канал для типа измерения напряжения.
Канал входа счетчика требует внешнего синхроимпульса для выполнения захвата переднего плана. Если у вас нет внешнего синхроимпульса, добавьте аналоговый входной канал от синхроимпульса на том же корпусе CompactDAQ к DataAcquisition. Этот пример использует устройство NI 9205 на том же корпусе с идентификатором устройства cDAQ1Mod1
. Альтернативно, аналоговый входной канал может находиться на том же устройстве, что и встречный канал.
addinput(d,"cDAQ1Mod1","ai1","Voltage");
Шаг 4. Получите данные и присвойте их переменной data
, и постройте график результатов.
data = read(d,seconds(1),"OutputFormat","Matrix"); plot(data)
График отображает результаты из обоих каналов в DataAcquisition:
Измерение числа ребер
Аналоговые входные данные