Детектор слежения за целями в зоне (Zone Controller) — различия между версиями
Ipe (обсуждение | вклад) (→Настройка элементов) |
Ipe (обсуждение | вклад) (→Пример работы) |
||
Строка 82: | Строка 82: | ||
== Пример работы == | == Пример работы == | ||
+ | |||
+ | Для построения схемы необходимо: | ||
+ | |||
+ | 1. Создать схему по выше описанному алгоритму (см. [[Детектор слежения за целями в зоне (Zone Controller)#Создание_схемы|Создание схемы]]). | ||
+ | |||
+ | [[File:schemas.jpg|800px|центр]] | ||
+ | |||
+ | 2. Добавить элемент Военный корабль "WarShip". | ||
+ | |||
+ | [[File:schemas_ship.jpg|800px|центр]] | ||
+ | |||
+ | 3. Настроить параметр "Сетевой адрес" компьютера. | ||
+ | |||
+ | 4. Настроить следующие параметры триггера: | ||
+ | |||
+ | #единица измерения ('''period_unit'''): секунда; | ||
+ | #интервал в единицах измерения ('''period_count'''): 1; | ||
+ | #повторять через интервал или выполнить один раз в указанное время ('''repeat'''): 0; | ||
+ | #задействовать триггер ('''enabled'''): true; | ||
+ | #в настройках: | ||
+ | ##типы целей, для которых следует генерировать нормальное событие ZoneEvent ('''spawn_event_types'''): WarShip; | ||
+ | ##типы целей с высшим приоритетом ('''trace_highest_types'''): WarShip; | ||
+ | ##типы целей с высоким приоритетом ('''trace_high_types'''): WarShip; | ||
+ | ##типы целей с нормальным приоритетом ('''trace_normal_types'''): WarShip; | ||
+ | ##типы целей с низким приоритетом ('''trace_low_types'''): WarShip; | ||
+ | ##типы целей с низшим приоритетом ('''trace_lowest_types'''): WarShip; | ||
+ | ##максимальное количество секунд с последнего обновления цели ('''trace_timeout'''): 500; | ||
+ | #таймаут на сброс приоритета для целей с наивысшим приоритетом ('''trace_highest_timeout''') : 300; | ||
+ | #таймаут на сброс приоритета для целей с высоким приоритетом ('''trace_high_timeout'''): 240; | ||
+ | #таймаут на сброс приоритета для целей с нормальным приоритетом ('''trace_normal_timeout'''): 180; | ||
+ | #таймаут на сброс приоритета для целей с низким приоритетом ('''trace_low_timeout'''): 60; | ||
+ | #таймаут на сброс приоритета для целей с низшим приоритетом ('''trace_lowest_timeout'''): 207. | ||
+ | |||
+ | 5. Настроить следующие параметры Зоны: | ||
+ | |||
+ | #область ('''area'''): POLYGON((50.22228403 53.2363014,50.2224350 53.23636588,50.2224236 53.2362976,50.22228403 53.2363014)); | ||
+ | #высота области (area_heights): 121.9 121.6 121.5. Массив чисел должен быть разделен, используя клавишу Enter; | ||
+ | #приоритет зоны ('''trace_priority''') : normal. | ||
+ | |||
+ | 6. У объекта TraceDetectorSettings настроить следующие параметры: | ||
+ | #список типов целей, на которые распространяются данные настройки ('''types'''): WarShip; | ||
+ | #список идентификаторов целей, на которые распространяются данные настройки ('''guids'''): 385352c9-e5b2-4c92-af47-c2679806a742; | ||
+ | #максимальная допустимая скорость ('''speed_limit'''): 7; | ||
+ | #генерировать тревожное или обычное событие по превышению скорости скорости ('''speed_limit_alarm'''): true; | ||
+ | #порог изменения скорости ('''speed_change_threshold'''): 20; | ||
+ | #генерировать тревожное или обычное событие по резкому изменению скорости ('''speed_change_alarm'''): true; | ||
+ | #порог изменения направления ('''heading_change_threshold'''): 40; | ||
+ | #генерировать тревожное или обычное событие по резкому изменению направления ('''heading_change_alarm'''): true; | ||
+ | #порог отсутствия движения ('''stop_threshold'''): 0.6; | ||
+ | #генерировать тревожное или обычное событие по началу или окончанию движения ('''stop_alarm'''): true; | ||
+ | #минимальное допустимое расстояние между целями ('''approach_threshold'''): 20; | ||
+ | #генерировать тревожное или обычное событие по опасному сближению ('''approach_alarm'''): true. | ||
+ | |||
+ | Для ввода идентификатора необходимо зайти в свойства элемента WarShip и нажать на ссылку "WarShip". Идентификатор будет скопирован в буфер обмена. В данном случае это: 385352c9-e5b2-4c92-af47-c2679806a742. | ||
+ | [[File:TraceDetector_12.png|центр]] | ||
+ | |||
+ | ''Замечания:'' | ||
+ | |||
+ | :''1. При добавлении нескольких элементов TraceDetectorSettings каждый из них можно настроить на свой список целей и на различную скорость.'' | ||
+ | |||
+ | :''2. Если приоритет цели, либо приоритет зоны равен ignore, то события по ним не генерируются.'' | ||
+ | |||
+ | :''3. Если у зоны отсутствуют настройки TraceDetectorSettings, то события по ней не генерируются.'' | ||
+ | |||
+ | Далее если объект не движется, можно запустить скрипт "Симулятор движения (Position Simulator 1)", описание которого приведено на странице [[Симулятор движения (Position simulator 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.22231086,53.23636008,0 50.22219015,53.23638496,0 50.22204666,53.23636007,0 50.22187902,53.23633359,0 50.22184013,53.23623807,0. ''Элемент в Position Simulator 1 и в Trace detector 1 должен быть одним и тем же.'' | ||
+ | |||
+ | '''Результат''': | ||
+ | |||
+ | Для просмотра результата необходимо зайти в [[Онлайн мониторинг событий | Менеджер событий]]. | ||
+ | |||
+ | Настроить вкладку на необходимый сервер и параметр "Событие в зоне". | ||
+ | |||
+ | [[File:TraceDetector_13.png|центр|600px]] | ||
+ | |||
+ | После этого будет отображен список событий в зоне. Так как скорость военного корабля превышала максимальную допустимую скорость, то генерируется событие too_fast. | ||
+ | |||
+ | [[File:TraceDetector_14.png|центр|1400px]] | ||
+ | |||
+ | По нажатию на кнопку "Показать информацию" [[File:manager_38.PNG]] раскроется подробная информация о событии. | ||
+ | |||
+ | [[File:TraceDetector_15.png|центр|1400px]] |
Версия 14:47, 20 сентября 2021
Содержание
Зависимости
Скрипт зависит от какого-либо другого модуля поставляющего географические координаты движущихся объектов базе трекинга, т.е. меняющего значение параметра Расположение(position) у объектов наследников типа MoveableObject.
Назначение
- Определение вхождения целей (Движущиеся объекты) в охраняемые зоны Zone.
- Расчет и сохранение списка зон, в которые входит цель trace_zones(Зоны слежения).
- Расчет числового приоритета (очередности) цели trace_order.
- Генерирование событий ZoneEvent(Событие в зоне):
- Вход цели в зону и выходе цели из зоны.
- Резкое изменении скорости и направления цели.
- Остановка и начало движения после остановки.
- Превышение скорости и возврат к нормальной скорости.
- Начало и окончание опасного сближения.
Создание схемы
- Добавить следующие элементы в редакторе СКАДА:
- Компьютер или сервер.
- Менеджер устройств(Acuario Manager).
- EGS Модуль.
- Зона.
- Скрипт Zone Сontroller (Скрипт можно импортировать отсюда).
- Связать элементы:
- Zone Controler: EGS вход:EGSInput + EGS Модуль: EGS Выход: EGSOutput
- EGS Модуль: Привязка к менеджеру: ManagingContent + Менеджер устройств: Менеджер устройств: ManagingContainer
- Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer
Настройка элементов
- У компьютера должен быть настроен параметр ip.
- У Zone Contoller должны быть настроены следующие параметры:
- Включен(enabled) - задействовать триггер.
- Настройки:
- values - числовые значения для некоторых приоритетов:
- high - повышенный приоритет (1 < high < MaxValue).
- low - пониженный приоритет (0 < low < 1).
- server - строка содержащая либо гуид сервера, на который следует отправлять события, либо имя параметра самого события, содержащего этот гуид, например: server.
- target_position_timeout - помечать параметр Расположение(position) движущейся цели (MoveableObject) атрибутом устаревший(outofdate), если он не изменялся в течении этого таймаута, например: 00:01:00.
- undefined_position_timeout - помечать параметр Расположение неопределенной цели (UndefinedTarget) атрибутом устаревшийe, если он не изменялся в течении этого таймаута.
- values - числовые значения для некоторых приоритетов:
- Охраняемая зона(Zone) должна быть настроена следующим образом:
- Область(area) - полигон зоны(Заполняется при создании зоны в клиенте Интегра Планета Земля).
- Высота области(area_heights) - высоты точек из полигона(Заполняется при создании зоны в клиенте Интегра Планета Земля).
- Дополнительный делитель числового приоритета для зоны(trace_factor). Для назначения разной важности различным зонам.
- Настройки слежения(trace_settings):
- 1. defaults - таблица соответствия типа цели приоритету(указываются типы движущихся объектов с приоритетами слежения)
- 2. detectors - список различных настроек детекторов, содержит следующие параметры:
- 1. enabled - включить\выключить детектор.
- 2. types - список типов, для которых настраивается данный детектор.
- 3. exit_threshold - погрешность позиции для определения выхода из зоны, например: 10.
- 4. speed_limit - максимальная допустимая скорость, например: 7.
- 5. speed_change_threshold - порог изменения скорости, например: 20.
- 6. heading_change_threshold - порог изменения направления, например: 40.
- 7. stop_threshold - порог отсутствия движения, например: 0.6.
- 8. approach_threshold - минимальное допустимое расстояние между целями, например: 20.
- 3. alarm_actions - список флагов для выбора действий по зоне, которые считаются тревожными. Определяются следующие действия цели в зоне:
- 1. enter - вход в зону.
- 2. exit - выход из зоны.
- 3. stop - остановка.
- 4. start - начало движения.
- 5. too_fast - превышение скорости.
- 6. not_too_fast - прекращение превышения скорости.
- 7. severe_speed_change - резкое изменение скорости.
- 8. severe_heading_change - резкое изменение направления.
- 9. dangerous_approach - опасное сближение.
- 10. no_dangerous_approach - прекращение опасного сближения.
- 4. attention_actions - список флагов для выбора действий по зоне, по которым необходимо привлечение внимания.
Проверка
После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке, в том случае если скрипт не был изменен.
Замечания
- Для целей в зоне с приоритетом ignore осуществляются все расчеты, однако никакие события не генерируются.
- Для целей в зоне с позицией, помеченной outofdate, расчеты не осуществляются и события не генерируются, однако сами цели не удаляются из зоны.
- Для целей в зоне с пустой позицией расчеты не осуществляются, события не генерируются и сами цели удаляются из зоны.
- Если цель без указанного пользователем приоритета (т.е. DEFAULT) входит сразу в несколько зон с различными настройками приоритетов по умолчанию defaults, то выбирается наибольший, т.к. такая ситуация может сложиться только в том случае, если зоны пересекаются.
- Скрипту необходима актуализация параметра position целей (пометка как outofdate или сброс в null) и trace_enabled поворотного устройства.
- Цель считается вошедшей в зону, если ее позиция входит внутрь соответствующего полигона зоны.
- Цель считается вышедшей из зоны, если круг радиуса exit_threshold вокруг позиции цели полностью выходит из соответствующего полигона зоны.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Создание схемы).
2. Добавить элемент Военный корабль "WarShip".
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- единица измерения (period_unit): секунда;
- интервал в единицах измерения (period_count): 1;
- повторять через интервал или выполнить один раз в указанное время (repeat): 0;
- задействовать триггер (enabled): true;
- в настройках:
- типы целей, для которых следует генерировать нормальное событие ZoneEvent (spawn_event_types): WarShip;
- типы целей с высшим приоритетом (trace_highest_types): WarShip;
- типы целей с высоким приоритетом (trace_high_types): WarShip;
- типы целей с нормальным приоритетом (trace_normal_types): WarShip;
- типы целей с низким приоритетом (trace_low_types): WarShip;
- типы целей с низшим приоритетом (trace_lowest_types): WarShip;
- максимальное количество секунд с последнего обновления цели (trace_timeout): 500;
- таймаут на сброс приоритета для целей с наивысшим приоритетом (trace_highest_timeout) : 300;
- таймаут на сброс приоритета для целей с высоким приоритетом (trace_high_timeout): 240;
- таймаут на сброс приоритета для целей с нормальным приоритетом (trace_normal_timeout): 180;
- таймаут на сброс приоритета для целей с низким приоритетом (trace_low_timeout): 60;
- таймаут на сброс приоритета для целей с низшим приоритетом (trace_lowest_timeout): 207.
5. Настроить следующие параметры Зоны:
- область (area): POLYGON((50.22228403 53.2363014,50.2224350 53.23636588,50.2224236 53.2362976,50.22228403 53.2363014));
- высота области (area_heights): 121.9 121.6 121.5. Массив чисел должен быть разделен, используя клавишу Enter;
- приоритет зоны (trace_priority) : normal.
6. У объекта TraceDetectorSettings настроить следующие параметры:
- список типов целей, на которые распространяются данные настройки (types): WarShip;
- список идентификаторов целей, на которые распространяются данные настройки (guids): 385352c9-e5b2-4c92-af47-c2679806a742;
- максимальная допустимая скорость (speed_limit): 7;
- генерировать тревожное или обычное событие по превышению скорости скорости (speed_limit_alarm): true;
- порог изменения скорости (speed_change_threshold): 20;
- генерировать тревожное или обычное событие по резкому изменению скорости (speed_change_alarm): true;
- порог изменения направления (heading_change_threshold): 40;
- генерировать тревожное или обычное событие по резкому изменению направления (heading_change_alarm): true;
- порог отсутствия движения (stop_threshold): 0.6;
- генерировать тревожное или обычное событие по началу или окончанию движения (stop_alarm): true;
- минимальное допустимое расстояние между целями (approach_threshold): 20;
- генерировать тревожное или обычное событие по опасному сближению (approach_alarm): true.
Для ввода идентификатора необходимо зайти в свойства элемента WarShip и нажать на ссылку "WarShip". Идентификатор будет скопирован в буфер обмена. В данном случае это: 385352c9-e5b2-4c92-af47-c2679806a742.
Замечания:
- 1. При добавлении нескольких элементов TraceDetectorSettings каждый из них можно настроить на свой список целей и на различную скорость.
- 2. Если приоритет цели, либо приоритет зоны равен ignore, то события по ним не генерируются.
- 3. Если у зоны отсутствуют настройки TraceDetectorSettings, то события по ней не генерируются.
Далее если объект не движется, можно запустить скрипт "Симулятор движения (Position Simulator 1)", описание которого приведено на странице Симулятор движения (Position simulator 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.22231086,53.23636008,0 50.22219015,53.23638496,0 50.22204666,53.23636007,0 50.22187902,53.23633359,0 50.22184013,53.23623807,0. Элемент в Position Simulator 1 и в Trace detector 1 должен быть одним и тем же.
Результат:
Для просмотра результата необходимо зайти в Менеджер событий.
Настроить вкладку на необходимый сервер и параметр "Событие в зоне".
После этого будет отображен список событий в зоне. Так как скорость военного корабля превышала максимальную допустимую скорость, то генерируется событие too_fast.
По нажатию на кнопку "Показать информацию" раскроется подробная информация о событии.