Получите встречные входные данные

Добавьте встречный входной канал

Использование 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:

  • Измерение количества ребра

  • Данные об аналоговом входе