Симулятор движения

Материал из Integra-S Wiki
Версия от 11:52, 22 сентября 2021; Ipe (обсуждение | вклад) (Алгоритм работы)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

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

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

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 секунд будут меняться значения.