exponenta event banner

Получение информации о событии

Введение

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

Этот раздел

Сведения о доступе к информации о событиях в функции обратного вызова см. в разделе Создание и выполнение функций обратного вызова.

Структуры событий

Структура события содержит два поля: Type и Data. Например, это структура события для события триггера:

Type: 'Trigger'
Data: [1x1 struct]

Type - это символьный вектор, указывающий тип события. Для события триггера это поле содержит символьный вектор 'Trigger'.

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

Поля данных для событий запуска, остановки, получения кадров и триггера

Для событий запуска, остановки, получения кадров и запуска Data структура содержит эти поля.

Имя поля

Описание

AbsTime

Абсолютное время возникновения события, возвращенного в MATLAB ®clock формат

[year month day hour minute seconds]

FrameNumber

Номер кадра относительно момента запуска объекта

RelativeFrame

Номер кадра относительно выполнения триггера

TriggerIndex

Триггер, с которым связано событие. Например, при запуске связанный триггер равен 0. При остановке он эквивалентен TriggersExecuted собственность.

Поля данных для событий ошибок

Для событий ошибки, Data структура содержит эти поля.

Имя поля

Описание

AbsTime

Абсолютное время возникновения события, возвращенного в MATLAB clock формат

[year month day hour minute seconds]

Message

Текстовое сообщение, связанное с ошибкой

MessageID

Идентификатор сообщения MATLAB, связанный с ошибкой

Поля данных для событий таймера

Для событий таймера, Data структура содержит эти поля.

Имя поля

Описание

AbsTime

Абсолютное время возникновения события, возвращенного в MATLAB clock формат

[year month day hour minute seconds]

Доступ к данным в журнале событий

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

Панель инструментов добавляет структуры событий к EventLog массив в порядке, в котором происходят события. Первая структура события отражает первое записанное событие, вторая структура события отражает второе записанное событие и так далее.

Примечание

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

Чтобы проиллюстрировать журнал событий, этот пример создает объект ввода видео, запускает его, а затем проверяет объект EventLog свойство:

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

    vid = videoinput('matrox',1);
  2. Запуск объекта получения изображения - запуск объекта получения изображения. По умолчанию объект выполняет немедленный триггер, получает 10 кадров данных и затем останавливается.

    start(vid)
  3. Просмотр журнала событий - доступ к EventLog свойство объекта ввода видео. Выполнение объекта ввода видео породило три события: запуск, триггер и остановка. Таким образом, значение EventLog свойство представляет собой массив структур событий 1x3.

    events = vid.EventLog
    events = 
    
    1x3 struct array with fields:
        Type
        Data

    Список событий, записанных в EventLog , проверьте содержимое Type поле.

    {events.Type}
    ans = 
        'Start'    'Trigger'    'Stop'

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

    trigdata = events(2).Data
    
    trigdata = 
    
                 AbsTime: [2004 12 29 16 40 52.5990] 
             FrameNumber: 0
           RelativeFrame: 0
            TriggerIndex: 1
  4. Очистить - всегда удалять объекты сбора изображений из памяти и переменные, которые ссылаются на них, когда они больше не нужны.

    delete(vid)
    clear vid