EGS workflow скрипты — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(/* Отправка команды "Выключить" включенным прожекторам StreetLighting по истечении некоторого интервала после включения и только в том случае, е…)
(/* Отправка команды "Выключить" включенным прожекторам StreetLighting по истечении некоторого интервала после включения и только в том случае, е…)
Строка 157: Строка 157:
  
  
=== Отправка команды "Выключить" включенным прожекторам StreetLighting по истечении некоторого интервала после включения и только в том случае, если не находится в тревоге ни одна из зон, в которых находятся другие прожекторы StreetLighting подключенные к одному и тому же исполнительному устройству StilSoftRelay ===  
+
=== Отправка команды "Выключить" включенным прожекторам StreetLighting по истечении таймаута после включения и только в том случае, если не находится в тревоге ни одна из зон, в которых находятся другие прожекторы StreetLighting подключенные к одному и тому же исполнительному устройству StilSoftRelay ===  
  
 
:1. Компьютер
 
:1. Компьютер
Строка 196: Строка 196:
 
:4. У EgsIfElapsed:
 
:4. У EgsIfElapsed:
 
::4.1 Параметр элемента - state
 
::4.1 Параметр элемента - state
::4.2 Таймаут
+
::4.2 Таймаут - например 00:00:30. Т.е. если включается освещение, то только по истечении 30 секунд будет отправлена команда выключить.
 
:5. У EgsIfMatches:
 
:5. У EgsIfMatches:
 
::5.1 Параметр элемента - state
 
::5.1 Параметр элемента - state

Версия 17:17, 8 июня 2020

Назначение

  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" }, где ok_true - это состояние Реле Стилсофт(StilSoftRelay), ok_active - Уличное освещение)StreetLighting
4. У EgsDoUpdate:
4.1 Значение(value) - lampstate
4.2 Имя объекта(name)
4.3 Параметр объекта(param) - state
5. У линка, соединяющий EgsIfMapped с EgsDoUpdate указать в параметре Путь(path) - LogicInput/StreetLighting


По тревоге от любого устройства источника BaseObject(например: Ip видеокамера) отправка команды turn_on всем прожекторам StreetLighting в той же зоне

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

1. Компьютер
2. Acuario Manager
3. EGS Модуль
4. EgsOnUpdate
5. EgsIfMatches
6. EgsDoUpdate
7. Ip видеокамера
8. Уличное освещение(StreetLighting)
9. Зона
Добавить связи между элементами:
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
On light.jpg
6. Ip видеокамера:Привязка к зоне:ZoneInputPin + Зона:ZoneOutputPin
7. Уличное освещение:Привязка к зоне:ZoneInputPin + Зона:ZoneOutputPin
Зона камер.jpg
Настроить параметры элементов:
1. Указать IP адрес компьютера
2. У EgsOnUpdate:
2.1 Задействовать скрипт установив чекбокс - Включен(enabled)
2.2 Имя объекта(name) - state
2.3 Тип элемента(typename) - BaseObject
3. У EgsIfMatches:
3.1 Имя объекта(name)
3.2 Установить чекбокс - Ожидаемый(expected)
3.3 Параметр элемента(param) - state
3.4 Значение параметра(pattern) - alarm_*
4. У EgsDoUpdate:
4.1 Значение параметра(pattern) - turn_on
4.2 Имя объекта(name)
4.3 Параметр объекта(param) - command
5. У линка, соединяющий EgsIfMatches с EgsDoUpdate указать в параметре Путь(path) - Link/Zone/Link/StreetLighting


Отправка команды "Выключить" включенным прожекторам StreetLighting по истечении таймаута после включения и только в том случае, если не находится в тревоге ни одна из зон, в которых находятся другие прожекторы StreetLighting подключенные к одному и тому же исполнительному устройству StilSoftRelay

1. Компьютер
2. Acuario Manager
3. EGS Модуль
4. EgsIfMatches(2шт)
5. EgsIfElapsed
6. EgsOnSchedule
7. EgsDoUpdate
9. Ip видеокамера
10. Уличное освещение(StreetLighting)
11. Реле Стилсофт
12. Зона
Добавить связи между элементами:
1. Компьютер: Установленное ПО:SoftwareContainer + Менеджер устройств: ПО:SoftwareContent
2. Менеджер устройств: Менеджер устройств: ManagingContainer + Egs Модуль: Привязка к менеджеру: ManagingContent
3. EGS Модуль:Egs выход:EGSOutput + EgsOnSchedule:Egs вход:EgsInput
4. EgsOnSchedule:Egs следующий:EgsNext + EgsIfMatches:Egs предыдущий:EgsPrev
5. EgsIfMatches:Egs следующий:EgsNext + EgsIfElapsed:Egs предыдущий:EgsPrev
6. EgsIfElapsed:Egs следующий:EgsNext + EgsIfMatches:Egs предыдущий:EgsPrev
7. EgsIfMatches:Egs следующий:EgsNext + EgsDoUpdate:Egs предыдущий:EgsPrev
Выкл прожекторов.jpg
8. Ip видеокамера:Привязка к зоне:ZoneInputPin + Зона:ZoneOutputPin
9. Уличное освещение:Привязка к зоне:ZoneInputPin + Зона:ZoneOutputPin
10. Реле Стилсофт:Логический выход:LogicOutput + Уличное освещение:Логический вход:LogicInput
Выкл прожекторов2.jpg
Настроить параметры элементов:
1. Указать IP адрес компьютера
2. У EgsOnSchedule:
2.1 Задействовать скрипт установив чекбокс - Включен(enabled)
2.2 Имя объекта(name)
2.3 Указать в расписание желаемое время запуска
3. У EgsIfMatches:
3.1 Имя объекта(name) - lamp
3.2 Установить чекбокс - Ожидаемый(expected)
3.3 Параметр элемента(param) - state
3.4 Значение параметра(pattern) - ok_active
4. У EgsIfElapsed:
4.1 Параметр элемента - state
4.2 Таймаут - например 00:00:30. Т.е. если включается освещение, то только по истечении 30 секунд будет отправлена команда выключить.
5. У EgsIfMatches:
5.1 Параметр элемента - state
5.2 Значение параметра - alarm_*
5.2 Задействовать чекбокс - Соединение
6. У EgsDoUpdate:
6.1 Значение параметра(pattern) - turn_off
6.2 Имя объекта(name)
6.3 Параметр объекта(param) - command
7. У линка, соединяющий EgsOnSchedule с EgsIfMatches указать в параметре Путь(path) - */StreetLighting
8. У линка, соединяющий EgsIfElapsed с EgsIfMatches указать в параметре Путь(path) - LogicInput/StilSoftRelay/LogicOutput/StreetLighting/ZoneLink/Zone
9. У линка, соединяющий EgsIfMatches с EgsDoUpdate указать в параметре Путь(path) - lamp