Симулятор движения — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Пример работы)
(Алгоритм работы)
 
(не показано 8 промежуточных версий этого же участника)
Строка 34: Строка 34:
 
#задействовать триггер установив галочку у параметра Включен(enabled);
 
#задействовать триггер установив галочку у параметра Включен(enabled);
 
#в настройках:
 
#в настройках:
::1. settings.interval - интервал между изменениями позиции, например: 00:00:05.
+
::1. settings.interval - интервал между изменениями позиции, например: 00:00:15.
 
::2. данные о движении объекта в некотором формате ('''settings.input'''), например:
 
::2. данные о движении объекта в некотором формате ('''settings.input'''), например:
''48.39250538706612,53.08561325603247,0 48.3916008019351,53.08549340734039,0 48.39167409940283,53.0853119589439,0 48.39181445107519,53.08495754008844,0 48.39209640494313,53.08438800284189,0 48.39227957653078,53.08389896728745,0 48.39283025959841,53.08396288429309,0 48.39373600936838,53.08412382293808,0 48.39360388037241,53.08466109322499,0 48.39313385277075,53.08562609372662,0 48.39250538706612,53.08561325603247,0;
+
<code>33.530997143290094,44.60610992488476,0
 +
33.531297550699776,44.60515951896548,0
 +
33.531426296732484,44.60381052884549,0
 +
33.53151212742096,44.602584146822515,0
 +
33.53078256656891,44.60197094603659,0
 +
33.52983842899565,44.60095915049356,0;
 +
</code>
 
::3. регулярное выражение для разбора данных ('''settings.pattern'''), должно содержать три именованные группы с именами '''longitude''', '''latitude''' и '''altitude''', например:''
 
::3. регулярное выражение для разбора данных ('''settings.pattern'''), должно содержать три именованные группы с именами '''longitude''', '''latitude''' и '''altitude''', например:''
 
  ''(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;
 
  ''(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;
Строка 43: Строка 49:
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
 
Настройку параметров триггера можно выполнить, открыв свойства элемента.
  
[[File:settings_simulator.jpg|центр]]
+
[[File:man_sim.jpg|центр]]
  
 
==Проверка==
 
==Проверка==
Строка 50: Строка 56:
 
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
 
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
==Алгоритм работы==
+
== Дополнительно ==
  
 
#Находится объект назначения с идентификатором '''settings.target'''.
 
#Находится объект назначения с идентификатором '''settings.target'''.
Строка 65: Строка 71:
 
[[File:PositionSimulator_3.PNG|центр|1000px]]
 
[[File:PositionSimulator_3.PNG|центр|1000px]]
  
2. Добавить элемент "Мужчина".
+
2. Добавить элемент "Мужчина". Идентификатор добавленного мужчины скопировать и вставить в параметр settings.target триггера EGS
  
 
[[File:PositionSimulator_7.PNG|центр|1000px]]
 
[[File:PositionSimulator_7.PNG|центр|1000px]]
Строка 73: Строка 79:
 
'''Результат''':
 
'''Результат''':
  
В параметр "Расположение" двигаемого элемента с периодичностью в 5 секунду будут устанавливаться значения.
+
В параметр "Расположение" двигаемого элемента с периодичностью в 15 секунд будут меняться значения.

Текущая версия на 11:52, 22 сентября 2021

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

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

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

1. Загрузить триггер EgsScenario из http://maps.integra-s.com:5434/resources/typedef2017/egs/Position%20Simulator.put и добавить на схему через меню действие элементов > импорт элементов.

2. Перейти на вкладку "Типы элементов" и добавить из списка элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.

Scheduled com 6.PNG

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

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

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

Scheduled com 7.PNG

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

PositionSimulator 2.PNG

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

Scheduled com 9.PNG

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

PositionSimulator 3.PNG

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

  1. задействовать триггер установив галочку у параметра Включен(enabled);
  2. в настройках:
1. settings.interval - интервал между изменениями позиции, например: 00:00:15.
2. данные о движении объекта в некотором формате (settings.input), например:

33.530997143290094,44.60610992488476,0 33.531297550699776,44.60515951896548,0 33.531426296732484,44.60381052884549,0 33.53151212742096,44.602584146822515,0 33.53078256656891,44.60197094603659,0 33.52983842899565,44.60095915049356,0;

3. регулярное выражение для разбора данных (settings.pattern), должно содержать три именованные группы с именами longitude, latitude и altitude, например:
(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;
4. идентификатор двигаемого объекта (settings.target), например: dd0385b7-b32a-4658-88ab-afef3743459b.

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

Man sim.jpg

Проверка

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

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

Дополнительно

  1. Находится объект назначения с идентификатором settings.target.
  2. Данные из settings.input при помощи регулярного выражения из settings.pattern преобразовываются в список групп параметров longitude, latitude и altitude.
  3. С заданным интервалом из списка выбирается следующая группа параметров по кругу.
  4. Параметры группы записываются в соответствующие параметры объекта назначения.

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

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

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

PositionSimulator 3.PNG

2. Добавить элемент "Мужчина". Идентификатор добавленного мужчины скопировать и вставить в параметр settings.target триггера EGS

PositionSimulator 7.PNG

3. Запустить Acuario Manager

Результат:

В параметр "Расположение" двигаемого элемента с периодичностью в 15 секунд будут меняться значения.