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