В этом примере показано, как настроить и запустить приобретение нескольких триггеров во внешнем событии. В этом случае устройство сконфигурировано для начала сбора данных по сигналу переднего ребра.
Создайте объект DataAcquisition и добавьте аналоговый входной канал с Voltage тип измерения, с использованием NI PCIe 6363, с идентификатором Dev4.
dq = daq("ni"); addinput(dq,"Dev4","ai0","Voltage");
Сконфигурируйте устройство для получения данных о внешнем триггере. Триггер, который запускает приобретение, называется Start Trigger. В этом примере коммутатор подключен к терминалу PFI0 на устройстве Dev4. Представление этого физического соединения (между коммутатором и терминалом PFI0) как пусковой триггер.
Добавьте триггер цифрового запуска
Триггер имеет тип триггера (Digital). Допустимое значение для Digital тип триггера StartTrigger.
Триггер имеет источник и пункт назначения. В этом примере источником является switch (выберите '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 для получения сканов при получении каждого сконфигурированного триггера цифрового запуска. Специфическая последовательность событий:
Запуск DataAcquisition
Одна секунда фактического приобретения начинается после получения первого триггера, если период тайм-аута не истекает
Одна секунда фактического приобретения начинается после получения второго триггера, если период тайм-аута не истекает
Данные возвращаются
[data, startTime] = read(dq, seconds(1));
Наблюдайте разрыв на основе времени между двумя запусками триггера.
plot(data.Time, data.Variables, '.')
