Алармы и состояния

В данном разделе описываются функции алармов и состояний OPC UA применительно к клиенту «КАСКАД Цифра». Они позволяют получать и квитировать алармы от сервера алармов OPC UA.

Аларм сопоставляется элементу точки данных в клиентском проекте OPC UA «КАСКАД Цифра» через соответствующий адрес периферии. Для вызова аларма на клиентской системе «КАСКАД Цифра» для этого элемента точки данных необходимо настроить обработку мультиэкземплярных алармов (конфигурационный элемент _alert_hdl). Мультиэкземплярные алармы имеют то преимущество, что такие действия при аларме, как получение, квитирование и выдача, могут вызываться внешним событием и не учитываются менеджером событий. Кроме того, для аларма этого типа можно хранить дополнительную информацию в так называемых дополнительных значениях (см. раздел «Содержимое дополнительных значений в OPC UA»). Более того, для каждого аларма можно пропустить указанный аларм-класс, т. е. будет использован не заданный аларм-класс.

Важные замечания и ограничения для алармов и состояний OPC UA представлены в разделах «Поддерживаемые типы алармов и ограничения» и «Алармы и условия».

Требования и ограничения

Для того, чтобы клиент OPC UA мог принимать алармы и состояния, необходимо выполнить следующие требования:

  • Запись конфигурационного элемента driverAckClassPrefix должна быть задана в разделе [drivers] файла конфигурационного элемента. См. квитирование алармов.
  • Должна быть создана точка данных подключения к серверу OPC UA (см. раздел «Настройка серверов») с подпиской типа «Алармы и условия» (см. раздел «Настройка подписки»).
  • Критичности OPC UA были сопоставлены аларм-классам «КАСКАД Цифра». См. раздел «Сопоставление данных аларма».
  • Адрес периферии (_address) с созданной подпиской и режимом приема «Аларм» был создан для элемента точки данных, которая должна принимать алармы. В соответствии с этим при просмотре элементов будут возвращаться только состояния аларма. См. раздел «Настройка адреса периферии».
  • Для того же элемента точки данных была создана обработка мультиэкземплярных алармов (_alert_hdl). Аларм в «КАСКАД Цифра» будет вызываться на прямую, а не значением элемента точки данных, т. е. драйвер устанавливает атрибут _alert_hdl.._event. См. раздел «Обработка многочисленных алармов».

Квитирование алармов

Для того, чтобы алармы квитировались не прямо в «КАСКАД Цифра», а через сервер OPC UA, необходимо выполнить следующую последовательность действий:

  1. В проекте следует создать отдельные аларм-классы с уникальным префиксом.
  2. В файле конфигурационного элемента клиентского проекта необходимо задать следующую запись.

[driver]

driverAckClassPrefix = «<prefix>» //например, «OPCUA»

Эта запись считывается из интерфейса пользователя и обеспечивает квитирование аларма не через менеджер событий, а через внутреннюю точку данных драйвера _DriverCommon (см.driverAckClassPrefixdriverAckClassPrefix). Алармы будут квитироваться в «КАСКАД Цифра» только в том случае, если сервер отправляет подтверждение квитирования клиенту.

Настройка подписки

Для получения алармов необходимо настроить подписку. В подписке необходимо выбрать тип аларма. Этот тип аларма определяет сопоставление атрибутов OPC UA диапазонам аларма «КАСКАД Цифра». В настоящее время клиентом OPC UA «КАСКАД Цифра» поддерживаются следующие типы алармов:

  • OffNormalAlarm
  • ExclusiveLimitAlarm
  • ExclusiveDeviationAlarm
  • KASKADDiscreteAlarm
  • KASKADContinuousAlarm

Эти типы уже содержат такие основные состояния, как АктивированоАктивно и Квитирование.

Кроме того, для указания идентификационного номера узла вручную можно выбрать тип аларма Ручной.

Более подробная информация приведена в разделе «Поддерживаемые типы алармов и ограничения».

Сопоставление данных аларма

Для вызова аларма в «КАСКАД Цифра» в соответствующем элементе точки данных должен существовать конфигурационный элемент _alert_hdl типа «мультиэкземплярный аларм». Заданный аларм-класс (_alert_class) не имеет значения, так как фактический аларм-класс получается на основе критичности OPC UA. Сопоставление критичности OPC UA аларм-классу «КАСКАД Цифра» может быть задано на панели критичности аларма OPC UA. Эта панель отрывается с экрана управления системой «КАСКАД Цифра».

Рис. Вкладка драйверов на панели управления системой «КАСКАД Цифра»

В «КАСКАД Цифра» приоритет аларма определяется на основе приоритета аларм-класса. Приоритет аларма определяется посредством сопоставления с критичностью аларма OPC UA. Это означает, что концепция квитирования и приоритета аларма «КАСКАД Цифра» строится на основе аларм-класса «КАСКАД Цифра», по которому определяется критичность OPC UA. Эти параметры не могут быть изменены впоследствии на всем протяжении существования аларма.

Рис. Сопоставление критичности аларма OPC UA

Драйвер

Здесь выбирается точка данных драйвера _OPCUA<num> типа _OPCUA, для которой следует использовать сопоставление критичности аларма. <num> соответствует номеру менеджера, с которого запускается клиент OPC UA.

Области

Здесь вводится количество областей, по которым следует разделить общее значение критичности 1000. Можно задать не более 30 областей.

Сопоставление критичности OPC UA аларм-классу «КАСКАД Цифра»

