Каждое событие имеет набор информации, сопоставленной с тем событием. Информация генерируется Сервером 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