Обработка алармов для дискретных значений

Обработка алармов для дискретных значений используется в том случае, когда алармы должны формироваться при совпадении текущего или исходного значения с одним из заданных дискретных значений. Одно дискретное значение может быть представлено как диапазон, содержащий одно единственное значение. В этой связи далее в тексте под диапазоном следует понимать либо отдельное дискретное значение, либо набор дискретных значений.

Обработка алармов дискретных значений используется для элементов точек данных типов uint, int, bool и bit32.

ВНИМАНИЕ

Обработка алармов для дискретных значений не должна применяться для элементов точек данных типа floaf (c плавающей запятой) !

Стандартная панель для обработки алармов для числовых значений

Панель для настройки обработки алармов для числовых дискретных значений (int, uint) имеет три вкладки.

Рисунок. Панель обработки алармов для числовых значений (int, uint) с 4 диапазонами

Вкладка «Границы»

На вкладке «Границы» могут быть настроены до 20 диапазонов. Диапазон 1 (нижний диапазон) всегда является диапазоном допустимых значений (нормальное состояние системы).

  • Граничные значения: для каждого аларм-диапазона необходимо указать одно или несколько дискретных значений, входящих в данный диапазон, при достижении которых должен формироваться аларм. При изменении исходного или текущего значения производится проверка на предмет соответствия исходного или текущего значения данному диапазону. При этом проверка производится в направлении от верхнего диапазона к нижнему (к диапазону допустимых значений). При первом нахождении соответствия нижестоящие диапазоны не анализируются. Отсутствие соответствия означает, что значение находится в рамках допустимого диапазона.

При определении диапазона допустимо использовать:

  • отдельное значение, например, для integer = 10
  • интервал значений, например, для integer = 90-100
  • набор отдельных значений, например, для integer = 10, 20, 30
  • знак подстановки * — переписывает диапазон допустимых значений
  • отрицательные интервалы значений, например, для integer = (-100)-(-90)
  • Операторы граничных значений: доступны два оператора. При использовании оператора «равно» («=») аларм будет сформирован в том случае, если исходное или текущее значение совпадает с одним значений, указанных для данного [аларм-]диапазона (в том числе совпадает с одним из значений из указанных интервалов). При использовании оператора «не равно» («!=») аларм будет сформирован в том случае, если исходное или текущее значение не соответствует диапазону. Верхняя и нижняя границы диапазона допустимых значений определяются граничными значениями диапазона значений «КАСКАД Цифра» соответствующего типа данных.
  • Аларм-класс: выбор одного из стандартных аларм-классов (см. также раздел _alert_class (Аларм-класс), либо выбор отдельного пользовательского аларм-класса (при помощи расположенного справа селектора точек данных). Для диапазона допустимых значений (нормальное состояние системы) аларм-класс не указывается. В отличие от обработки алармов для непрерывных значений, сортировка аларм-классов по возрастанию приоритетов не требуется, аларм-классы могут быть заданы произвольным образом. Допускается использование одних и тех же аларм-классов в нескольких диапазонах.
  • Тексты для диапазонов: данные поля служат для ввода текстов алармов для соответствующих аларм-диапазонов. Возможно также указание текстов для диапазона допустимых значений, однако данные тексты не будут отображаться в панели алармов.
  • Биты состояния: При отсутствии дополнительных ограничений, аларм формируется в случае соответствия исходного или текущего значения [аларм-]диапазону. При нажатии на кнопку «Биты состояния» открывается панель, позволяющая накладывать дополнительные ограничения на формирование алармов путем установки соответствующих битов.

Рисунок. Панель для выбора пользовательских битов и битов состояния

Установка битов производится щелчком левой кнопки мыши по флажку пользовательского бита или по флажку бита состояния. Допустимы следующие значения:

  • 0 — бит должен иметь значение 0 (ЛОЖЬ). Т.е. при несоблюдении данного условия аларм не будет сформирован даже при соответствии значения аларм-диапазону.
  • 1 — бит должен иметь значение 1 (ИСТИНА). Т.е. при несоблюдении данного условия аларм не будет сформирован.
  • X — бит может принимать значение 1 или 0 (т.е. бит не учитывается)

При настройке хотя бы одного бита состояния возле кнопки «Биты состояния» отображается значок .

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

Вкладка «Параметры»

Вкладка «Параметры» аналогична вкладке Параметры панели обработки групповых алармов.

Вкладка «Биты состояния»

Вкладка «Биты состояния» позволяет указать те биты элемента точки данных (исходное значение), изменение которых будет вызывать повторное формирование текущего аларма.

Если при изменении какого-либо бита требуется формирование аларма, следует установить флажок, находящийся рядом с названием данного бита. При снятом флажке изменения бита игнорируются.

Рисунок. Вкладка «Биты состояния»

Обработка алармов для дискретных логических значений

Для элементов точек данных логического типа существуют только три различия между обработкой алармов для непрерывных логических значений и обработкой алармов для дискретных логических значений:

  • При обработке алармов для дискретных логических значений имеется возможность задания текста СНЯТия аларма. Тексты УСТН. и СНЯТия аларма для диапазона допустимых значений не будут отображаться в панели алармов, однако могут быть опрошены (например, для использования в качестве контекста enum)..
  • Вкладка «Биты состояния» позволяет указывать те биты элемента точки данных (исходное значение), изменение которых будет вызывать повторное формирование текущего аларма. (см. рисунок и описание выше).
  • Кнопка «Биты состояния» позволяет накладывать дополнительные ограничения на формирование алармов путем установки соответствующих битов.

Дополнительную информацию об обработке алармов для логических значений можно найти в разделе «Обработка алармов для непрерывных логических значений«.

Рисунок. Обработка алармов элемента точки данных логического типа

ПРИМЕЧАНИЕ

Для настройки обработки алармов для дискретных логических значений при помощи сценария ctrl (при помощи dpSet), первоначально следует удалить существующую обработку алармов и затем повторно создать обработку алармов (см. пример ниже).

ПРИМЕР

rc = dpSetTimedWait(createTime(startTime),

 dp + «:_alert_hdl.._type»,

 DPCONFIG_ALERT_NONBINARYSIGNAL

);

rc = dpSetTimedWait(createTime(startTime), 

 dp + «:_alert_hdl.1._type», DPDETAIL_RANGETYPE_MATCH,

 dp + «:_alert_hdl.2._type», DPDETAIL_RANGETYPE_MATCH,

 dp + «:_alert_hdl.1._class», «»,

 dp + «:_alert_hdl.2._class», alertClass,

 dp + «:_alert_hdl.1._text», » GUT/true    «,

 dp + «:_alert_hdl.2._text», «false»,

 dp + «:_alert_hdl.1._went_text», «[ GUT/true   ]»,

 dp + «:_alert_hdl.2._went_text», «[false]»,

 dp + «:_alert_hdl.1._match», «*»,

 dp + «:_alert_hdl.2._match», «0»

);

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

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