Тех. осмотр и проверка (Event checker) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Проверка)
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
Определение своевременности тех. осмотров и проверок.
+
Определение своевременности тех. осмотров и проверок. Скрипт работает с одной локальной базой интеграции.
  
 
==Построение схемы==
 
==Построение схемы==
Строка 38: Строка 38:
 
[[File:MaintenanceVerification_com_2.PNG|центр|1000px]]
 
[[File:MaintenanceVerification_com_2.PNG|центр|1000px]]
  
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''.
+
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств'''.
  
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
Строка 55: Строка 55:
 
#включить триггер ('''enabled'''), например: true;
 
#включить триггер ('''enabled'''), например: true;
 
#в настройках:
 
#в настройках:
##тип устройства для проверки регулярного мероприятия, например: sibintekOpcItem;
+
##тип устройства для проверки регулярного мероприятия ('''type'''), например: Sensor;
##название мероприятия ('''settings.event'''), например: maintenance, verification.
+
##название мероприятия ('''event'''), например: maintenance или verification;
 +
##предупреждать о необходимости мероприятия за указанный период ('''timeout'''), например: 1.00:00:00.
  
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Строка 63: Строка 64:
  
 
==Проверка==
 
==Проверка==
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Maintenance%20and%20verification%201.put&path=0/params/hash/value</code>
+
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code> http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Event%20checker%202.put&path=0/params/hash/value</code>
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
 
==Алгоритм работы==
 
==Алгоритм работы==
  
#Выбираются все объекты типов, соответствующих хотя бы одной маске из списка '''settings.types'''.
+
#Выбираются все объекты типов, соответствующих хотя бы одному типу из списка '''settings.types'''.
#При включенном '''settings.maintenance''':
+
#При '''settings.event''' равном '''maintenance''':
 
##проверяется валидность параметров '''maintenancePeriod''' и '''maintenanceLast''' (не валидные переводятся в статус '''invalid''');
 
##проверяется валидность параметров '''maintenancePeriod''' и '''maintenanceLast''' (не валидные переводятся в статус '''invalid''');
 
##рассчитывается параметр '''maintenancePlanned''' = '''maintenanceLast''' + '''maintenancePeriod''';
 
##рассчитывается параметр '''maintenancePlanned''' = '''maintenanceLast''' + '''maintenancePeriod''';
##если текущее время больше '''maintenancePlanned''', то '''maintenanceLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''MaintenanceExpired'''.
+
##если текущее время больше '''maintenancePlanned''', то '''maintenanceLast''' переводится в статус '''alarm''', а к '''stateargs''' объекта добавляется флаг '''MaintenanceExpired''';
#При включенном '''settings.verification''':
+
##если текущее время больше '''maintenancePlanned''' минус '''settings.timeout''', то к '''stateargs''' объекта добавляется флаг '''MaintenanceNeeded'''.
 +
#При '''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'''.
  
 
==Пример работы==
 
==Пример работы==
Строка 100: Строка 103:
 
#задействовать триггер ('''enabled'''): true;
 
#задействовать триггер ('''enabled'''): true;
 
#в настройках:
 
#в настройках:
##список масок имен типов ('''settings.types'''): BOLID_*;
+
##тип ('''types'''): Sensor;
##флаг включения алгоритма для тех. осмотров ('''settings.maintenance'''): true;
+
##название мероприятия ('''event'''): maintenance;
##флаг включения алгоритма для проверок ('''settings.verification'''): false.
+
##предупреждать о необходимости мероприятия за указанный период ('''timeout'''): 1.00:00:00.
  
 
5. Настроить следующие параметры пожарного датчика:
 
5. Настроить следующие параметры пожарного датчика:
Строка 118: Строка 121:
 
Для этого необходимо:
 
Для этого необходимо:
  
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Maintenance%20and%20verification%201.put.</code>
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Event%20checker%202.put.</code>
 
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
  
 
[[File:Scheduled_com_1.png|центр|1000px]]
 
[[File:Scheduled_com_1.png|центр|1000px]]
  
:3. В открывшемся окне выбрать импортированный скрипт "Maintenance and verification 1.put".
+
:3. В открывшемся окне выбрать импортированный скрипт "Event checker 2.put".
  
 
[[File:MaintenanceVerification_com_1.PNG|центр|1000px]]
 
[[File:MaintenanceVerification_com_1.PNG|центр|1000px]]
Строка 131: Строка 134:
 
[[File:Scheduled_com_3.png|центр|1000px]]
 
[[File:Scheduled_com_3.png|центр|1000px]]
  
2. В пункте 7 раздела [[Тех._осмотр_и_проверка_(Maintenance_and_verification_1)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
+
2. В пункте 7 раздела [[Тех._осмотр_и_проверка_(Event_checker)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
  
 
[[File:MaintenanceVerification_com_4.png|центр]]
 
[[File:MaintenanceVerification_com_4.png|центр]]

Текущая версия на 11:42, 21 мая 2019

Определение своевременности тех. осмотров и проверок. Скрипт работает с одной локальной базой интеграции.

Построение схемы

Для построения схемы требуется:

1. Добавить триггер EgsScheduled.

Для этого необходимо:
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsScheduled.
Scheduled com 4.png
2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
Scheduled com 5.png
3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
Scheduled com 3.png
Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.

2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.

Scheduled com 6.PNG

3. Настроить сетевой адрес компьютера.

Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.

В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".

Scheduled com 7.PNG

4. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.

MaintenanceVerification com 2.PNG

5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.

Scheduled com 9.PNG

6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.

MaintenanceVerification com 3.PNG

7. Настроить следующие параметры триггера:

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Event%20checker%202.put&path=0/params/script/value;
  2. единица измерения (period_unit), например: секунда;
  3. интервал в единицах измерения (period_count), например: 1;
  4. точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
  5. повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
  6. включить триггер (enabled), например: true;
  7. в настройках:
    1. тип устройства для проверки регулярного мероприятия (type), например: Sensor;
    2. название мероприятия (event), например: maintenance или verification;
    3. предупреждать о необходимости мероприятия за указанный период (timeout), например: 1.00:00:00.

Настройку параметров триггера можно выполнить, открыв свойства элемента.

MaintenanceVerification com 6.PNG

Проверка

После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Event%20checker%202.put&path=0/params/hash/value

Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.

Алгоритм работы

  1. Выбираются все объекты типов, соответствующих хотя бы одному типу из списка settings.types.
  2. При settings.event равном maintenance:
    1. проверяется валидность параметров maintenancePeriod и maintenanceLast (не валидные переводятся в статус invalid);
    2. рассчитывается параметр maintenancePlanned = maintenanceLast + maintenancePeriod;
    3. если текущее время больше maintenancePlanned, то maintenanceLast переводится в статус alarm, а к stateargs объекта добавляется флаг MaintenanceExpired;
    4. если текущее время больше maintenancePlanned минус settings.timeout, то к stateargs объекта добавляется флаг MaintenanceNeeded.
  3. При settings.event равном verification:
    1. проверяется валидность параметров verificationPeriod и verificationLst (не валидные переводятся в статус invalid);
    2. рассчитывается параметр verificationPlanned = verificationLast + verificationPeriod;
    3. если текущее время больше verificationPlanned, то verificationLast переводится в статус alarm, а к stateargs объекта добавляется флаг VerificationExpired;
    4. если текущее время больше verificationPlanned минус settings.timeout, то к stateargs объекта добавляется флаг VerificationNeeded.

Пример работы

Для построения схемы необходимо:

1. Создать схему по выше описанному алгоритму (см. Построение схемы).

MaintenanceVerification com 3.PNG

2. Добавить элемент Болид Пожарный датчик.

MaintenanceVerification com 7.PNG

3. Настроить параметр "Сетевой адрес" компьютера.

4. Настроить следующие параметры триггера:

  1. единица измерения (period_unit): секунда;
  2. интервал в единицах измерения (period_count): 1;
  3. повторять через интервал или выполнить один раз в указанное время (repeat): 0;
  4. задействовать триггер (enabled): true;
  5. в настройках:
    1. тип (types): Sensor;
    2. название мероприятия (event): maintenance;
    3. предупреждать о необходимости мероприятия за указанный период (timeout): 1.00:00:00.

5. Настроить следующие параметры пожарного датчика:

  1. период обслуживания(maintenancePeriod): 23;
  2. последнее обслуживание(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. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
Scheduled com 1.png
3. В открывшемся окне выбрать импортированный скрипт "Event checker 2.put".
MaintenanceVerification com 1.PNG
Элемент появится на рабочей области.
Scheduled com 3.png

2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".

MaintenanceVerification com 4.png
После этого откроется окно для редактирования параметров.
MaintenanceVerification com 5.PNG