Получение сведений о событии

Введение

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

    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