Симулятор движения (Position simulator 1) — различия между версиями
Mikheeva (обсуждение | вклад) (→Построение схемы) |
Mikheeva (обсуждение | вклад) (→Проверка) |
||
(не показано 27 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Тестирование системы. | + | Тестирование системы. Скрипт работает с одной локальной базой интеграции. |
− | == | + | ==Построение схемы== |
− | + | Для построения схемы требуется: | |
− | + | 1. Добавить триггер '''EgsScheduled'''. | |
− | + | :Для этого необходимо: | |
− | + | :1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsScheduled'''. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsScheduled'''. | ||
[[File:Scheduled_com_4.png|центр]] | [[File:Scheduled_com_4.png|центр]] | ||
− | 2. Дважды нажать на выбранный элемент | + | :2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента. |
− | |||
− | |||
[[File:Scheduled_com_5.png|центр]] | [[File:Scheduled_com_5.png|центр]] | ||
− | 3. Нажать кнопку "Добавить". | + | :3. Нажать кнопку "Добавить". Элемент появится на рабочей области. |
− | + | [[File:Scheduled_com_3.png|центр|1000px]] | |
− | |||
− | |||
− | + | :''Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.'' | |
− | 1 | + | 2. Аналогично пункту 1 добавить элементы Egs Модуль '''EgsModule''', менеджер '''AcuarioManager''' и компьютер '''Computer'''. |
[[File:Scheduled_com_6.PNG|центр|1000px]] | [[File:Scheduled_com_6.PNG|центр|1000px]] | ||
− | + | 3. Настроить сетевой адрес компьютера. | |
− | Для этого необходимо выделить на схеме | + | Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента. |
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес". | В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес". | ||
Строка 58: | Строка 34: | ||
[[File:Scheduled_com_7.PNG|центр|1000px]] | [[File:Scheduled_com_7.PNG|центр|1000px]] | ||
− | + | 4. Связать '''EgsScheduled''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsScheduled''' и «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''. | |
[[File:PositionSimulator_2.PNG|центр|1000px]] | [[File:PositionSimulator_2.PNG|центр|1000px]] | ||
− | + | 5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств'''. | |
[[File:Scheduled_com_9.PNG|центр|1000px]] | [[File:Scheduled_com_9.PNG|центр|1000px]] | ||
− | + | 6. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''. | |
[[File:PositionSimulator_3.PNG|центр|1000px]] | [[File:PositionSimulator_3.PNG|центр|1000px]] | ||
− | + | 7. Настроить следующие параметры триггера: | |
− | + | #текст скрипта ('''script''') <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%202.put&path=0/params/script/value;</code> | |
− | + | #единица измерения ('''period_unit'''), например: секунда; | |
− | # | + | #интервал в единицах измерения ('''period_count'''), например: 1; |
− | # | + | #точное время внутри интервала ('''period_time'''), например: 00:00:00, 14:30:00; |
− | + | #повторять через интервал или выполнить один раз в указанное время ('''repeat'''), например: 0 (бесконечно), 1 (один раз), 100; | |
− | # | + | #задействовать триггер ('''enabled'''), например: true; |
− | # | + | #в настройках: |
− | # | + | ::1. данные о движении объекта в некотором формате ('''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; |
− | # | + | ::2. регулярное выражение для разбора данных ('''settings.pattern'''), должно содержать три именованные группы с именами '''longitude''', '''latitude''' и '''altitude''', например:'' |
− | :: | + | ''(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*; |
− | + | ::3. идентификатор двигаемого объекта ('''settings.target'''), например: dd0385b7-b32a-4658-88ab-afef3743459b. | |
− | :: | ||
− | ''(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*; | ||
− | :: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Настройку параметров триггера можно выполнить, открыв свойства элемента. | |
− | |||
− | + | [[File:PositionSimulator_6.PNG|центр]] | |
− | |||
− | |||
− | |||
− | |||
==Проверка== | ==Проверка== | ||
− | После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/ | + | После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%202.put&path=0/params/hash/value</code> |
− | ''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.'' | + | ''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.'' |
==Алгоритм работы== | ==Алгоритм работы== | ||
− | # | + | #Находится объект назначения с идентификатором '''settings.target'''. |
− | # | + | #Данные из '''settings.input''' при помощи регулярного выражения из '''settings.pattern''' преобразовываются в список групп параметров '''longitude''', '''latitude''' и '''altitude'''. |
− | # | + | #С заданным интервалом из списка выбирается следующая группа параметров по кругу. |
− | # | + | #Параметры группы записываются в соответствующие параметры объекта назначения. |
==Пример работы== | ==Пример работы== | ||
Строка 130: | Строка 81: | ||
Для построения схемы необходимо: | Для построения схемы необходимо: | ||
− | 1. Создать схему по выше описанному алгоритму. | + | 1. Создать схему по выше описанному алгоритму (см. [[Симулятор_движения_(Position_simulator_1)#Построение_схемы|Построение схемы]]). |
− | [[File: | + | [[File:PositionSimulator_3.PNG|центр|1000px]] |
− | 2. Добавить элемент | + | 2. Добавить элемент "Мужчина". |
− | [[File: | + | [[File:PositionSimulator_7.PNG|центр|1000px]] |
3. Настроить параметр "Сетевой адрес" компьютера. | 3. Настроить параметр "Сетевой адрес" компьютера. | ||
Строка 147: | Строка 98: | ||
#задействовать триггер ('''enabled'''): true; | #задействовать триггер ('''enabled'''): true; | ||
#в настройках: | #в настройках: | ||
− | + | ::1. данные о движении объекта ('''settings.input'''): | |
− | + | 50.22196217,53.23618268,0 50.22209225,53.23620757,0 50.22223978,53.23623004,0 50.22231622,53.23626456,0 50.22236718,53.23632315,0 50.22231085,53.23636007,0 50.22219015,53.23638496,0 50.22204666,53.23636007,0 50.22187902,53.23633359,0 50.22184013,53.23623807,0; | |
− | + | ::2. регулярное выражение для разбора данных ('''settings.pattern'''), должно содержать три именованные группы с именами '''longitude''', '''latitude''' и '''altitude''': | |
− | + | (?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*; | |
− | # | + | ::3. идентификатор двигаемого объекта ('''settings.target'''). Для этого необходимо зайти в свойства элемента Большой корабль и нажать на ссылку "Большой корабль". Идентификатор будет скопирован в буфер обмена. В данном случае это: c9cf8cba-2520-4a2f-90e0-3f21f39cc8d0. |
− | + | ||
+ | [[File:PositionSimulator_8.png|центр]] | ||
+ | |||
+ | '''Результат''': | ||
+ | |||
+ | В параметр "Расположение" двигаемого элемента с периодичностью в 1 секунду будут устанавливаться значения. | ||
+ | |||
+ | ==Дополнения== | ||
+ | 1. В пункте 1 раздела [[Симулятор_движения_(Position_simulator_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsScheduled''' можно осуществить по ссылке. | ||
+ | |||
+ | Для этого необходимо: | ||
+ | |||
+ | :1. Импортировать скрипт по следующей ссылке: code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Position%20simulator%202.put.</code> | ||
+ | :2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов". | ||
+ | |||
+ | [[File:Scheduled_com_1.png|центр|1000px]] | ||
+ | |||
+ | :3. В открывшемся окне выбрать импортированный скрипт "Position simulator 1.put". | ||
+ | |||
+ | [[File:PositionSimulator_1.PNG|центр|1000px]] | ||
+ | |||
+ | :Элемент появится на рабочей области. | ||
+ | |||
+ | [[File:Scheduled_com_3.png|центр|1000px]] | ||
+ | |||
+ | 2. В пункте 7 раздела [[Симулятор_движения_(Position_simulator_1)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры". | ||
+ | |||
+ | [[File:PositionSimulator_4.png|центр]] | ||
− | + | :После этого откроется окно для редактирования параметров.'' | |
− | + | [[File:PositionSimulator_5.PNG|центр|1000px]] |
Текущая версия на 11:43, 21 мая 2019
Тестирование системы. Скрипт работает с одной локальной базой интеграции.
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsScheduled.
- Для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsScheduled.
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
- Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsScheduled и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsScheduled и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "'Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script)
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%202.put&path=0/params/script/value;
- единица измерения (period_unit), например: секунда;
- интервал в единицах измерения (period_count), например: 1;
- точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- задействовать триггер (enabled), например: true;
- в настройках:
- 1. данные о движении объекта в некотором формате (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;
- 2. регулярное выражение для разбора данных (settings.pattern), должно содержать три именованные группы с именами longitude, latitude и altitude, например:
(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;
- 3. идентификатор двигаемого объекта (settings.target), например: dd0385b7-b32a-4658-88ab-afef3743459b.
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%202.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.
Алгоритм работы
- Находится объект назначения с идентификатором settings.target.
- Данные из settings.input при помощи регулярного выражения из settings.pattern преобразовываются в список групп параметров longitude, latitude и altitude.
- С заданным интервалом из списка выбирается следующая группа параметров по кругу.
- Параметры группы записываются в соответствующие параметры объекта назначения.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Построение схемы).
2. Добавить элемент "Мужчина".
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- единица измерения (period_unit): секунда;
- интервал в единицах измерения (period_count): 1;
- повторять через интервал или выполнить один раз в указанное время (repeat): 0;
- задействовать триггер (enabled): true;
- в настройках:
- 1. данные о движении объекта (settings.input):
50.22196217,53.23618268,0 50.22209225,53.23620757,0 50.22223978,53.23623004,0 50.22231622,53.23626456,0 50.22236718,53.23632315,0 50.22231085,53.23636007,0 50.22219015,53.23638496,0 50.22204666,53.23636007,0 50.22187902,53.23633359,0 50.22184013,53.23623807,0;
- 2. регулярное выражение для разбора данных (settings.pattern), должно содержать три именованные группы с именами longitude, latitude и altitude:
(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;
- 3. идентификатор двигаемого объекта (settings.target). Для этого необходимо зайти в свойства элемента Большой корабль и нажать на ссылку "Большой корабль". Идентификатор будет скопирован в буфер обмена. В данном случае это: c9cf8cba-2520-4a2f-90e0-3f21f39cc8d0.
Результат:
В параметр "Расположение" двигаемого элемента с периодичностью в 1 секунду будут устанавливаться значения.
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsScheduled можно осуществить по ссылке.
Для этого необходимо:
- 1. Импортировать скрипт по следующей ссылке: code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Position%20simulator%202.put.</code>
- 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
- 3. В открывшемся окне выбрать импортированный скрипт "Position simulator 1.put".
- Элемент появится на рабочей области.
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.