Zone Controller (Детектор слежения за целями в зоне) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Замечания)
 
(не показано 10 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
== Назначение ==
 
== Назначение ==
# Определение вхождения целей (Движущиеся объекты)в охраняемые зоны Zone.
+
# Определение вхождения целей (Движущиеся объекты) в охраняемые зоны Zone.
 +
# Расчет и сохранение списка зон, в которые входит цель trace_zones(Зоны слежения).
 +
# Расчет числового приоритета (очередности) цели trace_order.
 
# Генерирование событий ZoneEvent(Событие в зоне) о входе цели в зону и выходе цели из зоны.
 
# Генерирование событий ZoneEvent(Событие в зоне) о входе цели в зону и выходе цели из зоны.
# Расчет и сохранение списка зон, в которые входит цель trace_zones(Зоны слежения).
 
 
# Генерирование событий о резком изменении скорости и направления цели.
 
# Генерирование событий о резком изменении скорости и направления цели.
 
# Генерирование событий об остановке и начале движения после остановки.
 
# Генерирование событий об остановке и начале движения после остановки.
 
# Генерирование событий об превышении скорости и возврате к нормальной скорости.
 
# Генерирование событий об превышении скорости и возврате к нормальной скорости.
 
# Генерирование событий об начале и окончании опасного сближения.
 
# Генерирование событий об начале и окончании опасного сближения.
# Расчет числового приоритета (очередности) цели trace_order.
+
 
 
== Создание схемы ==
 
== Создание схемы ==
 +
 
# Добавить следующие элементы в редакторе СКАДА:
 
# Добавить следующие элементы в редакторе СКАДА:
 
## Компьютер или сервер.
 
## Компьютер или сервер.
Строка 20: Строка 22:
 
## Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer
 
## Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer
 
[[File:schemas.jpg|800px|центр]]
 
[[File:schemas.jpg|800px|центр]]
 +
 
== Настройка элементов ==
 
== Настройка элементов ==
 
# У компьютера должен быть настроен параметр ip.
 
# У компьютера должен быть настроен параметр ip.
 
# У Zone Contoller должны быть настроены следующие параметры:
 
# У Zone Contoller должны быть настроены следующие параметры:
 
## Включен(enabled) - задействовать триггер.
 
## Включен(enabled) - задействовать триггер.
## values - числовые значения для некоторых приоритетов:
+
## Настройки:
### high - повышенный приоритет (1 < high < MaxValue).
+
### values - числовые значения для некоторых приоритетов:
### low - пониженный приоритет (0 < low < 1).
+
#### high - повышенный приоритет (1 < high < MaxValue).
### server - строка содержащая либо гуид сервера, на который следует отправлять события, либо имя параметра самого события, содержащего этот гуид, например: server.
+
#### low - пониженный приоритет (0 < low < 1).
[[File:zone_controll.png|центр]]
+
### server - строка содержащая либо гуид сервера, на который следует отправлять события, либо имя параметра самого события, содержащего этот гуид, например: server. После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей  [http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Zone%20Controller.put&path=0/params/hash/value ссылке], в том случае если скрипт не был изменен.
:После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей  [http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Zone%20Controller.put&path=0/params/hash/value ссылке], в том случае если скрипт не был изменен.
+
### target_position_timeout - помечать параметр Расположение(position) движущейся цели (MoveableObject) атрибутом устаревший(outofdate), если он не изменялся в течении этого таймаута, например: 00:01:00.
# Охраняемая зона(Zone), должна быть настроена следующим образом:
+
### undefined_position_timeout - помечать параметр Расположение неопределенной цели (UndefinedTarget) атрибутом устаревшийe, если он не изменялся в течении этого таймаута.
## Область(area) - полигон зоны.
+
# Охраняемая зона(Zone) должна быть настроена следующим образом:
## Высота области(area_heights) - высоты точек из полигона.
+
## Область(area) - полигон зоны(Заполняется при создании зоны в клиенте Интегра Планета Земля).
## Дополнительный делитель числового приоритета для зоны(trace_factor).
+
## Высота области(area_heights) - высоты точек из полигона(Заполняется при создании зоны в клиенте Интегра Планета Земля).
 +
## Дополнительный делитель числового приоритета для зоны(trace_factor). Для назначения разной важности различным зонам.
 
## Настройки слежения(trace_settings):
 
## Настройки слежения(trace_settings):
###defaults - таблица соответствия типа цели приоритету(указываются типы движущихся объектов с приоритетами слежения), например:
+
[[File:trace_settings.jpg|400px|центр]]
              "defaults": {
+
::::: 1. defaults - таблица соответствия типа цели приоритету(указываются типы движущихся объектов с приоритетами слежения)
                "UndefinedTarget": "high",
+
::::: 2. detectors - список различных настроек детекторов, содержит следующие параметры:
                "SeaTarget": "normal"
+
:::::: 1. enabled - включить\выключить детектор.
                }
+
:::::: 2. types - список типов, для которых настраивается данный детектор.
detectors - список различных настроек детекторов, содержит следующие параметры:
+
:::::: 3. exit_threshold - погрешность позиции для определения выхода из зоны, например: 10.
enabled - включить\выключить детектор.
+
:::::: 4. speed_limit - максимальная допустимая скорость, например: 7.
types - список типов, для которых настраивается данный детектор.
+
:::::: 5. speed_change_threshold - порог изменения скорости, например: 20.
exit_threshold - погрешность позиции для определения выхода из зоны, например: 10.
+
:::::: 6. heading_change_threshold - порог изменения направления, например: 40.
speed_limit - максимальная допустимая скорость, например: 7.
+
:::::: 7. stop_threshold - порог отсутствия движения, например: 0.6.
speed_change_threshold - порог изменения скорости, например: 20.
+
:::::: 8. approach_threshold - минимальное допустимое расстояние между целями, например: 20.
heading_change_threshold - порог изменения направления, например: 40.
+
::::: 3. alarm_actions - список флагов для выбора действий по зоне, которые считаются тревожными. Определяются следующие действия цели в зоне:
stop_threshold - порог отсутствия движения, например: 0.6.
+
:::::: 1. enter - вход в зону.
approach_threshold - минимальное допустимое расстояние между целями, например: 20.
+
:::::: 2. exit - выход из зоны.
alarm_actions - список флагов для выбора действий по зоне, которые считаются тревожными, например:
+
:::::: 3. stop - остановка.
"attention_actions": [
+
:::::: 4. start - начало движения.
        "exit",
+
:::::: 5. too_fast - превышение скорости.
        "enter"
+
:::::: 6. not_too_fast - прекращение превышения скорости.
      ]
+
:::::: 7. severe_speed_change - резкое изменение скорости.
attention_actions - список флагов для выбора действий по зоне, по которым необходимо привлечение внимания.
+
:::::: 8. severe_heading_change - резкое изменение направления.
 +
:::::: 9. dangerous_approach - опасное сближение.
 +
:::::: 10. no_dangerous_approach - прекращение опасного сближения.
 +
::::: 4. attention_actions - список флагов для выбора действий по зоне, по которым необходимо привлечение внимания.
 +
== Замечания ==
 +
# Для целей в зоне с приоритетом ignore осуществляются все расчеты, однако никакие события не генерируются.
 +
# Для целей в зоне с позицией, помеченной outofdate, расчеты не осуществляются и события не генерируются, однако сами цели не удаляются из зоны.
 +
# Для целей в зоне с пустой позицией расчеты не осуществляются, события не генерируются и сами цели удаляются из зоны.
 +
# Если цель без указанного пользователем приоритета (т.е. DEFAULT) входит сразу в несколько зон с различными настройками приоритетов по умолчанию defaults, то выбирается наибольший, т.к. такая ситуация может сложиться только в том случае, если зоны пересекаются.
 +
# Цель считается вошедшей в зону, если ее позиция входит внутрь соответствующего полигона зоны.
 +
# Цель считается вышедшей из зоны, если круг радиуса exit_threshold вокруг позиции цели полностью выходит из соответствующего полигона зоны.
 +
 
 +
== Замечания ==
 +
 
 +
# Для целей в зоне с приоритетом ignore осуществляются все расчеты, однако никакие события не генерируются.
 +
# Для целей в зоне с позицией, помеченной outofdate, расчеты не осуществляются и события не генерируются, однако сами цели не удаляются из зоны.
 +
# Для целей в зоне с пустой позицией расчеты не осуществляются, события не генерируются и сами цели удаляются из зоны.
 +
# Если цель без указанного пользователем приоритета (т.е. DEFAULT) входит сразу в несколько зон с различными настройками приоритетов по умолчанию defaults, то выбирается наибольший, т.к. такая ситуация может сложиться только в том случае, если зоны пересекаются.
 +
# Скрипту необходима актуализация параметра position целей (пометка как outofdate или сброс в null) и trace_enabled поворотного устройства.
 +
# Цель считается вошедшей в зону, если ее позиция входит внутрь соответствующего полигона зоны.
 +
# Цель считается вышедшей из зоны, если круг радиуса exit_threshold вокруг позиции цели полностью выходит из соответствующего полигона зоны.
 +
 
 +
== Пример работы ==

Текущая версия на 14:46, 30 июля 2021

Назначение

  1. Определение вхождения целей (Движущиеся объекты) в охраняемые зоны Zone.
  2. Расчет и сохранение списка зон, в которые входит цель trace_zones(Зоны слежения).
  3. Расчет числового приоритета (очередности) цели trace_order.
  4. Генерирование событий ZoneEvent(Событие в зоне) о входе цели в зону и выходе цели из зоны.
  5. Генерирование событий о резком изменении скорости и направления цели.
  6. Генерирование событий об остановке и начале движения после остановки.
  7. Генерирование событий об превышении скорости и возврате к нормальной скорости.
  8. Генерирование событий об начале и окончании опасного сближения.

Создание схемы

  1. Добавить следующие элементы в редакторе СКАДА:
    1. Компьютер или сервер.
    2. Менеджер устройств(Acuario Manager).
    3. EGS Модуль.
    4. Зона.
    5. Скрипт Zone Сontroller (Скрипт можно импортировать отсюда).
  2. Связать элементы:
    1. Zone Controler: EGS вход:EGSInput + EGS Модуль: EGS Выход: EGSOutput
    2. EGS Модуль: Привязка к менеджеру: ManagingContent + Менеджер устройств: Менеджер устройств: ManagingContainer
    3. Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer
Schemas.jpg

Настройка элементов

  1. У компьютера должен быть настроен параметр ip.
  2. У Zone Contoller должны быть настроены следующие параметры:
    1. Включен(enabled) - задействовать триггер.
    2. Настройки:
      1. values - числовые значения для некоторых приоритетов:
        1. high - повышенный приоритет (1 < high < MaxValue).
        2. low - пониженный приоритет (0 < low < 1).
      2. server - строка содержащая либо гуид сервера, на который следует отправлять события, либо имя параметра самого события, содержащего этот гуид, например: server. После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке, в том случае если скрипт не был изменен.
      3. target_position_timeout - помечать параметр Расположение(position) движущейся цели (MoveableObject) атрибутом устаревший(outofdate), если он не изменялся в течении этого таймаута, например: 00:01:00.
      4. undefined_position_timeout - помечать параметр Расположение неопределенной цели (UndefinedTarget) атрибутом устаревшийe, если он не изменялся в течении этого таймаута.
  3. Охраняемая зона(Zone) должна быть настроена следующим образом:
    1. Область(area) - полигон зоны(Заполняется при создании зоны в клиенте Интегра Планета Земля).
    2. Высота области(area_heights) - высоты точек из полигона(Заполняется при создании зоны в клиенте Интегра Планета Земля).
    3. Дополнительный делитель числового приоритета для зоны(trace_factor). Для назначения разной важности различным зонам.
    4. Настройки слежения(trace_settings):
Trace settings.jpg
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 - список флагов для выбора действий по зоне, по которым необходимо привлечение внимания.

Замечания

  1. Для целей в зоне с приоритетом ignore осуществляются все расчеты, однако никакие события не генерируются.
  2. Для целей в зоне с позицией, помеченной outofdate, расчеты не осуществляются и события не генерируются, однако сами цели не удаляются из зоны.
  3. Для целей в зоне с пустой позицией расчеты не осуществляются, события не генерируются и сами цели удаляются из зоны.
  4. Если цель без указанного пользователем приоритета (т.е. DEFAULT) входит сразу в несколько зон с различными настройками приоритетов по умолчанию defaults, то выбирается наибольший, т.к. такая ситуация может сложиться только в том случае, если зоны пересекаются.
  5. Цель считается вошедшей в зону, если ее позиция входит внутрь соответствующего полигона зоны.
  6. Цель считается вышедшей из зоны, если круг радиуса exit_threshold вокруг позиции цели полностью выходит из соответствующего полигона зоны.

Замечания

  1. Для целей в зоне с приоритетом ignore осуществляются все расчеты, однако никакие события не генерируются.
  2. Для целей в зоне с позицией, помеченной outofdate, расчеты не осуществляются и события не генерируются, однако сами цели не удаляются из зоны.
  3. Для целей в зоне с пустой позицией расчеты не осуществляются, события не генерируются и сами цели удаляются из зоны.
  4. Если цель без указанного пользователем приоритета (т.е. DEFAULT) входит сразу в несколько зон с различными настройками приоритетов по умолчанию defaults, то выбирается наибольший, т.к. такая ситуация может сложиться только в том случае, если зоны пересекаются.
  5. Скрипту необходима актуализация параметра position целей (пометка как outofdate или сброс в null) и trace_enabled поворотного устройства.
  6. Цель считается вошедшей в зону, если ее позиция входит внутрь соответствующего полигона зоны.
  7. Цель считается вышедшей из зоны, если круг радиуса exit_threshold вокруг позиции цели полностью выходит из соответствующего полигона зоны.

Пример работы