Использование read и readasync функции, описанные в разделе Считывание данных из элемента, позволяют получить информацию о значениях элементов сервера OPC по запросу. Спецификация OPC Data Access предоставляет клиентам другой механизм получения информации о значениях элементов сервера. Этот механизм позволяет серверу OPC уведомлять клиента об обновлении значения или качества элемента сервера. Этот механизм называется событием изменения данных. Программное обеспечение OPC Toolbox™ поддерживает уведомление о событии изменения данных посредством выполнения функции MATLAB ® при получении события изменения данных от подключенного сервера OPC. В этом разделе описывается использование уведомления о событии изменения данных.
Событие изменения данных происходит в dagroup уровень объекта. Используя dagroup свойства объекта, можно управлять созданием события изменения данных для определенной группы, минимальным временем между последовательными событиями и функцией MATLAB для выполнения при получении и обработке уведомления о событии программным обеспечением OPC Toolbox. Можно также управлять тем, какие позиции в определенной группе должны отслеживаться на предмет изменения данных. Таким образом, можно управлять количеством и частотой событий изменения данных, которые должны обрабатываться MATLAB. На занятом OPC-сервере можно также отключить уведомление об изменении данных для групп, которые в настоящее время не интересуют вас.
В следующих разделах описывается управление уведомлением об изменении данных.
Уведомление об изменении управляющих данных для группы описывает, как отключить уведомление об изменении данных для группы dagroup объект.
Временное отключение элементов в группе описывает, как управлять тем, какие элементы в группе должны отслеживаться на предмет изменения данных.
Настройка ответа на событие изменения данных предоставила информацию о том, как настроить функцию MATLAB для выполнения при возникновении события изменения данных.
Следующие свойства dagroup объект управляет тем, уведомляет ли сервер группу об изменениях данных по элементам в этой группе:
UpdateRate: UpdateRate свойство определяет скорость, с которой сервер OPC должен отслеживать значения элементов сервера и генерировать события изменения данных. Даже если значение элемента сервера изменяется чаще, чем частота обновления, сервер OPC будет генерировать изменение данных только через интервал, заданный частотой обновления.
Subscription: Subscription определяет, будет ли сервер OPC генерировать событие изменения данных для группы. При создании dagroup объект, Subscription свойство имеет значение 'on'. При установке Subscription свойство для 'off', вы говорите серверу OPC не создавать события изменения данных для этой группы.
Active: Active свойство должно быть 'on' для генерируемых событий изменения данных. При создании dagroup объект, Active свойство имеет значение 'on'. При установке Active свойство для 'off'удаление любой возможности чтения данных из группы посредством операций чтения или событий изменения данных.
Сводка поведения групповых операций чтения, записи и изменения данных для Active и Subscription свойства приведены в следующей таблице.
Активный | Подписка | Читать | Написать | Изменение данных |
|---|---|---|---|---|
|
| Да | Да | Да |
|
| Да | Да | Нет |
|
| Нет | Нет | Нет |
|
| Нет | Нет | Нет |
Элементы в группе можно временно отключить, не удаляя их из группы. При отключении daitem объект, сервер OPC больше не отслеживает изменения в значении связанного элемента сервера и, следовательно, не будет генерировать события изменения данных при изменении значения этого элемента сервера.
Можно отключить daitem путем установки для этого объекта Active свойство для 'off'. Вы можете повторно включить daitem путем установки Active свойство для 'on'.
Сервер OPC можно принудительно создать событие изменения данных для всех активных элементов в группе с помощью refresh функции с помощью dagroup объект в качестве первого аргумента. Сервер OPC генерирует событие изменения данных, содержащее информацию для каждого активного элемента в группе.
Можно передать дополнительный второй аргумент в refresh функция для указания серверу OPC места источника значений данных, которые отправляются обратно в событии изменения данных. Путем указания источника 'device', вы даете указание серверу OPC обновить значения с устройства. Путем указания источника 'cache' (по умолчанию) сервер OPC должен возвращать значения из кэша сервера OPC.
Программа OPC Toolbox использует события изменения данных для ряда задач. При возникновении события изменения данных выполняются следующие действия:
Value, Quality, и TimeStamp свойства daitem объект обновляется автоматически. Дополнительные сведения об этих свойствах см. в разделах OPC Data: Value, Quality и TimeStamp.
Если dagroup объект регистрируется, событие изменения данных регистрируется в памяти и/или на диске как запись. Сведения о ведении журнала см. в разделе Регистрация данных сервера OPC.
Если dagroup объект DataChangeFcn свойство не является пустым, эта функция вызывается с информацией о событии изменения данных. По умолчанию это свойство пусто, поскольку часто происходят события изменения данных. Можно настроить поведение панели инструментов, задав это свойство для вызова выбранной функции. Для получения информации о событии изменения данных см. справочную страницу для DataChangeFcn собственность.
Примечание
Если отключить события изменения данных, установив Subscription свойство для 'off' или Active свойство для 'off', ни один из перечисленных выше видов деятельности не может быть осуществлен. Вы не можете изменить Active или Subscription свойства во время dagroup объект ведет журнал, иначе задача журнала может никогда не завершиться.
Одним из действий, выполняемых при получении программным обеспечением OPC Toolbox события изменения данных от сервера OPC, является выполнение функции, определенной в DataChangeFcn собственность. Установив для этого свойства имя написанной функции, можно полностью настроить поведение события изменения данных панели инструментов. Например, можно настроить dagroup объект для мониторинга элемента сервера, который обновляется из интерфейса оператора. Нажатие кнопки на интерфейсе оператора приведет к изменению значения элемента сервера, инициируя событие изменения данных в этой группе. Путем конфигурирования DataChangeFcn свойство для запуска функции MATLAB, выполняющей оптимизацию контура управления, позволяет оператору инициировать проверку рабочих характеристик контура управления для всех критических контуров управления на установке.