EGS workflow скрипты

Материал из Integra-S Wiki
Перейти к: навигация, поиск

Назначение

  1. Вызов хранимой процедуры Базы Данных по расписанию
  2. Копирование команд от элемента к элементу
  3. Копирование состояний от элемента к элементу
  4. Отправка команды при тревоге любого датчика
  5. Трансляция состояний в события (StateEvent)
  6. Трансляция состояний устройств в состояние зоны
  7. Отсечение ложных срабатываний путем перевода зоны в тревогу по минимум двум тревожным устройствам

Примеры

Вызов хранимой процедуры БД (Чистка архива) по расписанию

Для этого необходимо добавить элементы в редакторе СКАДА:

1. Компьютер
2. Acuario Manager
3. EGS Модуль
4. EgsOnSchedule
5. EgsDoCallStored
Добавить связи между элементами:
1. Компьютер: Установленное ПО:SoftwareContainer + Менеджер устройств: ПО:SoftwareContent
2. Менеджер устройств: Менеджер устройств: ManagingContainer + Egs Модуль: Привязка к менеджеру: ManagingContent
3. EGS Модуль: Egs выход:EGSOutput + EgsOnSсhedule: Egs вход:EgsInput
4. EgsOnShedule: Egs следующий:EGSNext + EgsDoCallStored: EGS предыдущий:EgsPrev
Схема процедуры.jpg
Настроить параметры элементов:
1. Указать IP адрес компьютера
2. У EgsOnSchedule:
2.1 Задействовать скрипт установив чекбокс - Включен(enabled)
2.2 Имя объекта(name)
2.3 В параметре "Расписание" указать желаемую дату и время запуска.

Пример расписания:

  • * * * * * * - каждую секунду;
  • * 10 * * * * - раз в минуту когда секунды будут = 10 (например: в 13часов 1минута 10сек; 13часоов 2минуты 10сек);
  • * 10 * * * * - раз в час когда минута будет = 10 (например: в 13часов 10минут 0 сек; 14часов 10минут 0сек)
  • * 10 * 3 * * - каждого 3-го числа месяца раз в час когда минута будет = 10;
  • * 10 * 3 6 *- запуск расписания 3 июня раз в час когда минута будет = 10;
  • * 10 * * * 0 - запуск расписания по воскресеньям раз в час когда минута будет = 10;
3. У EgsDoCallStored:
3.1 Имя объекта(name)
3.2 Имя хранимой процедуры БД(proc): graph.clearing_all_archive
3.3 Параметры хранимой процедуры БД: ServerId, "1 month", где первым параметром является идентификатор сервера, на котором выполняется скрипт, а вторым - интервал времени, ранее которого будут удалены записи. Если задать следующий аргумент: ServerId, "7 days", то будут сохранены записи за 7 дней от текущей даты, остальные будут очищены.
3.4 Таймаут - ожидание ответа от сервера в течении указанного времени, после чего записывает этот ответ в Результат(result) в виде json

Копирование команд Включить(turn_on) и Выключить(turn_off) из StreetLighting в связанный с ним по LogicLink элемент StilSoftRelay

Для этого необходимо добавить элементы в редакторе СКАДА:

1. Компьютер
2. Acuario Manager
3. EGS Модуль
4. EgsOnUpdate
5. EgsIfMatches
6. EgsDoUpdate
7. Уличное освещение (StreetLighting)
8. Реле Стилсофт (StilSoftRelay)
Добавить связи между элементами:
1. Компьютер: Установленное ПО:SoftwareContainer + Менеджер устройств: ПО:SoftwareContent
2. Менеджер устройств: Менеджер устройств: ManagingContainer + Egs Модуль: Привязка к менеджеру: ManagingContent
3. EGS Модуль:Egs выход:EGSOutput + EgsOnUpdate:Egs вход:EgsInput
4. EgsOnUpdate:Egs следующий:EGSNext + EgsIfMatches:EGS предыдущий:EgsPrev
5. EgsIfMatches:Egs следующий:EGSNext + EgsDoUpdate:EGS предыдущий:EgsPrev
Схема StreetLighting.jpg
6. Уличное освещение:Логический вход:LogicInput + Реле Стилсофт:Логический выход:LogicOutput
Схема StreetLighting и реле.jpg
Настроить параметры элементов:
1. Указать IP адрес компьютера
2. У EgsOnUpdate:
2.1 Задействовать скрипт установив чекбокс - Включен(enabled)
2.2 Имя объекта(name) - lamp
2.3 Параметр элемента(param) - command
2.4 Тип элемента(typename) - StreetLighting
3. У EgsIfMatches:
3.1 Значение параметра(pattern) - turn_*
3.2 Имя объекта(name)
3.3 Установить чекбокс - Ожидаемый(expected)
3.4 Параметр элемента(param) - command
4. У EgsDoUpdate:
4.1 Значение(value) - lamp.command, где lamp - это имя объекта указанное в EgsOnUpdate
4.2 Имя объекта(name)
4.3 Параметр объекта(param) - command
5. У линка, соединяющий EgsIfMatches с EgsDoUpdate указать в параметре Путь(path) - LogicInput/StilSoftRelay

Копирование состояний ok_true, ok_false и error_defective из StilSoftRelay в связанный с ним по LogicLink элемент StreetLighting

Для этого необходимо добавить элементы в редакторе СКАДА:

1. Компьютер
2. Acuario Manager
3. EGS Модуль
4. EgsOnUpdate
5. EgsIfMapped
6. EgsDoUpdate
7. Уличное освещение (StreetLighting)
8. Реле Стилсофт (StilSoftRelay)
Добавить связи между элементами:
1. Компьютер: Установленное ПО:SoftwareContainer + Менеджер устройств: ПО:SoftwareContent
2. Менеджер устройств: Менеджер устройств: ManagingContainer + Egs Модуль: Привязка к менеджеру: ManagingContent
3. EGS Модуль:Egs выход:EGSOutput + EgsOnUpdate:Egs вход:EgsInput
4. EgsOnUpdate:Egs следующий:EGSNext + EgsIfMapped:EGS предыдущий:EgsPrev
5. EgsIfMapped:Egs следующий:EGSNext + EgsDoUpdate:EGS предыдущий:EgsPrev
Схема копи состояний.jpg
6. Реле Стилсофт:Логический вход:LogicInput + Уличное освещение:Логический выход:LogicOutput
Схема копи состояний реле.jpg
Настроить параметры элементов:
1. Указать IP адрес компьютера
2. У EgsOnUpdate:
2.1 Задействовать скрипт установив чекбокс - Включен(enabled)
2.2 Имя объекта(name) - relay
2.3 Параметр элемента(param) - state
2.4 Тип элемента(typename) - StilSoftRelay
3. У EgsIfMapped:
3.1 Имя объекта(name) - lampstate
3.2 Установить чекбокс - Ожидаемый(expected)
3.3 Параметр элемента(param) - state
3.4 Таблица соответствий (mapping) - { "ok_true": "ok_active", "ok_false": "ok_inactive", "error_defective": "error_defective" }
4. У EgsDoUpdate:
4.1 Значение(value) - lampstate
4.2 Имя объекта(name)
4.3 Параметр объекта(param) - state
5. У линка, соединяющий EgsIfMapped с EgsDoUpdate указать в параметре Путь(path) - LogicInput/StreetLighting