Тех. осмотр и проверка (Event checker) — различия между версиями
Mikheeva (обсуждение | вклад)  (→Пример работы)  | 
				Mikheeva (обсуждение | вклад)   | 
				||
| Строка 1: | Строка 1: | ||
| − | Определение своевременности тех. осмотров и проверок.  | + | Определение своевременности тех. осмотров и проверок. Скрипт работает с одной локальной базой интеграции.  | 
==Построение схемы==  | ==Построение схемы==  | ||
Версия 12:40, 6 марта 2019
Определение своевременности тех. осмотров и проверок. Скрипт работает с одной локальной базой интеграции.
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsScheduled.
- Для этого необходимо:
 
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsScheduled.
 
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
 
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
 
- Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
 
2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script) 
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Event%20checker%202.put&path=0/params/script/value; - единица измерения (period_unit), например: секунда;
 - интервал в единицах измерения (period_count), например: 1;
 - точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
 - повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
 - включить триггер (enabled), например: true;
 - в настройках:
- тип устройства для проверки регулярного мероприятия (type), например: sibintekOpcItem;
 - название мероприятия (event), например: maintenance, verification;
 - предупреждать о необходимости мероприятия за указанный период (timeout), например: 1.00:00:00.
 
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке  http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Event%20checker%202.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.
Алгоритм работы
- Выбираются все объекты типов, соответствующих хотя бы одному типу из списка settings.types.
 - При settings.event равном maintenance:
- проверяется валидность параметров maintenancePeriod и maintenanceLast (не валидные переводятся в статус invalid);
 - рассчитывается параметр maintenancePlanned = maintenanceLast + maintenancePeriod;
 - если текущее время больше maintenancePlanned, то maintenanceLast переводится в статус alarm, а к stateargs объекта добавляется флаг MaintenanceExpired;
 - если текущее время больше maintenancePlanned минус settings.timeout, то к stateargs объекта добавляется флаг MaintenanceNeeded.
 
 - При settings.event равном verification:
- проверяется валидность параметров verificationPeriod и verificationLst (не валидные переводятся в статус invalid);
 - рассчитывается параметр verificationPlanned = verificationLast + verificationPeriod;
 - если текущее время больше verificationPlanned, то verificationLast переводится в статус alarm, а к stateargs объекта добавляется флаг VerificationExpired;
 - если текущее время больше verificationPlanned минус settings.timeout, то к stateargs объекта добавляется флаг VerificationNeeded.
 
 
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Построение схемы).
2. Добавить элемент Болид Пожарный датчик.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- единица измерения (period_unit): секунда;
 - интервал в единицах измерения (period_count): 1;
 - повторять через интервал или выполнить один раз в указанное время (repeat): 0;
 - задействовать триггер (enabled): true;
 - в настройках:
- тип (types): Sensor;
 - название мероприятия (event): maintenance;
 - предупреждать о необходимости мероприятия за указанный период (timeout): 1.00:00:00.
 
 
5. Настроить следующие параметры пожарного датчика:
- период обслуживания(maintenancePeriod): 23;
 - последнее обслуживание(maintenanceLast): 2018-02-01T10:00:00
 
Результат:
После сохранения параметров триггера и пожарного датчика в параметр датчика установится запланированное обслуживание (maintenancePlanned): 2018-02-24T10:00:00.
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsScheduled можно осуществить по ссылке.
Для этого необходимо:
- 1. Импортировать скрипт по следующей ссылке: 
http://maps.integra-s.com:5434/resources/typedef2017/egs/Event%20checker%202.put. - 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
- 3. В открывшемся окне выбрать импортированный скрипт "Event checker 2.put".
 
- Элемент появится на рабочей области.
 
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.
 




