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