Прежде чем
приступить к описанию тревог,
сформулируем задачу. Итак,
создаваемая в этом примере система
должна выполнять следующие
действия:
- При
переключении типа
отображаемого сигнала в окно
тревог выдавать сообщение о
текущем типе сигнала.
- При изменении
периода сигнала в окно тревог
выдавать сообщение о текущем
значении периода.
- Весь интервал
значений амплитуды сигналов
разделен на несколько зон.
Значению от 15001 до 25000
соответствует зеленая зона и
состояние 'амплитуда в норме',
значению от 25001 до 32000 -
фиолетовая и состояние 'амплитуда
выше нормы', значению от 12001 до
15000 - оранжевая и состояние 'предаварийное
значение амплитуды', значению
от 10000 до 12000 - красная и
состояние 'критическое
значение амплитуды'. При
переходе значения амплитуды из
одной зоны в другую выдавать в
окно тревог сообщение о
текущем состоянии амплитуды.
Кроме того, в пределах
оранжевой зоны выдавать
сообщение каждый раз, когда при
изменении амплитуды, ее
значение не выходит за границы
оранжевой зоны. При попадании
амплитуды в красную зону в окно
тревог выдавать сообщение,
требующее подтверждения со
стороны оператора. Если в
течении 15 секунд после
появления этого сообщения в
окне тревог оно не будет
подтверждено, то система
автоматически установит
значение амплитуды 20000. В
случае получения
подтверждения от оператора
автоматического вмешательства
системы не будет.
Теперь, когда
задача ясна, рассмотрим, что и как
необходимо сделать, чтобы решить ее.
Запустите
редактор тревог, выполнив
пункт Alarm Editor меню Edit редактора
схем. В окне редактора Вы
увидите записи о трех точках
тревог.

При описании
обработчиков тревог будет
использоваться понятие группа
тревоги (поле Group в окне Handler Editor).
Окно тревог позволяет
устанавливать какие группы будут
отображаться. Т.о. деление тревог на
группы предназначено для повышения
избирательности при работе с окном
тревог. В рассматриваемом примере
деление тревог на группы является
условным и призвано для того, чтобы
продемонстрировать такую
возможность
- Запустите
редактор групп тревог, выбрав
пункт Group Editor меню Edit.
- Нажмите кнопку
New, задайте имя группы тревог
CONFIRM_GROUP, а в поле Description -
описание (если требуется). По
аналогии создайте группу
тревог с именем ALARM_GROUP1.


- Нажмите кнопку
Done, чтобы закрыть редактор групп
тревог.
- Запустите
редактор обработчиков тревог,
выбрав пункт Handler Editor меню Edit.
- Нажмите кнопку
New и введите имя нового
обработчика SAW_HANDLER. Этот
обработчик будет выполняться в
случае включения сигнала пила.
В соответствии с заданием в
этом случае необходимо выдать
сообщение о выборе
отображаемого типа сигнала в
окно тревог. Для этого сначала
выберите группу тревог и
установите все флаги
обработчика в соответствии со
следующим фрагментом.

После чего
нажмите кнопку справа от флага
Actions под заголовком Condition TRUE. В
окне Alarm Actions выберите действие 'Выдать
сообщение в окно тревог' (кнопка
Message To Window), и задайте остальные
параметры как это показано на
следующем фрагменте.

Сообщение
задано с использованием
макроподстановок. Вместо макроса
$(T) будет подставлено время в
формате ЧЧ:ММ:СС, вместо $(1) и $(3)
строки комментариев. Комментарий
1 соответствует параметру String1 и
задается для точки тревоги в
целом. Комментарий 3 - параметру
String3 и задается для каждого
условия таблицы тревог.
- По
аналогии с предыдущим
обработчиком, создаются
обработчики для остальных
сигналов - SINE_HANDLER, RANDOM_HANDLER,
IMPULSE_HANDLER, а также обработчик
периода PERIOD_HANDLER и обработчики
амплитуды в зонах нормального
и превышающего значений -
NORMAL_HANDLER и ABOVE_HANDLER. Сообщения,
выдаваемые этими
обработчиками, отличаются
только атрибутами: цветом фона
и текста, а также шрифтом.
Несколько отличий
имеют обработчики предаварийного и
критического значений амплитуды.
Поэтому их следует рассмотреть
подробно.
- Итак, в
окне Handler Editor нажмите кнопку New
и введите имя нового
обработчика UNDER_HANDLER. Этот
обработчик будет выполняться в
случае, когда значение
амплитуды будет
соответствовать
предаварийному. Для того, чтобы
соблюсти все требования
задания, сначала выберите
группу тревог и установите все
флаги обработчика в
соответствии со следующим
фрагментом:

