Работа в Симп Лайт с событиями и авариями
Последнее изменение:
Введение
Система контроля событий и аварий предназначена для оперативного информирования оператора о следующих типах событий:
| Событие | Инициатор события | Описание | 
| Нарушение нижней уставки | Система | Если значение аналогового тега превысило Параметр «Низ уставки» | 
| Нарушение верхней уставки | Система | Если значение аналогового тега превысило Параметр «Верх уставки» | 
| Возвращение в рабочую зону | Система | Если значение аналогового тега вошло в рабочую зону, т.е. между параметрами Верх и Низ уставки | 
| Состояние ВКЛ | Система | Если дискретный тег изменил свое состояние на Включено (1, True) | 
| Состояние ВЫКЛ | Система | Если дискретный тег изменил свое состояние на Выключено (0, False) | 
| Действие пользователя | Система | Если пользователь изменил значение тега из мнемосхемы или из скрипта. Запуск и закрытие Монитора(Рантайм). Авторизация и деавторизация пользователя. | 
| Информация | Скрипт | Если использовались скриптовые команды Log LogTag | 
| Предупреждение | Скрипт | Если использовались скриптовые команды Log LogTag | 
| Авария | Скрипт | Если использовались скриптовые команды Log LogTag | 
Информирование оператора производится следующими методами:
- Звуковое оповещение
- Графическое оповещение (смена цвета эл-тов мнемосхем, мигание элементов мнемосхем)
- Отображение в специализированном компоненте на мнемосхеме журнала аварий и событий.
Все события системы сохраняются в единый журнал для последующего анализа.
Компоненты для работы с событиями в системе:
Компонент Журнал событий (компонент для размещения на мнемосхеме)
Отображает список сообщений (информационных, предупредительных, аварийных) на мнемосхеме.
Можно разместить в любом месте мнемосхемы, в любом размере.
Позволяет настроить:
- внешний вид.
- какие теги будут туда попадать
- какие события будут отображаться и в каком внешнем виде.
В режиме исполнения возможен: 
- просмотр событий,
- квитирование событий,
- отключение звука аварии,
- вызов журнала событий (двойной клик или кнопка)
Компонент Последнее событие (компонент для размещения на мнемосхеме)
Отображает последнее событие в СКАДА системе.
Кликнув, можно посмотреть список последних событий, упорядоченных по времени.
В режиме исполнения возможно квитирование, отключение звука, вызов журнала событий.
Общий Журнал событий
Отображает все события в системе с возможностью фильтрации по типу, по дате, по тексту.
Позволяет вывести на печать необходимые события или экспортировать их список в файл CSV для дальнейшей обработки.
Сейчас в журнале фиксируются все события системы:
- Выход параметра за норму и возвращение в норму
- Изменение значений параметра
- Изменение уставок или шкалы тега
- Авторизация и деавторизация пользователя(локального и сетевого).
- Запуск и закрытие Монитора
- Пользовательские сообщения из скриптов.
Функция Log
Описание:
Записывает в журнал сообщение с произвольным текстом и определенным типом без привязки к каналу.
Синтаксис:
procedure Log(State: TEventState; Text: String);
Параметры:
| Параметр | Описание | 
| State | Тип сообщения. Возможные типы: * esInfo - Информационное сообщение, * esWarning - Предупреждающее сообщение, * esAlarm - Аварийное сообщение От типа будет зависеть окраска сообщения в журналах и перфикс перед тесктом. Так же влияет на фильтрацию сообщений в журнале. | 
| Text | Произвольный текст | 
Пример:
Begin
  If ReadValue('Block7_Alarm') = 1 then Log(esAlarm, 'Авария на блоке №7');
end;
Функция LogTag
Описание:
Записывает в журнал сообщение с произвольным текстом и определенным типом c привязкой к каналу.
Обычно используется для обработки и записи предаварийных ситуаций.
Синтаксис:
LogTag(AName:string; State: TEventState; Text:string);
Параметры:
| Параметр | Описание | 
| AName | Имя тега(канала) к которому будет привязано данное событие-сообщение. | 
| State | Тип сообщения. Возможные типы: * esInfo - Информационное сообщение, * esWarning - Предупреждающее сообщение, * esAlarm - Аварийное сообщение От типа будет зависеть окраска сообщения в журналах и перфикс перед текстом. Так же влияет на фильтрацию сообщений в журнале. | 
| Text | Произвольный текст в котором можно использовать след.служебные шаблоны: ${Channel.Name} - имя тега ${Channel.Value} - значение тега ${User.Name} - имя текущего пользователя Например текст может быть такой: 'Значение канала ${Channel.Name} в предаварийной зоне | Значение: ${Channel.Value}. Пользователь ${User.Name}' | 
Пример:
Begin
  If ReadValue('Tag1') < 5 then 
    LogTag('Tag1', esWarning, 'Значение канала ${Channel.Name} в предаварийной зоне | Значение: ${Channel.Value}. Пользователь  ${User.Name}');
end;