exponenta event banner

Использование функции обратного вызова по умолчанию

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

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

В этом примере показано, как использовать функцию обратного вызова по умолчанию.

  1. Создать объект получения изображения - в этом примере создается объект ввода видео для устройства получения изображения Matrox ®. Для запуска этого примера в системе используйте imaqhwinfo чтобы получить конструктор объекта для устройства получения изображения и заменить этот синтаксис следующим кодом.

    vid = videoinput('matrox',1);
  2. Настройка свойств - установка значений трех свойств обратного вызова. В примере используется функция обратного вызова по умолчанию imaqcallback.

    vid.StartFcn = @imaqcallback
    vid.TriggerFcn = @imaqcallback
    vid.StopFcn = @imaqcallback

    В этом примере указывается объем данных для регистрации.

    vid.FramesPerTrigger = 100;
  3. Запуск объекта получения изображения - запуск объекта получения изображения. Объект выполняет немедленный триггер, получает 100 кадров данных, а затем останавливается. С включенными тремя функциями обратного вызова объект выводит информацию о каждом событии по мере его возникновения.

    start(vid)
    Start event occurred at 14:38:46 for video input object: M_RS170-matrox-1.
    Trigger event occurred at 14:38:46 for video input object: M_RS170-matrox-1.
    Stop event occurred at 14:38:49 for video input object: M_RS170-matrox-1.
  4. Очистить - всегда удалять объекты сбора изображений из памяти и переменные, которые ссылаются на них, когда они больше не нужны.

    delete(vid)
    clear vid