exponenta event banner

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

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

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

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

Структура события содержит два поля: 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 соединяется, тулбокс хранит информацию о событии в свойстве EventLog объекта клиента opcda. Значение этого свойства является массивом структур события. Каждая структура представляет одно событие. Для получения дальнейшей информации о составе структуры события для каждого типа события, смотрите Структуры События.

Тулбокс добавляет структуры события в массив 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