Каждое событие имеет набор информации, сопоставленной с тем событием. Информация генерируется Сервером OPC или программным обеспечением OPC Toolbox™, и хранится в структуре события. Эта информация включает тип события, время, которое событие имело место, и другая привязанная к конкретному событию информация. Для некоторых событий тулбокс записывает информацию о событии в свойстве EventLog
объекта клиента opcda
. Можно также получить доступ к структуре события, сопоставленной с событием в функции обратного вызова.
Для получения информации о доступе к информации о событии в функции обратного вызова смотрите, Создают и Выполняют Функции обратного вызова.
Структура события содержит два поля: Type
и Data
. Например, это - структура события для события запуска.
Type: 'Start' Data: [1x1 struct]
Поле Type
является вектором символов, который задает тип события. Для события запуска это поле содержит значение 'Start'
.
Поле Data
является структурой, которая содержит информацию о событии. Состав этой структуры отличается, в зависимости от которого произошел тип события. Для получения дополнительной информации об информации, сопоставленной с определенными событиями, смотрите следующие разделы:
Для асинхронной отмены, изменение данных, ошибка, асинхронное чтение, и пишут асинхронные события, структура Data
содержит эти поля.
Имя поля | Описание |
---|---|
| Имя группы сопоставлено с событием. |
| Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB®:
|
| ID транзакции для операции. В случае отмены асинхронное событие |
| Массив структур, содержащий информацию о каждом элементе в асинхронной операции. Отмена асинхронная структура события не содержит это поле. |
Массив структур Items
для чтения асинхронные события содержит следующие поля.
Имя поля | Описание |
---|---|
| ID элемента для этой записи в массиве структур. |
| Значение данных. |
| Качество данных как вектор символов. |
| Время Сервер OPC обновило значение и качество. Время возвращено в векторном формате даты MATLAB:
|
Массив структур Items
для записи асинхронные события содержит одно поле: ItemID
.
Массив структур Элементов для ошибочных событий содержит поле ItemID
и поле Error
, содержа вектор символов, описывающий ошибку, которая произошла для того элемента.
Для запуска остановитесь, и записи получили события, структура Data
содержит эти поля.
Имя поля | Описание |
---|---|
| Имя группы сопоставлено с событием. |
| Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB:
|
| Общее количество записей получено на текущем сеансе журналирования. |
Для событий завершения работы структура Data
содержит эти поля.
Имя поля | Описание |
---|---|
| Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB:
|
| Вектор символов, содержащий причину Сервер OPC, предусмотрел закрытие. |
Для событий таймера структура Data
содержит эти поля.
Имя поля | Описание |
---|---|
| Абсолютное время событие произошло, возвращенное в векторном формате даты MATLAB:
|
В то время как объект клиента opcda
соединяется, тулбокс хранит информацию о событии в свойстве EventLog
объекта клиента opcda
. Значение этого свойства является массивом структур события. Каждая структура представляет одно событие. Для получения дальнейшей информации о составе структуры события для каждого типа события, смотрите Структуры События.
Тулбокс добавляет структуры события в массив EventLog
в порядке, в котором события имеют место. Первая структура события отражает первое зарегистрированное событие, вторая структура события отражает второе зарегистрированное событие и так далее.
События изменения данных, записи полученные события и события таймера не включены в EventLog
. Структуры события для этих событий (и всех других событий) доступны функциям обратного вызова. Для получения дополнительной информации смотрите, Создают и Выполняют Функции обратного вызова.
Чтобы проиллюстрировать журнал событий, этот пример создает иерархию объектов OPC Toolbox, выполняет задачу журналирования, и затем исследует свойство EventLog
объекта:
Этот пример создает иерархию объектов OPC Toolbox для Сервера Симуляции Matrikon™. Чтобы запустить этот пример в вашей системе, у вас должен быть установленный Сервер Симуляции Matrikon. Также можно заменить значения, используемые в создании объектов со значениями для сервера, к которому можно получить доступ.
da = opcda('localhost','Matrikon.OPC.Simulation.1'); connect(da); grp = addgroup(da,'CallbackTest'); itm1 = additem(grp,'Triangle Waves.Real8');
Запустите объект dagroup
. По умолчанию объект получает 120 записей в 0,5 вторых интервалах, и затем останавливается. Ожидайте объекта прекратить регистрировать данные.
start(grp) wait(grp)
Доступ к свойству 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
Всегда удаляйте объекты тулбокса из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они. Удаление объекта клиента opcda
также удаляет объекты элемента и группа.
disconnect(da) delete(da) clear da grp itm1