Симулятор событий (State simulator 1) — различия между версиями
Mikheeva (обсуждение | вклад) (→Добавления триггера EgsScheduled) |
Mikheeva (обсуждение | вклад) (→Построение схемы) |
||
Строка 46: | Строка 46: | ||
Для дальнейшего построения схемы необходимо: | Для дальнейшего построения схемы необходимо: | ||
− | 1. Добавить элемент EgsModule, менеджер AcuarioManager и компьютер Computer. | + | 1. Добавить элемент '''EgsModule''', менеджер '''AcuarioManager''' и компьютер '''Computer'''. |
[[File:Scheduled_com_6.PNG|центр|1000px]] | [[File:Scheduled_com_6.PNG|центр|1000px]] | ||
Строка 52: | Строка 52: | ||
2. Настроить сетевой адрес компьютера. | 2. Настроить сетевой адрес компьютера. | ||
− | Для этого необходимо выделить на схеме элемент Computer и нажать на кнопку вызова свойств элемента. | + | Для этого необходимо выделить на схеме элемент '''Computer''' и нажать на кнопку вызова свойств элемента. |
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес". | В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес". | ||
Строка 58: | Строка 58: | ||
[[File:Scheduled_com_7.PNG|центр|1000px]] | [[File:Scheduled_com_7.PNG|центр|1000px]] | ||
− | 3. Связать EgsScheduled и Egs Модуль, подключив пины | + | 3. Связать '''EgsScheduled''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsScheduled''' и «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''. |
[[File:StateSimulator_2.PNG|центр|1000px]] | [[File:StateSimulator_2.PNG|центр|1000px]] | ||
− | 4. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Привязка к менеджеру: ManagingContainer" из Менеджера устройств. | + | 4. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''. |
[[File:Scheduled_com_9.PNG|центр|1000px]] | [[File:Scheduled_com_9.PNG|центр|1000px]] | ||
− | 5. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера. | + | 5. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''. |
[[File:StateSimulator_3.PNG|центр|1000px]] | [[File:StateSimulator_3.PNG|центр|1000px]] | ||
Строка 74: | Строка 74: | ||
''Если скрипт не был импортирован, то для триггера необходимо настроить параметры:'' | ''Если скрипт не был импортирован, то для триггера необходимо настроить параметры:'' | ||
− | #''текст скрипта (script)'' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/State%20simulator%201.put&path=0/params/script/value;</code> | + | #''текст скрипта ('''script''')'' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/State%20simulator%201.put&path=0/params/script/value;</code> |
− | #''тип (typedef) '' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/State%20simulator%201.put&path=0/params/typedef/value;</code> | + | #''тип ('''typedef''') '' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/State%20simulator%201.put&path=0/params/typedef/value;</code> |
− | #''единица измерения (period_unit), например: секунда;'' | + | #''единица измерения ('''period_unit'''), например: секунда;'' |
− | #''интервал в единицах измерения (period_count), например: 1;'' | + | #''интервал в единицах измерения ('''period_count'''), например: 1;'' |
− | #''точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;'' | + | #''точное время внутри интервала ('''period_time'''), например: 00:00:00, 14:30:00;'' |
− | #''повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;'' | + | #''повторять через интервал или выполнить один раз в указанное время ('''repeat'''), например: 0 (бесконечно), 1 (один раз), 100;'' |
− | #''задействовать триггер (enabled), например: true;'' | + | #''задействовать триггер ('''enabled'''), например: true;'' |
#''в настройках:'' | #''в настройках:'' | ||
− | ##''список масок имен типов, участвующих в симуляции (settings.types), например: Onvif_*;'' | + | ##''список масок имен типов, участвующих в симуляции ('''settings.types'''), например: Onvif_*;'' |
− | ##''список масок имен событий, участвующих в симуляции (settings.states), например: alarm_*, error_*;'' | + | ##''список масок имен событий, участвующих в симуляции ('''settings.states'''), например: alarm_*, error_*;'' |
− | ##''клиентское время начала симуляции (settings.time_start), если не указано, используется текущее время;'' | + | ##''клиентское время начала симуляции ('''settings.time_start'''), если не указано, используется текущее время;'' |
− | ##''клиентское время окончания симуляции (settings.time_stop), если указано, то по его достижении симуляция останавливается;'' | + | ##''клиентское время окончания симуляции '''(settings.time_stop'''), если указано, то по его достижении симуляция останавливается;'' |
− | ##''приращение клиентского времени (settings.time_gain), добавляется к settings.time_start на каждой итерации;'' | + | ##''приращение клиентского времени ('''settings.time_gain'''), добавляется к settings.time_start на каждой итерации;'' |
− | ##''отклонение приращения клиентского времени (settings.time_yaw)''. | + | ##''отклонение приращения клиентского времени ('''settings.time_yaw''')''. |
− | ''Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".'' | + | ''Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу '''EgsScheduled''' и в контекстном меню выбрав пункт "Редактировать параметры".'' |
[[File:OutdatedRemover_4.png|центр]] | [[File:OutdatedRemover_4.png|центр]] |
Версия 18:39, 5 апреля 2018
Тестирование системы.
Содержание
Настройка
Добавления триггера EgsScheduled
Триггер EgsScheduled можно добавить двумя способами:
Добавление триггера EgsScheduled по ссылке
Для добавления скрипта необходимо:
1. Импортировать скрипт по следующей ссылке: http://maps.integra-s.com/resources/typedef2017/egs/State%20simulator%201.put.
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
3. В открывшемся окне выбрать импортированный скрипт "State simulator 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" из Компьютера.
Замечание:
Если скрипт не был импортирован, то для триггера необходимо настроить параметры:
- текст скрипта (script)
http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/State%20simulator%201.put&path=0/params/script/value;
- тип (typedef)
http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/State%20simulator%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), например: Onvif_*;
- список масок имен событий, участвующих в симуляции (settings.states), например: alarm_*, error_*;
- клиентское время начала симуляции (settings.time_start), если не указано, используется текущее время;
- клиентское время окончания симуляции (settings.time_stop), если указано, то по его достижении симуляция останавливается;
- приращение клиентского времени (settings.time_gain), добавляется к settings.time_start на каждой итерации;
- отклонение приращения клиентского времени (settings.time_yaw).
Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу EgsScheduled и в контекстном меню выбрав пункт "Редактировать параметры".
После этого откроется окно для редактирования параметров.
Также это можно выполнить, открыв свойства элемента.
Маски типов и состояний
Маски могут быть как точным именами типов или состояний, так и их частями, содержащими следующие контрольные символы:
? - любой одиночный символ; * - ноль или более символов; # - любая цифра от 0 до 9; [ charlist ] - любой одиночный символ в charlist; [! charlist ] - любой одиночный символ, не включенный в charlist.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Outdated%20remover%201.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.
Алгоритм работы
- Выбираются объекты типов, соответствующих хотя бы одной маске из списка settings.types.
- Из них выбираются такие, у которых время последнего изменения плюс settings.timeout больше текущего времени.
- Выбранным объектам проставляется флаг удаления.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму.
2. Добавить элемент Болид Пожарный датчик.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- единица измерения (period_unit): секунда;
- интервал в единицах измерения (period_count): 1;
- повторять через интервал или выполнить один раз в указанное время (repeat): 0;
- задействовать триггер (enabled): true;
- в настройках:
- список масок имен типов, участвующих в симуляции (settings.types): BOLID_*;
- интервал, в течении которого объект должен обновиться (settings.timeout): 00.00:00:01.
5. В свойствах пожарного датчика настроить параметр последнее обслуживание (maintenanceLast): 2016-04-01T10:00:00.
После сохранения параметров пожарный датчик удалится.