Каждое событие имеет набор информации, сопоставленный с этим событием. Информация генерируется сервером OPC или программным обеспечением OPC Toolbox™ и хранится в структуре события. Эта информация включает тип события, время наступления события и другую специфическую для события информацию. Для некоторых событий тулбокс записывает информацию о событии в opcda
EventLog
клиентского объекта свойство. Вы также можете получить доступ к структуре события, связанной с событием, в функции обратного вызова.
Дополнительные сведения о доступе к информации о событии в функции обратного вызова см. в разделе Создание и выполнение функций обратного вызова.
Структура события содержит два поля: Type
и Data
. Для примера это структура события для стартового события.
Type: 'Start' Data: [1x1 struct]
The Type
поле является вектором символов, которая задает тип события. Для начального события это поле содержит значение 'Start'
.
The Data
поле является структурой, которая содержит информацию о событии. Состав этой структуры изменяется в зависимости от того, какой тип события произошел. Для получения дополнительной информации об информации, связанной с конкретными событиями, смотрите следующие разделы:
Для отмены асинхронных, изменений данных, ошибок, чтения асинхронных и записи асинхронных событий, Data
структура содержит эти поля.
Имя поля | Описание |
---|---|
| Имя группы, связанной с событием. |
| Абсолютное время наступления события, возвращаемое в MATLAB® формат вектора дат:
|
| Идентификатор транзакции для операции. В случае отмены асинхронного события |
| Массив структур, содержащий информацию о каждом элементе в асинхронной операции. Структура события cancel async не содержит это поле. |
The Items
массив структур для чтения асинхронных событий содержит следующие поля.
Имя поля | Описание |
---|---|
| Идентификатор элемента для этой записи в массиве структур. |
| Значение данных. |
| Качество данных как вектор символов. |
| Время обновления значения и качества сервером OPC. Время возвращается в формате вектора дат MATLAB:
|
The Items
массив структур для записи асинхронных событий содержит одно поле: ItemID
.
Массив структуры элементы для событий ошибок содержит ItemID
поле и Error
поле, содержащее вектор символов, описывающее ошибку, произошедшую для этого элемента.
Для начала, остановки и записи приобретенных событий, Data
структура содержит эти поля.
Имя поля | Описание |
---|---|
| Имя группы, связанной с событием. |
| Абсолютное время наступления события, возвращаемое в формате вектора дат MATLAB:
|
| Общее количество записей, полученных в текущем сеансе логгирования. |
Для событий завершения работы, Data
структура содержит эти поля.
Имя поля | Описание |
---|---|
| Абсолютное время наступления события, возвращаемое в формате вектора дат MATLAB:
|
| Вектор символов, содержащий причину Сервера OPC, предоставленной для завершения работы. |
Для событий таймера, Data
структура содержит эти поля.
Имя поля | Описание |
---|---|
| Абсолютное время наступления события, возвращаемое в формате вектора дат MATLAB:
|
В то время как opcda
клиентский объект подключен, тулбокс хранит информацию о событии в opcda
EventLog
клиентского объекта свойство. Значение этого свойства является массивом структур событий. Каждая структура представляет одно событие. Для получения подробной информации о составе структуры события для каждого типа события, смотрите Структуры события.
Тулбокс добавляет структуры событий в EventLog
массив в том порядке, в котором происходят события. Первая структура события отражает первое записанное событие, вторая структура события отражает второе записанное событие и так далее.
Примечание
События изменения данных, записи полученных событий и события таймера не включены в EventLog
. Структуры событий для этих событий (и всех других событий) доступны для функций обратного вызова. Для получения дополнительной информации см. раздел Создание и выполнение функций обратного вызова.
Чтобы проиллюстрировать журнал событий, в этом примере создается иерархия объектов OPC Toolbox, выполняется задача ведения журнала, а затем исследуется EventLog
объекта свойство:
Этот пример создает иерархию объектов OPC Toolbox для сервера Matrikon™ Simulation Server. Чтобы запустить этот пример в вашей системе, необходимо установить сервер симуляции 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
объект клиента. Выполнение задачи группового логгирования сгенерировало два события: start и stop. Таким образом, значение EventLog
свойство является массивом структур событий 1 на 2.
events = da.EventLog
events = 1x2 struct array with fields: Type Data
Список событий, записанных в EventLog
свойство, исследуйте содержимое Type
поле.
{events.Type}
ans = 'Start' 'Stop'
Чтобы получить информацию о конкретном событии, получите доступ к Data
поле в этой структуре события. Пример извлекает информацию о событии stop.
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