События изменения данных и подписка

Введение в События изменения данных

Используя read и readasync функции описали в Считанных Данных из Элемента, можно получить информацию о значениях элемента Сервера OPC по запросу. OPC Data доступ к спецификации предоставляет другой механизм клиентам, чтобы получить информацию о значениях серверного элемента. Этот механизм позволяет Серверу OPC уведомлять клиент, когда значение серверного элемента или качество обновились. Этот механизм называется событием изменения данных. Программное обеспечение OPC Toolbox™ поддерживает уведомление о событии изменения данных путем выполнения MATLAB® функционируйте, когда событие изменения данных будет получено от связанного Сервера OPC. В этом разделе описывается использовать уведомление о событии изменения данных.

Сконфигурируйте объекты OPC Toolbox для Событий изменения данных

Событие изменения данных имеет место в dagroup уровень объектов. Используя dagroup свойства объектов, можно управлять, сгенерировано ли событие изменения данных для конкретной группы, минимальное время между последовательными событиями и функция MATLAB, чтобы запуститься, когда уведомление о событии получено и обработано программным обеспечением OPC Toolbox. Можно также управлять, какие элементы в конкретной группе должны быть проверены для изменений данных. Таким образом можно управлять номером и частотой событий изменения данных, которые должен обработать MATLAB. На занятом Сервере OPC можно также выключить уведомление об изменении данных для групп, что вы в настоящее время не интересуетесь.

Следующие разделы описывают, как управлять уведомлением об изменении данных.

Управляйте уведомлением об изменении данных для группы

Следующие свойства dagroup возразите управлению, уведомляет ли сервер, что группа данных изменяется на элементах в той группе:

  • UpdateRate: UpdateRate свойство задает уровень, на котором Сервер OPC должен контролировать значения серверного элемента и сгенерировать события изменения данных. Даже если значение серверного элемента будет изменяться более часто, чем частота обновления, Сервер OPC только сгенерирует изменение данных в интервале, заданном частотой обновления.

  • Subscription: Subscription свойство задает, сгенерирует ли Сервер OPC событие изменения данных для группы. Когда вы создаете dagroup объект, Subscription свойство установлено в 'on'. Когда вы устанавливаете Subscription свойство к 'off', вы говорите Серверу OPC не генерировать события изменения данных для той группы.

  • Active: Active свойством должен быть 'on' поскольку данные изменяют события, которые будут сгенерированы. Когда вы создаете dagroup объект, Active свойство установлено в 'on'. Когда вы устанавливаете Active свойство к 'off', вы удаляете любую способность считать данные из группы, изменяют ли посредством операций чтения или данных события.

Сводные данные чтения группы, запишите, и поведение изменения данных для Active и Subscription свойства даны в следующей таблице.

Активный

Подписка

Чтение

Запись

Изменение данных

'on'

'on'

Да

Да

Да

'on'

'off'

Да

Да

Нет

'off'

'on'

Нет

Нет

Нет

'off'

'off'

Нет

Нет

Нет

Временно отключите элементы в группе

Можно временно отключить элементы в группе, не удаляя элемент из группы. Когда вы отключаете daitem объект, Сервер OPC больше не наблюдает изменения в значении связанного серверного элемента и поэтому не сгенерирует события изменения данных, когда значение того серверного элемента изменяется.

Можно отключить daitem объект путем установки, что Active объекта свойство к 'off'. Можно повторно включить daitem объект путем установки Active свойство к 'on'.

Форсируйте событие изменения данных

Можно обеспечить Сервер OPC, чтобы сгенерировать событие изменения данных для всех активных элементов в группе при помощи refresh функция с dagroup возразите в качестве первого аргумента. Сервер OPC сгенерирует событие изменения данных, содержащее информацию для каждого активного элемента в группе.

Можно передать дополнительный второй аргумент refresh функция, чтобы сообщить Серверу OPC, где получить значения данных, которые передают обратно в событии изменения данных. Путем определения источника 'device', вы даете Серверу OPC команду обновлять значения от устройства. Путем определения источника 'cache' (значение по умолчанию), вы сообщаете Серверу OPC к возвращаемым значениям из кэша Сервера OPC.

Как События изменения данных о программных процессах OPC Toolbox

Программное обеспечение OPC Toolbox использует события изменения данных для многих задач. Следующие действия происходят, когда событие изменения данных имеет место:

  1. Value, Quality, и TimeStamp свойства daitem объект автоматически обновляется. Для получения дополнительной информации об этих свойствах смотрите OPC Data: Значение, Качество и TimeStamp.

  2. Если dagroup объект регистрирует, событие изменения данных регистрируется к памяти и/или диску как запись. Для получения информации о логгировании смотрите, Регистрируют Данные о Сервере OPC.

  3. Если dagroup DataChangeFcn объекта свойство не пусто, эта функция вызвана информацией о событии изменения данных. По умолчанию это свойство пусто, поскольку события изменения данных часто имеют место. Можно настроить поведение тулбокса путем установки этого свойства вызвать функцию, которую вы выбираете. Для получения информации о событии изменения данных смотрите страницу с описанием для DataChangeFcn свойство.

    Примечание

    Если вы отключаете события изменения данных путем установки Subscription свойство к 'off' или Active свойство к 'off', ни одно из упомянутых выше действий не может произойти. Вы не можете изменить Active или Subscription свойства, в то время как dagroup объект регистрирует, в противном случае задача логгирования никогда не может завершаться.

Настройте ответ события изменения данных

Одно из действий, которое происходит, когда программное обеспечение OPC Toolbox получает событие изменения данных от Сервера OPC, является выполнением функции, определяемой в DataChangeFcn свойство. Путем установки этого свойства на имя функции, которую вы записали, можно полностью настроить поведение события изменения данных тулбокса. Например, можно сконфигурировать dagroup возразите, чтобы контролировать серверный элемент, который обновляется от интерфейса оператора. Путем нажатия на кнопку в интерфейсе оператора значение серверного элемента изменится, инициируя событие изменения данных на той группе. Путем конфигурирования DataChangeFcn свойство запустить функцию MATLAB, которая выполняет оптимизацию цикла управления, можно позволить оператору инициировать тест производительности цикла управления на всех критических циклах управления на объекте.