- Нажмите кнопку
справа от флага Actions под
заголовком Condition TRUE и в окне Alarm
Actions выберите действие 'Выдать
сообщение в окно тревог' (кнопка
Message To Window), а остальные параметры
задайте как это показано на
следующем фрагменте. Обратите
внимание на установленный флаг
Repeat, который отвечает за то, чтобы
сообщение выдавалось повторно.

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

Обратите
внимание на группу флагов под
заголовком Confirm. Флаг Window
указывает, что подтверждение
тревоги ожидается из окна тревог
и в случае получения
подтверждения тревога будет "сброшена"
(на это указывает флаг Alarm OFF). В
случае отсутствия подтверждения
в течении 15 секунд (поле No Confirm)
необходимо выполнить некоторые
действия (тревога при этом тоже
переводится в состояние "сброшена").
- Задайте
действие в случае
возникновения тревоги. Для
этого нажмите кнопку справа от
флага Actions под заголовком Condition
TRUE. Установите флаг
необходимости подтверждения
тревоги - Confirm.

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

Второе действие
- непосредственно вмешательство
в виде посылки данных в канал
Amplitude модуля Simulator.

Чтобы задать
значение нажмите кнопку Set Data. В
окне Set Parameters выберите строку с
именем поля WORD_item. При повторном
нажатии на эту строку через
специальное окно ввода задайте
значение 20000.

- Запустите
редактор таблиц тревог, выбрав
пункт Alarm Tables меню Edit.
- Создайте
таблицу в соответствии со
следующим фрагментом.

Для этого
нажмите кнопку New и задайте имя
таблицы PERIOD_TABLE. Нажмите кнопку
Field для того, чтобы указать, что
условия будут заданы для одной
переменной величины. Укажите тип
данных WORD в поле Type. Используя
кнопку Add, добавьте в таблицу 10
строк (период сигналов может
принимать только целочисленные
значения от 1 до 10). При задании
условия используйте
макроопределение VAR везде, где
подразумевается значение
переменной.
- По
аналогии создайте таблицы
тревог с именами SIGNAL_TABLE и
AMPLITUDE_TABLE. Обратите внимание на
то, как заданы условия в
таблице AMPLITUDE_TABLE, фрагмент
которой приводится ниже.

- Для того,
чтобы привязать таблицу тревог
к каналу Choice модуля Simulator, на
который установлена точка
тревоги, нажмите левую кнопку
"мыши" в столбце Tables/Alarms в
строке, которая содержит
запись Simulator IN : Choice.
- В окне Add Table Link
задайте привязку таблицы
SIGNAL_TABLE к полю WORD_item. Для этого
сначала нажмите кнопку Field под
заголовком Link Table to, затем
укажите имя поля и, наконец,
задайте имя таблицы.

- Нажмите
кнопку Done в окне Add Table Link. При
этом в окне редактора тревог
появится новая запись, которая
свидетельствует о том, что к
полю WORD_item входного канала Choice
модуля Simulator привязана таблица
SIGNAL_TABLE, включающая обработку 4-х
тревог.
Существует еще
один способ привязки таблиц тревог.
Для того, чтобы воспользоваться им,
необходимо сначала закончить
работу с редактором тревог.
Обратите внимание, что перед
выходом из редактора тревог
необходимо сохранить последние
изменения, выполнив пункт Save меню
File.
- Выберите
кнопку
в левой части редактора
схем и нажмите левую кнопку "мыши"
на изображении точки тревоги
на входе Period модуля Simulator. Затем
в окне Alarm Point Configuration нажмите
кнопку New. После этого появится
окно Alarm Table Connect. В этом окне по
аналогии с окном Add Alarm Table
задайте привязку таблицы
PERIOD_TABLE к полю WORD_item канала Period.
Нажмите кнопку Done.

- Теперь в
окне Alarm Point Configuration задайте
строку комментариев в поле
String1. Фрагмент того, как будет
выглядеть при этом окно Alarm Point
Configuration, приводится ниже.

- Подобным
образом привяжите таблицу
AMPLITUDE_TABLE к полю WORD_item канала
Amplitude модуля Simulator.

- Для
таблицы SIGNAL_TABLE, привязка для
которой была задана в
редакторе тревог, введите
строку комментариев в поле
String1.
Если теперь снова
запустить редактор тревог, то окно
будет иметь следующий вид.
