Использование addinput добавить канал, который получает количества ребра от устройства. Можно получить сингл входные данные или массив путем получения на переднем плане. Для получения дополнительной информации смотрите Интерфейсный Рабочий процесс.
В этом примере показано, как получить одно количество падающих ребер от NI 9402 с ID устройства 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 с ID устройства 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 с ID устройства 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 на том же шасси с ID устройства cDAQ1Mod1. В качестве альтернативы канал аналогового входа мог быть на том же устройстве как встречный канал.
addinput(d,"cDAQ1Mod1","ai1","Voltage");
Шаг 4. Получите данные и присвойте их переменной data, и постройте результаты.
data = read(d,seconds(1),"OutputFormat","Matrix"); plot(data)
График отображает результаты обоих каналов в DataAcquisition:
Измерение количества ребра
Данные об аналоговом входе