Тех. осмотр и проверка (Maintenance and verification 1) — различия между версиями
Mikheeva (обсуждение | вклад) (→Проверка) |
Mikheeva (обсуждение | вклад) (→Алгоритм работы) |
||
Строка 127: | Строка 127: | ||
==Алгоритм работы== | ==Алгоритм работы== | ||
− | # Выбираются все объекты типов соответствующих хотя бы одной маске из списка '''settings.types''' | + | #Выбираются все объекты типов, соответствующих хотя бы одной маске из списка '''settings.types'''. |
− | # | + | #При включенном '''settings.maintenance''': |
+ | ##проверяется валидность параметров '''maintenancePeriod''' и '''maintenanceLast''' (не валидные переводятся в статус '''invalid'''); | ||
+ | ##рассчитывается параметр '''maintenancePlanned''' = '''maintenanceLast''' + '''maintenancePeriod'''; | ||
+ | ##если текущее время больше '''maintenancePlanned''', то '''maintenanceLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''MaintenanceExpired'''. | ||
+ | #При включенном '''settings.verification''': | ||
+ | ##проверяется валидность параметров '''verificationPeriod''' и '''verificationLst''' (не валидные переводятся в статус '''invalid'''); | ||
+ | ##рассчитывается параметр '''verificationPlanned''' = '''verificationLast''' + '''verificationPeriod'''; | ||
+ | ##если текущее время больше '''verificationPlanned''', то '''verificationLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''VerificationExpired'''. | ||
==Пример работы== | ==Пример работы== |
Версия 16:32, 5 апреля 2018
Определение своевременности тех. осмотров и проверок.
Содержание
Настройка
Добавления триггера EgsScheduled
Триггер EgsScheduled можно добавить двумя способами:
Добавление триггера EgsScheduled по ссылке
Для добавления скрипта необходимо:
1. Импортировать скрипт по следующей ссылке: http://maps.integra-s.com/resources/typedef2017/egs/Maintenance%20and%20verification%201.put.
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
3. В открывшемся окне выбрать импортированный скрипт "Maintennance and verification 1.put".
Элемент появится на рабочей области.
Добавление триггера вручную
Для того чтобы добавить триггер вручную, необходимо:
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент "EgsScheduled".
2. Дважды нажать на выбранный элемент.
После этого появится окно для добавления элемента.
3. Нажать кнопку "Добавить".
Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
Построение схемы
Для дальнейшего построения схемы необходимо:
1. Добавить элемент EgsModule, менеджер AcuarioManager и компьютер Computer.
2. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме элемент Computer и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
3. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.
4. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Привязка к менеджеру: ManagingContainer" из Менеджера устройств.
5. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
6. Настроить следующие параметры триггера:
- единица измерения (period_unit), например: секунда;
- интервал в единицах измерения (period_count), например: 1;
- точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- включить триггер (enabled), например: true;
- в настройках:
- список масок имен типов для отправки команды (types), например: BOLID_*;
- список идентификаторов объектов для отправки команды (guids), например: 18a61354-9d51-4506-be41-538b235cef3d;
- команда (command), например: activate.
Замечание:
Если скрипт не был импортирован, то для триггера необходимо настроить параметры:
- текст скрипта (script)
http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/script/value;
- тип (typedef)
http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/typedef/value.
- единица измерения (period_unit), например: секунда;
- интервал в единицах измерения (period_count), например: 1;
- точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- включить триггер (enabled), например: true;
- в настройках:
- список масок имен типов (settings.types), например: sibintekOpcItem, BOLID_*;
- флаг включения алгоритма для тех. осмотров (settings.maintenance), например: true, false;
- флаг включения алгоритма для проверок (settings.verification), например: true, false.
Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".
После этого откроется окно для редактирования параметров.
Также это можно выполнить, открыв свойства элемента.
Маски типов и состояний
Маски могут быть как точным именами типов или состояний, так и их частями, содержащими следующие контрольные символы:
? - любой одиночный символ; * - ноль или более символов; # - любая цифра от 0 до 9; [ charlist ] - любой одиночный символ в charlist; [! charlist ] - любой одиночный символ, не включенный в charlist.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.
Алгоритм работы
- Выбираются все объекты типов, соответствующих хотя бы одной маске из списка settings.types.
- При включенном settings.maintenance:
- проверяется валидность параметров maintenancePeriod и maintenanceLast (не валидные переводятся в статус invalid);
- рассчитывается параметр maintenancePlanned = maintenanceLast + maintenancePeriod;
- если текущее время больше maintenancePlanned, то maintenanceLast переводится в статус alarm, а к stateargs объекта добавляется флаг MaintenanceExpired.
- При включенном settings.verification:
- проверяется валидность параметров verificationPeriod и verificationLst (не валидные переводятся в статус invalid);
- рассчитывается параметр verificationPlanned = verificationLast + verificationPeriod;
- если текущее время больше verificationPlanned, то verificationLast переводится в статус alarm, а к stateargs объекта добавляется флаг VerificationExpired.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму.
2. Добавить элемент Болид Пожарный датчик.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- единица измерения (period_unit): секунда;
- интервал в единицах измерения (period_count): 1;
- повторять через интервал или выполнить один раз в указанное время (repeat): 0;
- задействовать триггер (enabled): true;
- в настройках:
- types: BOLID_*;
- command: activate.
После сохранения параметров триггера в параметре "Команда" Пожарного датчика с периодичностью в 1 секунду будет устанавливаться команда "Взять под охрану".