Определение триггерного типа

Сравнение триггерных типов

Чтобы задать тип триггера, вы хотите выполнить, установить значение TriggerType свойство объекта ввода видео. Необходимо использовать triggerconfig функционируйте, чтобы установить значение этого свойства. В следующей таблице перечислены все триггерные типы, поддержанные тулбоксом с информацией о том, когда использовать каждый тип триггера.

Сравнение триггерных типов

Значение TriggerType

TriggerSource и значения TriggerCondition

Описание

'immediate'

Всегда 'none'

Триггер происходит автоматически, сразу после start функция выпущена. Это - триггерный тип по умолчанию. Для получения дополнительной информации смотрите Используя Мгновенный Триггер.

'manual'

Всегда 'none'

Триггер происходит, когда вы выпускаете trigger функция. Ручной триггер может обеспечить больше управления получением изображений. Например, можно контролировать получаемый видеопоток, с помощью preview функция, и вручную выполняет триггер, когда вы наблюдаете конкретное условие в сцене. Для получения дополнительной информации смотрите Используя Ручной Триггер.

'hardware'

Специфичный для устройства

Аппаратные триггеры являются внешними сигналами, которые обрабатываются непосредственно оборудованием. Этот тип триггера используется, когда синхронизация с другим устройством является частью настройки получения изображений или когда скорость требуется. Аппаратное устройство может обработать входной сигнал намного быстрее, чем программное обеспечение. Для получения дополнительной информации смотрите Используя Аппаратный Триггер.

Примечание

Только подмножество устройств получения изображений поддерживает аппаратные триггеры. Чтобы определить триггерные типы, поддержанные вашим устройством, смотрите Определение Допустимых Настроек.

Примечание

Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB®. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.

Используя мгновенный триггер

Чтобы использовать мгновенный триггер, просто создайте объект ввода видео. Мгновенное инициирование является триггерным типом по умолчанию для всех объектов ввода видео. С мгновенным триггером объект сразу выполняет триггер после того, как вы запустите объект, запускающийся с start команда. Следующая фигура иллюстрирует мгновенный триггер.

Мгновенный триггер

Следующий пример иллюстрирует, как использовать мгновенный триггер:

  1. Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений Matrox®. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.

    vid = videoinput('matrox',1);

    Проверьте, что объект не получил систем координат.

    vid.FramesAcquired
    ans =
    
    	0
  2. Сконфигурируйте свойства — Чтобы использовать мгновенный триггер, вы не должны конфигурировать TriggerType свойство, потому что 'immediate' триггерный тип по умолчанию. Можно проверить это при помощи triggerconfig функционируйте, чтобы просмотреть текущую триггерную настройку или путем просмотра свойств объекта ввода видео.

    triggerconfig(vid)
    ans =
    
             TriggerType: 'immediate'
        TriggerCondition: 'none'
           TriggerSource: 'none'

    Этот пример устанавливает значение FramesPerTrigger свойство к 5. (Значением по умолчанию являются 10 систем координат на триггер.)

    vid.FramesPerTrigger = 5
  3. Запустите объект получения изображений — Вызов start функционируйте, чтобы запустить объект получения изображений. По умолчанию объект выполняет мгновенный триггер и получает пять систем координат данных, регистрируя данные к буферу памяти. После логгирования конкретного количества систем координат объект прекращает запускаться.

    start(vid)

    Чтобы проверить, что объект получил данные, просмотрите значение FramesAcquired свойство. Обновления объекта значение этого свойства, когда это получает данные.

    vid.FramesAcquired
    ans =
    
       5

    Чтобы выполнить другой мгновенный триггер, необходимо перезапустить объект. Обратите внимание, однако, что это удаляет данные, полученные первым триггером. Чтобы выполнить несколько мгновенных триггеров, задайте значение для TriggerRepeat свойство. Смотрите Определение Нескольких Триггеров для получения дополнительной информации.

  4. Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.

    delete(vid)
    clear vid

Используя ручной триггер

Чтобы использовать ручной триггер, создайте объект ввода видео и установите значение TriggerType свойство к 'manual'. Объект ввода видео выполняет ручной триггер после того, как вы выпустите trigger функция. Следующая фигура иллюстрирует ручной триггер.

Ручной триггер

