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

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

Каждое событие имеет набор информации, сопоставленной с тем событием. Информация генерируется Сервером OPC или программным обеспечением OPC Toolbox™, и хранится в структуре события. Эта информация включает тип события, время, которое событие имело место, и другая привязанная к конкретному событию информация. Для некоторых событий тулбокс записывает информацию о событии в opcda EventLog объекта клиента свойство. Можно также получить доступ к структуре события, сопоставленной с событием в функции обратного вызова.

Для получения информации о доступе к информации о событии в функции обратного вызова смотрите, Создают и Выполняют Функции обратного вызова.

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

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

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

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

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

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

Имя поля

Описание

GroupName

Имя группы сопоставлено с событием.

LocalEventTime

Абсолютное время событие произошло, возвращенное в MATLAB® векторный формат даты:

[year month day hour minute seconds]

TransID

ID транзакции для операции. В случае отмены асинхронное событие, TransID содержит ID транзакции, который был отменен.

Items

Массив структур, содержащий информацию о каждом элементе в асинхронной операции. Отмена асинхронная структура события не содержит это поле.

Items массив структур для чтения асинхронные события содержит следующие поля.

Имя поля

Описание

ItemID

ID элемента для этой записи в массиве структур.

Value

Значение данных.

Quality

Качество данных как вектор символов.

TimeStamp

Время Сервер OPC обновило значение и качество. Время возвращено в векторном формате даты MATLAB:

[year month day hour minute seconds]

Items массив структур для записи асинхронные события содержит одно поле: ItemID.

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

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

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

Имя поля

Описание

GroupName

Имя группы сопоставлено с событием.

LocalEventTime

Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB:

[year month day hour minute seconds]

RecordsAcquired

Общее количество записей получено на текущем сеансе логгирования.

Поля данных для Событий завершения работы

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

Имя поля

Описание

LocalEventTime

Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB:

[year month day hour minute seconds]

Reason

Вектор символов, содержащий причину Сервер OPC, предусмотрел закрытие.

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

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

Имя поля

Описание

LocalEventTime

Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB:

[year month day hour minute seconds]

Доступ к данным в конечном счете регистрирует

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

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

Примечание

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

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

Шаг 1: создайте иерархию объектов OPC Toolbox

Этот пример создает иерархию объектов OPC Toolbox для Сервера Симуляции Matrikon™. Чтобы запустить этот пример в вашей системе, у вас должен быть установленный Сервер Симуляции Matrikon. В качестве альтернативы можно заменить значения, используемые в создании объектов со значениями для сервера, к которому можно получить доступ.

da = opcda('localhost','Matrikon.OPC.Simulation.1');
connect(da);
grp = addgroup(da,'CallbackTest');
itm1 = additem(grp,'Triangle Waves.Real8');

Шаг 2: запустите задачу логгирования

Запустите dagroup объект. По умолчанию объект получает 120 записей в 0,5 вторых интервалах, и затем останавливается. Ожидайте объекта прекратить регистрировать данные.

start(grp)
wait(grp)

Шаг 3: просмотрите журнал событий

Доступ к EventLog свойство opcda объект клиента. Выполнение группы, регистрирующей задачу, сгенерировало два события: запустите и остановитесь. Таким образом значение EventLog свойство 1 2 массив структур события.

events = da.EventLog
events = 

1x2 struct array with fields:
    Type
    Data

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

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

Чтобы получить информацию о конкретном событии, получите доступ к Data поле в таком случае структура. Пример получает информацию о событии остановки.

stopdata = events(2).Data
stopdata = 
     LocalEventTime: [2004 3 2 21 33 45.8750]
          GroupName: 'CallbackTest'
    RecordsAcquired: 120

Шаг 4: Очистка

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

disconnect(da)
delete(da)
clear da grp itm1