Тех. осмотр и проверка (Event checker)
Определение своевременности тех. осмотров и проверок. Скрипт работает с одной локальной базой интеграции.
Построение схемы
Для построения схемы требуется:
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), например: Sensor;
- название мероприятия (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 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.