Следующий пример иллюстрирует, как использовать ручной триггер:

  1. Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений веб-камеры. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.

    vid = videoinput('winvideo',1);
    

    Проверьте, что объект не получил систем координат.

    vid.FramesAcquired
    ans =
    	0
  2. Сконфигурируйте свойства — Набор объект ввода видео TriggerType свойство к 'Manual'. Устанавливать значения определенных триггерных свойств, включая TriggerType свойство, необходимо использовать triggerconfig функция. Смотрите Устанавливание Значений Trigger Properties для получения дополнительной информации.

    triggerconfig(vid, 'Manual')

    Этот пример также устанавливает значение FramesPerTrigger свойство к 5. (Значением по умолчанию являются 10 систем координат на триггер.)

    vid.FramesPerTrigger = 5
  3. Запустите объект получения изображений — Вызов start функционируйте, чтобы запустить объект получения изображений.

    start(vid);

    Видео объект теперь запускает, но не регистрирует. С ручными триггерами начинается видеопоток, когда объект запускается, но никакие системы координат не получены, пока триггер не выполняется.

    isrunning(vid)
    
    ans =
    
         1
    
    islogging(vid)
    
    ans =
    
         0

    Проверьте, что объект все еще не получил систем координат.

    vid.FramesAcquired
    ans = 
    	0
  4. Выполните ручной триггер — Вызов trigger функция, чтобы выполнить ручной триггер.

    trigger(vid)

    Объект инициирует приобретение пяти систем координат. Проверяйте FramesAcquired свойство снова, чтобы проверить, что были получены пять систем координат.

    vid.FramesAcquired
    ans = 
    	5

    После того, как это получит конкретное количество систем координат, объект ввода видео прекращает запускаться.

    isrunning(vid)
    
    ans =
    
         0

    Чтобы выполнить другой ручной триггер, необходимо сначала перезапустить объект ввода видео. Обратите внимание на то, что это удаляет системы координат, полученные первым триггером. Чтобы выполнить несколько ручных триггеров, задайте значение для TriggerRepeat свойство. Смотрите Определение Нескольких Триггеров для получения дополнительной информации.

  5. Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.

    delete(vid)
    clear vid

Используя аппаратный триггер

Чтобы использовать аппаратный триггер, создайте объект ввода видео и установите значение TriggerType свойство к 'hardware'. Необходимо также задать источник аппаратного триггера и типа условия. Оборудование контролирует источник, который вы задаете для условия, которое вы задаете. Следующая фигура иллюстрирует аппаратный триггер. Для аппаратных триггеров не запускается видеопоток, пока триггер не происходит.

Примечание

Инициируйте источники и условия, что аппаратные триггеры управления являются конкретным устройством. Используйте triggerinfo функция, чтобы определить, поддерживает ли ваше устройство получения изображений аппаратные триггеры и, если это делает, какие условия можно сконфигурировать. Обратитесь к документации, которая шла с вашим устройством для более подробной информации о его аппаратных возможностях инициирования.

Аппаратный триггер

Следующий пример иллюстрирует, как использовать аппаратный триггер:

  1. Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений Matrox. Чтобы запустить этот пример в вашей системе, используйте imaqhwinfo функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код. Устройство должно поддержать аппаратные триггеры.

    vid = videoinput('matrox',1);
    
  2. Определите допустимые триггерные настройки свойства — Использование triggerinfo функция, чтобы определить, поддерживает ли ваше устройство получения изображений аппаратные триггеры, и если это делает, чтобы узнать допустимые настройки TriggerSource и TriggerCondition свойства. Смотрите Определение Допустимых Настроек для получения дополнительной информации.

    В этом примере, triggerinfo возвращает следующие допустимые триггерные настройки.

    triggerinfo(vid)
    Valid Trigger Configurations:
    
          TriggerType:   TriggerCondition:   TriggerSource:
          'immediate'    'none'              'none'        
          'manual'       'none'              'none' 
    	    'hardware'     'risingEdge'        'TTL' 
    	    'hardware'     'fallingEdge'       'TTL' 
  3. Сконфигурируйте свойства — Конфигурируют триггерные свойства объекта ввода видео к одной из допустимых комбинаций, возвращенных triggerinfo. Можно задать каждое значение свойства в качестве аргумента к triggerconfig функция

    triggerconfig(vid, 'hardware','risingEdge','TTL')

    В качестве альтернативы можно установить эти значения путем передачи одной из структур, возвращенных triggerinfo функционируйте к triggerconfig функция.

    configs = triggerinfo(vid);
    triggerconfig(vid,configs(3));

    Этот пример также устанавливает значение FramesPerTrigger свойство к 5. (Значением по умолчанию являются 10 систем координат на триггер.)

    vid.FramesPerTrigger = 5
  4. Запустите объект получения изображений — Вызов start функционируйте, чтобы запустить объект получения изображений.

    start(vid)

    Объект запускает, но не регистрирует любые данные.

    isrunning(vid)
    
    ans =
    
         1
    
    islogging(vid)
    
    ans =
    
         0

    Оборудование начинает контролировать триггерный источник для заданного условия. Когда условие соблюдают, оборудование выполняет триггер и начинает предоставлять фреймы изображения объекту. Объект получает количество систем координат, заданных FramesPerTrigger свойство. Просмотрите значение FramesAcquired свойство, чтобы видеть, как много данных было получено. Обновления объекта значение этого свойства, когда это получает данные.

    vid.FramesAcquired
    ans =
    
        5

    После того, как это выполнит триггер и получит конкретное количество систем координат, объект ввода видео прекращает запускаться.

    isrunning(vid)
    
    ans =
    
         0

    Чтобы выполнить другой аппаратный триггер, необходимо сначала перезапустить объект ввода видео. Обратите внимание на то, что это удаляет системы координат, полученные первым триггером. Чтобы выполнить несколько триггеров, задайте значение для TriggerRepeat свойство. Смотрите Определение Нескольких Триггеров для получения дополнительной информации.

  5. Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.

    delete(vid)
    clear vid

