Симулятор движения — различия между версиями
Ipe (обсуждение | вклад) |
Ipe (обсуждение | вклад) (→Построение схемы) |
||
Строка 39: | Строка 39: | ||
::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*; | ||
− | ::4. | + | ::4. имя двигаемого объекта ('''settings.target'''), например: /Man". |
Настройку параметров триггера можно выполнить, открыв свойства элемента. | Настройку параметров триггера можно выполнить, открыв свойства элемента. |
Версия 15:52, 20 сентября 2021
Тестирование системы. Скрипт работает с одной локальной базой интеграции.
Построение схемы
Для построения схемы требуется:
1. Загрузить триггер EgsScenario из http://maps.integra-s.com:5434/resources/typedef2017/egs/Position%20Simulator.put
и добавить на схему через меню действие элементов > импорт элементов.
2. Перейти на вкладку "Типы элементов" и добавить из списка элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsScenario и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScenario и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "'Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующий параметр триггера:
- задействовать триггер установив галочку у параметра Включен(enabled);
- в настройках:
- 1. settings.interval - интервал между изменениями позиции, например: 00:00:05.
- 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), например: /Man".
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Position%20Simulator.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.
Алгоритм работы
- Находится объект назначения с идентификатором settings.target.
- Данные из settings.input при помощи регулярного выражения из settings.pattern преобразовываются в список групп параметров longitude, latitude и altitude.
- С заданным интервалом из списка выбирается следующая группа параметров по кругу.
- Параметры группы записываются в соответствующие параметры объекта назначения.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Построение схемы).
2. Добавить элемент "Мужчина". Идентификатор добавленного мужчины скопировать и вставить в параметр settings.target триггера EGS
3. Запустить Acuario Manager
Результат:
В параметр "Расположение" двигаемого элемента с периодичностью в 5 секунду будут меняться значения.