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

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

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

Создайте сеанс и добавьте канал аналогового входа с 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