Установка DCAM-специфичных триггерных режимов

Можно теперь использовать все триггерные режимы и все триггерные входные параметры это поддержка камер 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 специфичны для поставщика и приняты, чтобы быть внешними триггерами и не иметь никаких ограничений ни на какие настройки. Необходимо подтвердить любые настройки, которые вы используете.

Следующие разделы детализируют триггерные режимы.

Инициируйте режим 0

Это - единственный триггерный режим, поддержанный перед R2010a. Когда триггер получен, система координат получена. Можно получить несколько систем координат на триггер путем переключения камеры для инициированного режима оборудования к режиму свободного доступа, когда инициированная система координат получена.

Никакой параметр не требуется.

Камера запускает интегрирование входящего света от внешнего триггерного входа, падающего ребро.

Инициируйте режим 1

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

Никакой параметр не требуется.

Камера запускает интегрирование входящего света от внешнего триггерного входа, падающего ребро. Время интегрирования равно низкому времени состояния внешнего триггерного входа если triggersource fallingEdge, в противном случае это равно высокому времени состояния.

Инициируйте режим 2

Этот режим похож на режим 1, кроме длительности триггера сигнал действительно управляет временем интегрирования. Вместо этого количество триггерных полученных сигналов делает. Интегрирование начинается на запуск первого триггерного сигнала и продолжается до запуска Nth инициировали сигнал.

Параметр N требуется и описывает количество триггерных сигналов в интегрировании.

Камера запускает интегрирование входящего света от первого внешнего триггерного входа, падающего ребро. В Nth внешний триггерный вход, падающий ребро, остановки интегрирования. Параметр N требуется и должен быть 2 или больше. (N> = 2).

Инициируйте режим 3

Используйте этот внутренний триггерный режим, чтобы достигнуть более низкой частоты кадров. Когда триггер генерирует внутренне, система координат получена и возвращена. Новая система координат не получена за N x Tf, когда N параметр, и Tf является временем цикла самой быстрой частоты кадров, поддержанной камерой.

Параметр требуется, аналогичен описанному выше.

Это - внутренний триггерный режим. Камера выпускает триггер внутренне, и время цикла является временами N времени цикла самой быстрой частоты кадров. Время интегрирования входящего света описано в регистре затвора. Параметр N требуется и должен быть 1 или больше (N> = 1).

Инициируйте режим 4

Этот режим, “несколько закрывают предварительно установленный режим”. Это похоже на режим 1, но выдержкой управляет свойство затвора. На каждом триггере свойство затвора задает длительность воздействия. Когда триггеры N получены, система координат получена.

Параметр N требуется и описывает количество триггеров.

Камера запускает интегрирование входящего света от первого внешнего триггерного входа, падающего ребро, и отсоединяет входящий свет во время затвора. Повторите эту последовательность, пока Энный внешний триггер не введет падающее ребро, затем закончит интегрирование. Параметр N требуется и должен быть 1 или больше (N> = 1).

Инициируйте режим 5

Этот режим, “несколько закрывают режим ширины импульса”. Это - комбинация режимов 1 и 2. Выдержкой управляет длительность триггерного сигнала, и много триггерных сигналов могут быть интегрированы в одно считывание. Если триггерным параметром является 1, этот режим является вырожденным с режимом 1.

Параметр требуется. Параметр описывает количество триггеров.

Камера запускает интегрирование входящего света от сначала внешнего триггерного входа, падающего ребро, и отсоединяет входящий свет, пока триггер не неактивен. Повторите эту последовательность, пока Энный внешний триггер не введет падающее ребро, затем закончит интегрирование. Параметр N требуется и должен быть 1 или больше (N> = 1).

Инициируйте режим 14

Это - специфичный для поставщика режим, и никакая информация не доступна. Консультируйтесь с документацией для своей камеры.

Инициируйте режим 15

Это - специфичный для поставщика режим, и никакая информация не доступна. Консультируйтесь с документацией для своей камеры.