Тех. осмотр и проверка (Event checker) — различия между версиями
Mikheeva (обсуждение | вклад) (→Построение схемы) |
Mikheeva (обсуждение | вклад) (→Алгоритм работы) |
||
Строка 74: | Строка 74: | ||
##проверяется валидность параметров '''maintenancePeriod''' и '''maintenanceLast''' (не валидные переводятся в статус '''invalid'''); | ##проверяется валидность параметров '''maintenancePeriod''' и '''maintenanceLast''' (не валидные переводятся в статус '''invalid'''); | ||
##рассчитывается параметр '''maintenancePlanned''' = '''maintenanceLast''' + '''maintenancePeriod'''; | ##рассчитывается параметр '''maintenancePlanned''' = '''maintenanceLast''' + '''maintenancePeriod'''; | ||
− | ##если текущее время больше '''maintenancePlanned''', то '''maintenanceLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''MaintenanceExpired'''. | + | ##если текущее время больше '''maintenancePlanned''', то '''maintenanceLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''MaintenanceExpired'''; |
+ | ##если текущее время больше '''maintenancePlanned''' минус '''settings.timeout''', то к '''stateargs''' объекта добавляется флаг '''MaintenanceNeeded'''. | ||
+ | При settings.event равном verification. | ||
#При '''settings.event''' равном '''verification''': | #При '''settings.event''' равном '''verification''': | ||
##проверяется валидность параметров '''verificationPeriod''' и '''verificationLst''' (не валидные переводятся в статус '''invalid'''); | ##проверяется валидность параметров '''verificationPeriod''' и '''verificationLst''' (не валидные переводятся в статус '''invalid'''); | ||
##рассчитывается параметр '''verificationPlanned''' = '''verificationLast''' + '''verificationPeriod'''; | ##рассчитывается параметр '''verificationPlanned''' = '''verificationLast''' + '''verificationPeriod'''; | ||
− | ##если текущее время больше '''verificationPlanned''', то '''verificationLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''VerificationExpired'''. | + | ##если текущее время больше '''verificationPlanned''', то '''verificationLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''VerificationExpired'''; |
+ | ##если текущее время больше '''verificationPlanned''' минус '''settings.timeout''', то к '''stateargs''' объекта добавляется флаг '''VerificationNeeded'''. | ||
==Пример работы== | ==Пример работы== |
Версия 11:29, 25 декабря 2018
Определение своевременности тех. осмотров и проверок.
Построение схемы
Для построения схемы требуется:
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.
- При 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;
- в настройках:
- тип (settings.types): Sensor;
- название мероприятия (settings.event): maintenance.
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 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.