Этот пример показывает, как настроить и запустить мультитриггерное приобретение на внешнем событии. Сконфигурируйте свое устройство, чтобы начать получать данные, когда вы поражаете переключатель, который отправляет возрастающий сигнал ребра в ваше устройство.
Создайте сеанс и добавьте канал аналогового входа с типом измерения Voltage
, с помощью Национального Instruments® PCIe 6363, с ID Dev4
.
s = daq.createSession('ni'); addAnalogInputChannel(s,'Dev4', 0, 'Voltage');
Сконфигурируйте свое устройство, чтобы начать получать данные по внешнему событию, которое находится на внешнем триггере. Триггер, который запускает приобретение, называется Триггером Запуска. В этом примере переключатель соединен проводом к терминалу PFI0
на устройстве Dev4
. Добавьте это физическое соединение (между переключателем и терминалом PFI0
) к сеансу как триггерная связь запуска.
Добавьте запускают триггерные связи с сеансом
Триггерная связь имеет источник и место назначения. В этом примере источник является переключателем, который является внешним к сеансу. Выберите 'External'
в качестве источника. Место назначения является терминалом PFI0
на Dev4
, выберите 'PFI0/Dev4'
в качестве места назначения. Используйте addTriggerConnection
, чтобы добавить связь типа StartTrigger
addTriggerConnection(s,'External','Dev4/PFI0','StartTrigger');
Для быстрых сводных данных связей ввести
s.Connections
ans = Start Trigger is provided externally and will be received by 'Dev4' at terminal 'PFI0'. TriggerType: 'Digital' TriggerCondition: RisingEdge Source: 'External' Destination: 'Dev4/PFI0' Type: 'StartTrigger'
По умолчанию сеанс ожидает в течение 10 секунд возрастающего ребра цифровой триггер. Увеличьте тайм-аут до 30 секунд с помощью свойства ExternalTriggerTimeout
.
s.ExternalTriggerTimeout = 30;
Можно сконфигурировать сеанс, чтобы получить несколько триггеров, где сеанс отвечает на несколько внешних событий. В этом примере, набор сеанс, чтобы получить два внешних триггера. Это включило бы устройству Dev4
, чтобы начать получать, когда это получает второй триггер.
s.TriggersPerRun = 2;
Используйте команду startForeground
, чтобы запустить приобретение.
[data,timeStamps,triggerTime] = s.startForeground();
plot(timeStamps,data,'.')
Вы будете видеть, что разрыв на основе времени между этими двумя инициировать запускается.
Абсолютное время первого триггера возвращено startForeground
в переменной triggerTime
. triggerTime
является MATLAB последовательная метка времени даты. Используйте основные операции преобразования даты MATLAB, чтобы анализировать их.
datestr(triggerTime)
ans = 1×20 char array 23-Sep-2016 19:45:06