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