Ожидание приобретения, чтобы закончиться

Используя Функцию ожидания

start функционируйте и trigger функция является асинхронными функциями. Таким образом, они запускают приобретение систем координат и возвращают управление в командную строку MATLAB® сразу.

В некоторых сценариях вы можете хотеть, чтобы ваше приложение ожидало, пока приобретение не завершается перед продолжением другой обработки. Для этого вызовите wait функционируйте сразу после start или trigger функция возвращается. wait функциональные блоки, которые командная строка MATLAB до приобретения завершает или значение тайм-аута, истекают, какой бы ни на первом месте.

По умолчанию, wait блокирует командную строку, пока объект ввода видео не прекращает запускаться. Можно опционально задать тот wait блокируйте командную строку, пока объект не прекратит регистрировать. Для приобретений с помощью мгновенного триггера объекты ввода видео всегда прекращают запускаться и прекращают регистрировать одновременно. Однако с ручным триггером, сконфигурированным для множеств потоков выполнения (TriggerRepeat > 0), можно использовать wait сразу после каждого вызова trigger функционируйте, чтобы блокировать командную строку, в то время как логгирование происходит, даже при том, что объект остается в состоянии выполнения в течение целого приобретения.

Следующая фигура иллюстрирует поток управления в командной строке MATLAB для одного выполнения мгновенного триггера и ручного триггера, с и без wait функция. Аппаратный триггер похож на ручную триггерную схему, за исключением того, что приобретение инициировано внешним сигналом к плате камеры или устройства захвата изображения, не trigger функция. Для примера смотрите Блокирование Командной строки, Пока Приобретение Не Завершится.

Используя ожидание, чтобы Блокировать командную строку MATLAB

При блокировании командной строки, пока не завершается приобретение

Следующий пример иллюстрирует, как использовать wait функционируйте, чтобы поместить 60 пределов второго раза на выполнение аппаратного триггера. Если аппаратный триггер не выполняется в ограничении по времени, wait возвращает управление в командную строку MATLAB.

  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' 

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

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

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

    configs = triggerinfo(vid);
    triggerconfig(vid,configs(3));
  3. Сконфигурируйте другие свойства объектов — Этот пример также устанавливает значение FramesPerTrigger свойство сконфигурировать приобретение, достаточно большое, чтобы произвести значимую длительность. (Значением по умолчанию являются 10 систем координат на триггер.)

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

    start(vid)

    start функционируйте устанавливает объектное выполнение и возвращает управление в командную строку.

  5. Блокируйте командную строку до концов приобретения — После start функция возвращается, вызовите wait функция.

    wait(vid,60)

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

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

    delete(vid)
    clear vid