Запустите мультитриггерный захват на внешнем событии

В этом примере показано, как настроить и запустить мультитриггерный захват на внешнем событии. В этом экземпляре устройство сконфигурировано, чтобы начать получать данные по возрастающему сигналу ребра.

Создайте DataAcquisition и добавьте каналы аналогового входа

Создайте объект DataAcquisition и добавьте канал аналогового входа с Voltage тип измерения, с помощью NI PCIe 6363, с ID Dev4.

dq = daq("ni");
addinput(dq,"Dev4","ai0","Voltage");

Сконфигурируйте DataAcquisition, чтобы запуститься на внешнем триггере

Сконфигурируйте устройство, чтобы получить данные по внешнему триггеру. Триггер, который запускает захват, называется Триггером Запуска. В этом примере переключатель соединен к терминалу PFI0 на устройстве Dev4. Представляйте это физическое соединение (между переключателем и терминалом PFI0) как триггер запуска.

Добавьте цифровой триггер запуска

Триггер имеет триггерный тип (Digital). Позволенное значение для Digital триггерным типом является StartTrigger.

Триггер имеет источник и место назначения. В этом примере источник является переключателем (выберите 'External' как источник). Местом назначения является PFI0 терминал на Dev4 ('PFI0/Dev4'). Используйте addtrigger чтобы добавить это включает DataAcquisition.

addtrigger(dq,"Digital","StartTrigger","External","Dev4/PFI0");
dq.DigitalTriggers
ans = 

  DigitalTrigger with properties:

         Source: "External"
    Destination: 'Dev4/PFI0'
           Type: 'StartTrigger'
      Condition: 'RisingEdge'

Установите триггерные параметры

По умолчанию DataAcquisition ожидает в течение 10 секунд возрастающего ребра цифровой триггер. Увеличьте тайм-аут до 30 секунд с помощью DigitalTriggerTimeout свойство.

dq.DigitalTriggerTimeout = 30;

Можно сконфигурировать DataAcquisition, чтобы получить несколько триггеров, когда он должен ответить на несколько событий. В этом примере два внешних триггерных сигнала ожидаются, включая устройству Dev4 начинать получать сканы по получении второго триггера.

dq.NumDigitalTriggersPerRun = 2;

Запустите захват

Используйте read получать сканы по получении каждого сконфигурированного цифрового триггера запуска. Определенная последовательность событий:

  1. DataAcquisition запускается

  2. Одна секунда фактического захвата начинается по получении первого триггера, если период тайм-аута не истекает

  3. Одна секунда фактического захвата начинается по получении второго триггера, если период тайм-аута не истекает

  4. Данные возвращены

[data, startTime] = read(dq, seconds(1));

Отобразите данные на графике

Заметьте, что разрыв на основе времени между этими двумя инициировал, запускается.

plot(data.Time, data.Variables, '.')