Использование 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:
Измерение количества ребра
Данные об аналоговом входе