Критичность OPC UA составляет диапазон от 1 до 1000, где 1 соответствует минимальной критичности, а 1000 — максимальной. Концепция аларма в «КАСКАД Цифра» определяется приоритетами от 1 до 255, где 1 соответствует минимальному приоритету. Соответственно, области с большой критичностью, покрывающие вместе всю зону критичности, должны быть сопоставлены аларм-классам «КАСКАД Цифра». Эти аларм-классы могут быть как предустановленными аларм-классами «КАСКАД Цифра», так и созданными пользователем, если аларм должен также квитироваться на периферии (дополнительная информация представлена в разделе «Квитирование алармов»).

Сопоставление зписывается во внутренний элемент точки данных _OPCUA.Config.AlarmPrioMapping. Это элемент точки данных имеет тип dyn_string и хранит сопоставление в следующем формате:

Severity1 AlertClass1

Severity2 AlertClass2

Severity3 AlertClass3

Это означает, что аларм класс 1 (AlertClass1) используется для критичности OPC UA от Severity1 до Severity2-1. Последняя область аларма простирается до максимального значения критичности OPC UA (1000).

Настройка адреса периферии

Для адреса периферии необходимо выбрать соответствующее условие (состояние). В зависимости от типа аларма в панели настройки подписки выполняется обзор в соответствующем режиме (кнопка Get Item ID (получить идент. номер элемента) на панели адреса периферии).

Как для данных и событий, так и для алармов и состояний, можно использовать либо идент. номер узла, либо путь для обзора.

Содержимое дополнительных значений для OPC UA

С помощью обработки алармов для многоэкзеплярных алармов можно записывать различные параметры событий в дополнительные значения (общая информация по дополнительным значениям представлена в разделе «Дополнительные значения», а информацию по атрибутам конфигурационного элемента для дополнительных значений см. _alert_hdl). Текущие сопоставления приведены в следующей таблице:

Атрибут (типа config _alert_hdl)Данные событий OPC UA
_add_value_1Пусто
_add_value_2Текст аларма OPC UA
_add_value_3Критичность OPC UA
_add_value_4Описание качества события OPC UA

Сортировка алармов с одинаковым временем в панели алармов и событий

Счетчик алармов, получающий приращение для алармов с одинаковым временем, может храниться в дополнительном значении. Поэтому пользователь может использовать это дополнительное значение как параметр для сортировки в панели алармов и событий для алармов с одинаковым временем. Хранение этого счетчика алармов следует активировать при помощи записи файла конфигурационного элемента «alertCounterAddValue» в разделе [opcua].

После создания нового ряда для счетчика алармов в таблице для настройки в панели алармов и событий дополнительное значение может быть использовано для сортировки. Затем алармы могут быть сортированы по времени и, если время одинаковое, по номеру аларма.

Поддерживаемые типы алармов и ограничений

Правильность обработки алармов сервером OPC UA с клиентом OPC UA «КАСКАД Цифра» зависит от нескольких факторов. При этом под правильной обработкой подразумевается правильность отображения клиентом цикла аларма на сервере.

С одной стороны это зависит от используемых типов алармов, с другой стороны также оказывает влияние способ изменения атрибутов аларма на сервере. Так как алармы OPC UA задаются гибким образом, тогда как в «КАСКАД Цифра» используется только концепция фиксированных алармов, то сопоставление с «КАСКАД Цифра» может быть выполнено только для ограниченных концепций клиента.

Для этого необходимо учесть следующие ограничения:

  • Критичность аларма не должна изменяться на сервере с момента возникновения аларма до момента его исчезновения.
  • Каждый аларм может иметь только один диапазон нормы и один диапазон аларма.
  • Состояние квитирования аларма не должно изменяться с «Квитировано» на «Не квитировано» без повторного вызова аларма на сервере.

Следующая матрица отображает поддерживаемые комбинации конфигураций клиента OPC UA «КАСКАД Цифра» (это применимо только для клиента — матрица для сервера представлена в разделе «Поддерживаемые типы алармов и квитирования»).

ПРИМЕЧАНИЯ

  • Функция «Квитировать старые алармы» не поддерживается.
  • Тип квитирования «ВХОДЯЩИЙ и ИСХОДЯЩИЙ требуют квитирования» не поддерживается для импульсных алармов.
  • Экран алармов отображает только значения атрибута _alert_hdl.._event, т. е. значение 0 для ВХОДЯЩЕГО аларма и 2 для ИСХОДЯЩЕГО аларма.
  • При использовании функции «ВХОДЯЩИЙ и ИСХОДЯЩИЙ алармы должны быть квитированы» отдельно на экране AES клиент не может деактивировать неквитированные алармы (приводятся на сером фоне без возможности щелчка мышью), так как необходимая информация содержится только на сервере. Это приводит к возникновению множественных квитированных алармов в клиенте, которые не будут квитированы на сервере до тех пор, пока не будет обеспечена возможность квитирования.
 НеквитируемыйПри квитировании удаляетсяВХОДЯЩИЙ допускает квитированиеВХОДЯЩИЙ или ИСХОДЯЩИЙ требует квитированияВХОДЯЩИЙ и ИСХОДЯЩИЙ требуют квитирования
Двоичный алармДаНетДаДаДа
Двоичный аларм (дискретный)НетНетНетНетНет
Двоичный аларм (импульсный)НетНетНетНетНеприменимо
Двоичный аларм (дискретный, импульсный)НетНетНетНетНеприменимо
Аларм непрерывных значений (2 диапазона)ДаНетДаДаДа
Аларм дискретных значений (2 диапазона)ДаНетДаДаДа
Аларм дискретных значений (импульсный, 2 диапазона)НетНетНетНетНет
Аларм непрерывных значений (n диапазонов)НетНетНетНетНет
Аларм дискретных значений (n диапазонов)ДаНетДаДаДа
Аларм дискретных значений (импульсный, n диапазонов)НетНетНет НетНет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *