Симулятор движения — различия между версиями
Ipe (обсуждение | вклад) (→Построение схемы) |
Ipe (обсуждение | вклад) (→Алгоритм работы) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 34: | Строка 34: | ||
#задействовать триггер установив галочку у параметра Включен(enabled); | #задействовать триггер установив галочку у параметра Включен(enabled); | ||
#в настройках: | #в настройках: | ||
− | ::1. settings.interval - интервал между изменениями позиции, например: 00:00: | + | ::1. settings.interval - интервал между изменениями позиции, например: 00:00:15. |
::2. данные о движении объекта в некотором формате ('''settings.input'''), например: | ::2. данные о движении объекта в некотором формате ('''settings.input'''), например: | ||
− | + | <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*; | ||
Строка 50: | Строка 56: | ||
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.'' | ''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.'' | ||
− | == | + | == Дополнительно == |
#Находится объект назначения с идентификатором '''settings.target'''. | #Находится объект назначения с идентификатором '''settings.target'''. | ||
Строка 73: | Строка 79: | ||
'''Результат''': | '''Результат''': | ||
− | В параметр "Расположение" двигаемого элемента с периодичностью в | + | В параметр "Расположение" двигаемого элемента с периодичностью в 15 секунд будут меняться значения. |
Текущая версия на 11:52, 22 сентября 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: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.
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке 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
Результат:
В параметр "Расположение" двигаемого элемента с периодичностью в 15 секунд будут меняться значения.