Чтобы задать тип триггера, вы хотите выполнить, установить значение TriggerType
свойство объекта ввода видео. Необходимо использовать triggerconfig
функционируйте, чтобы установить значение этого свойства. В следующей таблице перечислены все триггерные типы, поддержанные тулбоксом с информацией о том, когда использовать каждый тип триггера.
Сравнение триггерных типов
Значение TriggerType | TriggerSource и значения TriggerCondition | Описание |
---|---|---|
| Всегда | Триггер происходит автоматически, сразу после |
| Всегда | Триггер происходит, когда вы выпускаете |
| Специфичный для устройства | Аппаратные триггеры являются внешними сигналами, которые обрабатываются непосредственно оборудованием. Этот тип триггера используется, когда синхронизация с другим устройством является частью настройки получения изображений или когда скорость требуется. Аппаратное устройство может обработать входной сигнал намного быстрее, чем программное обеспечение. Для получения дополнительной информации смотрите Используя Аппаратный Триггер. ПримечаниеТолько подмножество устройств получения изображений поддерживает аппаратные триггеры. Чтобы определить триггерные типы, поддержанные вашим устройством, смотрите Определение Допустимых Настроек. |
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB®. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.
Чтобы использовать мгновенный триггер, просто создайте объект ввода видео. Мгновенное инициирование является триггерным типом по умолчанию для всех объектов ввода видео. С мгновенным триггером объект сразу выполняет триггер после того, как вы запустите объект, запускающийся с start
команда. Следующая фигура иллюстрирует мгновенный триггер.
Мгновенный триггер
Следующий пример иллюстрирует, как использовать мгновенный триггер:
Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений Matrox®. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo
функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.
vid = videoinput('matrox',1);
Проверьте, что объект не получил систем координат.
vid.FramesAcquired ans = 0
Сконфигурируйте свойства — Чтобы использовать мгновенный триггер, вы не должны конфигурировать TriggerType
свойство, потому что 'immediate'
триггерный тип по умолчанию. Можно проверить это при помощи triggerconfig
функционируйте, чтобы просмотреть текущую триггерную настройку или путем просмотра свойств объекта ввода видео.
triggerconfig(vid) ans = TriggerType: 'immediate' TriggerCondition: 'none' TriggerSource: 'none'
Этот пример устанавливает значение FramesPerTrigger
свойство к 5
. (Значением по умолчанию являются 10 систем координат на триггер.)
vid.FramesPerTrigger = 5
Запустите объект получения изображений — Вызов start
функционируйте, чтобы запустить объект получения изображений. По умолчанию объект выполняет мгновенный триггер и получает пять систем координат данных, регистрируя данные к буферу памяти. После логгирования конкретного количества систем координат объект прекращает запускаться.
start(vid)
Чтобы проверить, что объект получил данные, просмотрите значение FramesAcquired
свойство. Обновления объекта значение этого свойства, когда это получает данные.
vid.FramesAcquired ans = 5
Чтобы выполнить другой мгновенный триггер, необходимо перезапустить объект. Обратите внимание, однако, что это удаляет данные, полученные первым триггером. Чтобы выполнить несколько мгновенных триггеров, задайте значение для TriggerRepeat
свойство. Смотрите Определение Нескольких Триггеров для получения дополнительной информации.
Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.
delete(vid) clear vid
Чтобы использовать ручной триггер, создайте объект ввода видео и установите значение TriggerType
свойство к 'manual'
. Объект ввода видео выполняет ручной триггер после того, как вы выпустите trigger
функция. Следующая фигура иллюстрирует ручной триггер.
Ручной триггер
Следующий пример иллюстрирует, как использовать ручной триггер:
Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений веб-камеры. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo
функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.
vid = videoinput('winvideo',1);
Проверьте, что объект не получил систем координат.
vid.FramesAcquired ans = 0
Сконфигурируйте свойства — Набор объект ввода видео TriggerType
свойство к 'Manual'
. Устанавливать значения определенных триггерных свойств, включая TriggerType
свойство, необходимо использовать triggerconfig
функция. Смотрите Устанавливание Значений Trigger Properties для получения дополнительной информации.
triggerconfig(vid, 'Manual')
Этот пример также устанавливает значение FramesPerTrigger
свойство к 5
. (Значением по умолчанию являются 10 систем координат на триггер.)
vid.FramesPerTrigger = 5
Запустите объект получения изображений — Вызов start
функционируйте, чтобы запустить объект получения изображений.
start(vid);
Видео объект теперь запускает, но не регистрирует. С ручными триггерами начинается видеопоток, когда объект запускается, но никакие системы координат не получены, пока триггер не выполняется.
isrunning(vid) ans = 1 islogging(vid) ans = 0
Проверьте, что объект все еще не получил систем координат.
vid.FramesAcquired ans = 0
Выполните ручной триггер — Вызов trigger
функция, чтобы выполнить ручной триггер.
trigger(vid)
Объект инициирует приобретение пяти систем координат. Проверяйте FramesAcquired
свойство снова, чтобы проверить, что были получены пять систем координат.
vid.FramesAcquired ans = 5
После того, как это получит конкретное количество систем координат, объект ввода видео прекращает запускаться.
isrunning(vid) ans = 0
Чтобы выполнить другой ручной триггер, необходимо сначала перезапустить объект ввода видео. Обратите внимание на то, что это удаляет системы координат, полученные первым триггером. Чтобы выполнить несколько ручных триггеров, задайте значение для TriggerRepeat
свойство. Смотрите Определение Нескольких Триггеров для получения дополнительной информации.
Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.
delete(vid) clear vid
Чтобы использовать аппаратный триггер, создайте объект ввода видео и установите значение TriggerType
свойство к 'hardware'
. Необходимо также задать источник аппаратного триггера и типа условия. Оборудование контролирует источник, который вы задаете для условия, которое вы задаете. Следующая фигура иллюстрирует аппаратный триггер. Для аппаратных триггеров не запускается видеопоток, пока триггер не происходит.
Инициируйте источники и условия, что аппаратные триггеры управления являются конкретным устройством. Используйте triggerinfo
функция, чтобы определить, поддерживает ли ваше устройство получения изображений аппаратные триггеры и, если это делает, какие условия можно сконфигурировать. Обратитесь к документации, которая шла с вашим устройством для более подробной информации о его аппаратных возможностях инициирования.
Аппаратный триггер
Следующий пример иллюстрирует, как использовать аппаратный триггер:
Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений Matrox. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo
функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код. Устройство должно поддержать аппаратные триггеры.
vid = videoinput('matrox',1);
Определите допустимые триггерные настройки свойства — Использование triggerinfo
функция, чтобы определить, поддерживает ли ваше устройство получения изображений аппаратные триггеры, и если это делает, чтобы узнать допустимые настройки TriggerSource
и TriggerCondition
свойства. Смотрите Определение Допустимых Настроек для получения дополнительной информации.
В этом примере, triggerinfo
возвращает следующие допустимые триггерные настройки.
triggerinfo(vid) Valid Trigger Configurations: TriggerType: TriggerCondition: TriggerSource: 'immediate' 'none' 'none' 'manual' 'none' 'none' 'hardware' 'risingEdge' 'TTL' 'hardware' 'fallingEdge' 'TTL'
Сконфигурируйте свойства — Конфигурируют триггерные свойства объекта ввода видео к одной из допустимых комбинаций, возвращенных triggerinfo
. Можно задать каждое значение свойства в качестве аргумента к triggerconfig
функция
triggerconfig(vid, 'hardware','risingEdge','TTL')
В качестве альтернативы можно установить эти значения путем передачи одной из структур, возвращенных triggerinfo
функционируйте к triggerconfig
функция.
configs = triggerinfo(vid); triggerconfig(vid,configs(3));
Этот пример также устанавливает значение FramesPerTrigger
свойство к 5
. (Значением по умолчанию являются 10 систем координат на триггер.)
vid.FramesPerTrigger = 5
Запустите объект получения изображений — Вызов start
функционируйте, чтобы запустить объект получения изображений.
start(vid)
Объект запускает, но не регистрирует любые данные.
isrunning(vid) ans = 1 islogging(vid) ans = 0
Оборудование начинает контролировать триггерный источник для заданного условия. Когда условие соблюдают, оборудование выполняет триггер и начинает предоставлять фреймы изображения объекту. Объект получает количество систем координат, заданных FramesPerTrigger
свойство. Просмотрите значение FramesAcquired
свойство, чтобы видеть, как много данных было получено. Обновления объекта значение этого свойства, когда это получает данные.
vid.FramesAcquired ans = 5
После того, как это выполнит триггер и получит конкретное количество систем координат, объект ввода видео прекращает запускаться.
isrunning(vid) ans = 0
Чтобы выполнить другой аппаратный триггер, необходимо сначала перезапустить объект ввода видео. Обратите внимание на то, что это удаляет системы координат, полученные первым триггером. Чтобы выполнить несколько триггеров, задайте значение для TriggerRepeat
свойство. Смотрите Определение Нескольких Триггеров для получения дополнительной информации.
Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.
delete(vid) clear vid
Можно теперь использовать все триггерные режимы и все триггерные входные параметры это поддержка камер DCAM. Предыдущие релизы тулбокса поддержали только триггерный режим 0
. Поддержка дополнительных триггерных режимов и входных параметров не влияет ни на какой существующий код, который вы используете.
Управляйте триггерной функциональностью с помощью triggerinfo
и triggerconfig
функции и triggersource
свойство. Перед R2010a, одним triggersource
было доступно, externalTrigger
. Выбор externalTrigger
конфигурирует камеру, чтобы использовать триггерный режим 0
с триггерным источником 0
.
triggersource
свойство теперь состоит из триггерного типа (внутренний или внешний), триггерный источник (0, 1, 2, и т.д.), и номер режима (0 до 5, 14 и 15). Следующая таблица обобщает опции.
Инициируйте режим | Параметр | Внешний источник | Несколько систем координат на триггер |
---|---|---|---|
0 | 'none' | да | да |
1 | 'none' | да | нет |
2 | (N> = 2) | да | нет |
3 | (N> = 1) | нет | да |
4 | (N> = 1) | да | нет |
5 | (N> = 1) | да | нет |
14 | неизвестный | неизвестный | неизвестный |
15 | неизвестный | неизвестный | неизвестный |
Например, второй triggersource
для триггерного режима 1 называется externalTrigger1-mode1
. Использовать режим 3, triggersource
internalTrigger-mode3
.
Версии тулбокса перед R2010a поддержали триггерный режим DCAM 0 с первым доступным triggersource
как externalTrigger
. Существующий externalTrigger
свойство будет обеспечено так, чтобы предотвратить проблемы обратной совместимости. Кроме того, для того, чтобы сохранить симметрию с новой функциональностью, triggersource externalTrigger0-mode0
, то, которое синонимично, будет также поддерживаться. Новые триггерные режимы не работают перед R2010a.
Указания по применению
Если триггерный режим имеет несколько триггерных источников (режимы 0
, 1, 2
, 4
, и
5
), затем triggersource
имеет цифру, указывающую на соответствующий источник камеры, даже если только один источник камеры доступен. Например, если камера имеет только один triggersource
доступный, тулбокс сообщает о triggersource
назовите как externalTrigger0-modeX
. Если триггерный режим не имеет многочисленных источников (режим 3
), затем никакая исходная цифра не появляется на имя (т.е., internalTriggerMode3
вместо internalTriggerMode3-Source0
).
Адаптер DCAM включает TriggerParameter
свойство, которое передается камере, когда вы устанавливаете триггерные настройки. TriggerParameter
свойство подтверждено, когда вы вызываете START
после выбора оборудования инициировали режим.
Если выбранный триггерный режим запрещает несколько систем координат на триггер, то ошибка появляется, когда вы вызываете START
без установки FramesPerTrigger
к 1
.
Если камера поддерживает только триггерный режим 0
с источником 0
, затем исходная функциональность наличия только externalTrigger triggersource
поддерживается.
Инициируйте режимы 14, и 15 специфичны для поставщика и приняты, чтобы быть внешними триггерами и не иметь никаких ограничений ни на какие настройки. Необходимо подтвердить любые настройки, которые вы используете.
Следующие разделы детализируют триггерные режимы.
Это - единственный триггерный режим, поддержанный перед R2010a. Когда триггер получен, система координат получена. Можно получить несколько систем координат на триггер путем переключения камеры для инициированного режима оборудования к режиму свободного доступа, когда инициированная система координат получена.
Никакой параметр не требуется.
Камера запускает интегрирование входящего света от внешнего триггерного входа, падающего ребро.
В этом режиме длительность триггерного сигнала используется, чтобы управлять временем интегрирования входящего света. Этот режим используется, чтобы синхронизировать выдержку камеры к внешнему событию.
Никакой параметр не требуется.
Камера запускает интегрирование входящего света от внешнего триггерного входа, падающего ребро. Время интегрирования равно низкому времени состояния внешнего триггерного входа если triggersource
fallingEdge
, в противном случае это равно высокому времени состояния.
Этот режим похож на режим 1
, кроме длительности триггера сигнал действительно управляет временем интегрирования. Вместо этого количество триггерных полученных сигналов делает. Интегрирование начинается на запуск первого триггерного сигнала и продолжается до запуска N
th инициировали сигнал.
Параметр N
требуется и описывает количество триггерных сигналов в интегрировании.
Камера запускает интегрирование входящего света от первого внешнего триггерного входа, падающего ребро. В N
th внешний триггерный вход, падающий ребро, остановки интегрирования. Параметр N
требуется и должен быть 2
или больше. (N> = 2).
Используйте этот внутренний триггерный режим, чтобы достигнуть более низкой частоты кадров. Когда триггер генерирует внутренне, система координат получена и возвращена. Новая система координат не получена за N
x Tf, когда N
параметр, и Tf является временем цикла самой быстрой частоты кадров, поддержанной камерой.
Параметр требуется, аналогичен описанному выше.
Это - внутренний триггерный режим. Камера выпускает триггер внутренне, и время цикла является временами N времени цикла самой быстрой частоты кадров. Время интегрирования входящего света описано в регистре затвора. Параметр N
требуется и должен быть 1
или больше (N> = 1).
Этот режим, “несколько закрывают предварительно установленный режим”. Это похоже на режим 1, но выдержкой управляет свойство затвора. На каждом триггере свойство затвора задает длительность воздействия. Когда триггеры N получены, система координат получена.
Параметр N
требуется и описывает количество триггеров.
Камера запускает интегрирование входящего света от первого внешнего триггерного входа, падающего ребро, и отсоединяет входящий свет во время затвора. Повторите эту последовательность, пока Энный внешний триггер не введет падающее ребро, затем закончит интегрирование. Параметр N
требуется и должен быть 1
или больше (N> = 1).
Этот режим, “несколько закрывают режим ширины импульса”. Это - комбинация режимов 1 и 2. Выдержкой управляет длительность триггерного сигнала, и много триггерных сигналов могут быть интегрированы в одно считывание. Если триггерным параметром является 1
, этот режим является вырожденным с режимом 1.
Параметр требуется. Параметр описывает количество триггеров.
Камера запускает интегрирование входящего света от сначала внешнего триггерного входа, падающего ребро, и отсоединяет входящий свет, пока триггер не неактивен. Повторите эту последовательность, пока Энный внешний триггер не введет падающее ребро, затем закончит интегрирование. Параметр N
требуется и должен быть 1
или больше (N> = 1).
Это - специфичный для поставщика режим, и никакая информация не доступна. Консультируйтесь с документацией для своей камеры.
Это - специфичный для поставщика режим, и никакая информация не доступна. Консультируйтесь с документацией для своей камеры.