Типовые схемы
Типовые схемы предназначены для создания связей в системе, установленных на объекте.
Содержание
Подготовка для работы
В любой создаваемой схеме необходима связка Компьютер-Менеджер устройств(AcuarioManager)
Менеджер устройств предназначен для взаимодействия с поставщиками данных - аппаратными модулями (ОПС, сенсорами, устройствами) и программными модулями (Интегра Видео 7, СКУД и пр).
Так же все добавленные элементы необходимо привязывать к своим пространствам.
В данном примере имеется два пространства "1 этаж" и "2 этаж", привязанные к одному плану. Каждый из объектов привязан к своему пространству, что упрощает расстановку датчиков на план в дальнейшем.
Схема СКД
Для создания схемы подключения системы контроля доступа необходимо добавить следующие элементы:
- Клиент Интегра ACS
- Замок
- Турникет
Для создания схемы подключения системы контроля доступа необходимо добавить следующие связи:
- Замок: AccessSlave:Прием доступа + Клиент Интегра ACS: AxxessMaster:Передача доступа
- Турникет: AccessSlave:Прием доступа + Клиент Интегра ACS: AxxessMaster:Передача доступа
- Менеджер устройств: ManaginContainer:Менеджер Устройств + Клиент Интегра ACS:ManaginContainer
- Компьютер: SoftwareContainer:Установленное ПО + Клиент Интегра ACS:SoftwareContent:ПО
Далее необходимо открыть меню элемента «Компьютер» и в строке «Сетевой адрес» вводим ip компьютера к которому должен подключаться «AcuarioManager».
В меню элемента «Клиент Интегра ACS», в строке «Сервера Интегра ACS» прописывается ip адрес сервера.
Датчики подключаемые к клиенту «Интегра ACS», настраиваются следующим образом:
- В строке «COM-порт» прописывается адрес com-порта по которому подключено устройство
- В строке «Адрес URL» - ip адрес сервера «Интегра ACS»
- В строке «Идентификатор устройства» - devid, который присваивает база данных.
Схема ОПС "Болид"
Для создания схемы подключения ОПС «Болид» необходимо добавить следующие элементы:
- Болид С2000 пульт
- Болид сигнал 20
- Болид пожарный датчик
Для создания схемы подключения ОПС «Болид» необходимо добавить следующие связи:
- Менеджер устройств AcurioManager: ManaginContainer:Менеджер Устройств + Болид С2000 пульт: ManaginContent:MangingContainer
- Болид С2000 пульт:Rs485Socket:Разъем RS485 1 + Болид Сигнал 20:Rs485Socket:Разъем RS485 1
- Болид Сигнал 20:LowCurrentSocket:Разъем Слаботочного Провода + Болид пожарный датчик:LowCurrentSocket:Разъем Слаботочного Провода
Далее в элементе «Компьютер» необходимо прописать Ip адрес компьютера на котором установлен «Менеджер устройств».
В элементе «Болид С2000 пульт» необходимо задать номер COM-порта, вида «COM1»,«COM2»,«COM3», для ОС Windows, «/dev/ttyS1», «/dev/ttyS2», «/dev/ttyS3», для Linux.
В элементе «Болид Сигнал 20» прописываем адрес. Его можно узнать при помощи программы uprog.
Так же для удобства работы необходимо задать имена для всех элементов в схеме.
Схема "Интегра Видео 7"
Для создания схемы подключения системы видеонаблюдения «Интегра видео 7» необходимо добавить следующие элементы:
- Компьютер или Сервер
- Сетевой коммутатор
- Опрос локальной сети
- По Интегра-Видео 7
- IP Видеокамера
Для создания схемы подключения системы видеонаблюдения «Интегра видео 7» необходимо добавить следующие связи:
- Сервер:Сервер Видео:SoftwareContainer:Установленное ПО + Менеджер устройств AcurioManager:SoftwareContent:ПО или Компьютер:SoftwareContainer:Установленное ПО + Менеджер устройств AcurioManager:SoftwareContent:ПО
- Менеджер устройств AcurioManager: ManaginContainer:Менеджер Устройств + Опрос локальной сети:ManaginContent:ManaginContent
- Менеджер устройств AcurioManager: ManaginContainer:Менеджер Устройств + ПО Интегра-Видео 7:ManaginContent:ManaginContent
- ПО Интегра-Видео 7:MediaContainer:Медиаданные + IP Видеокамера: MediaContent:Медиаданные
- Сетевой коммутатор:EthernetSocket:Сетевой разъем + Сервер:Сервер Видео:EthernetSocket:Сетевой разъем или Сетевой коммутатор:EthernetSocket:Сетевой разъем + Компьютер:EthernetSocket:Сетевой разъем
- Сетевой коммутатор:EthernetSocket:Сетевой разъем + IP Видеокамера:EthernetSocket:Сетевой разъем
Далее для элементов «IP видеокамера» задаем любое имя объекта и адрес URL вида iv7://admin:fulladmin@/?udp_id=5705&key2=Камера 5705
где admin – логин пользователя, fulladmin – пароль пользователя, udp_id – идентификатор камеры в ИВ-7 (ID 5.4), key2 – имя камеры в ИВ-7.
Затем, прописываем имя и сетевой адрес у элемента «Сервер», адрес должен соответствовать компьютеру, на котором установлены «ПО Интегра -Видео 7» и «Менеджер устройств». Элементы «Сервер» и «Компьютер» полностью идентичны по своим свойствам, имеют только разные модели.
После чего, в элементе «ПО Интегра-Видео 7» устанавливаем режим «Главный сервер» (main_server) и задаем сетевой адрес сервера видео, порт по умолчанию оставляем 9090.
Элемент «Опрос локальной сети» необходим для мониторинга состояния элементов «Компьютер» и «Сервер».
Схема "Agilion"
Данная схема предназначена для настройки локального позиционирования.
Для создания данной схемы необходимо добавить следующие элементы:
- Компьютер или Сервер
- Менеджер устройств (AcuarioManager)
- Сервер Agilion
- Agilion Zero Point
- Agilion метка
Примечание: Менеджер устройств должен быть не старше версии 1.26.0.
Для создания схемы «Agilion» необходимо добавить следующие связи:
- Компьютер: Установленное ПО:SoftwareContainer + Менеджер устройств: ПО:SoftwareContent
- Менеджер устройств: ManagingContainer + Сервер Agilion: Привязка к менеджеру:ManagingContent
- Сервер Agilion: Подключение Agilion Zero Point:AgilionZeroPointSocketOut + Agilion Zero Point: Разъем Agilion Zero Point вход:AgilionZeroPointSocketIn
- Сервер Agilion: Разъем Agilion выход:AgilionSocketOut + Agilion метка: Разъем Agilion вход:AgilionSocketIn
Далее необходимо открыть свойства элемента "Компьютер" и в строке "Сетевой адрес" ввести ip компьютера, к которому должен подключаться "Менеджер устройств".
В свойствах элемента "Сервер Agilion" указывается сетевой адрес (по умолчанию *) и порт, на который будут приниматься данные.
В элементе "AgilionZeroPoint" необходимо задать такую высоту и географические координаты, чтобы они соответствовали нулевой точке Agilion.
Элемент "Agilion метка" - это трекер, для которого указывается номер в поле "Адрес".
Для отслеживания объекта его необходимо присоединить к элементу "Agilion метка", подключив пины "Источник данных GPS:GPSProviderOut" из Agilion метки к пину "Приемник данных GPS:GPSProviderIn" из объекта.
Также следует настроить отправку данных на менеджер устройств в системе Agilion. Для этого необходимо открыть файл AgilionDataExport.ini в папке C:\Windows и настроить раздел ExportTCPIP, указав в нем поле Active=1, Host и Port компьютера, на котором стоит менеджер устройств.
Схема "Снепшоты"
Данная схема предназначена для выполнения снепшотов через указанный интервал времени.
Для создания данной схемы необходимо добавить следующие элементы:
- Egs Модуль
- Скрипт EgsScheduled
Для создания данной схемы необходимо добавить следующие связи:
- Egs Модуль: Привязка к менеджеру:ManagingContainer + Менеджер устройств:ManagingContainer
- Egs Модуль: Egs выход:EgsOutput + EgsScheduled: Egs вход:EgsInput
Далее необходимо настроить сетевой адрес компьютера в свойствах элемента.
Триггер EgsScheduled настраивается следующим образом:
- текст скрипта (script)
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%202.put&path=0/params/script/value;
- единица измерения (period_unit), например: час;
- интервал в единицах измерения (period_count), например: 1;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- задействовать триггер (enabled), например: true;
- в настройках:
- имя хранимой процедуры БД (settings.proc): graph.get_time;
- аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["76606d62-a514-11e4-8c37-a7064178f246", 0], где первым параметром является идентификатор сервера, на котором выполняется скрипт, а вторым - номер версии, с которой необходимо получать данные (в данном случае 0).
При успешном выполнении через указанный интервал времени в параметр результат (settings.result) будет записываться результат в следующем виде:
{ "result": "ok" }
Примечание: В случае если на схеме отсутствуют элементы типа Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer, их необходимо добавить. Если присутствуют, то использовать текущие.
Более подробная информация о скрипте размещена на странице Вызов хранимой процедуры БД по расписанию (Call stored).
Схема "Очистка БД"
Данная схема предназначена для очистки базы данных через указанный интервал времени.
Для создания данной схемы необходимо добавить следующие элементы:
- Egs Модуль
- Скрипт EgsScheduled
Для создания данной схемы необходимо добавить следующие связи:
- Egs Модуль: Привязка к менеджеру:ManagingContainer + Менеджер устройств:ManagingContainer
- Egs Модуль: Egs выход:EgsOutput + EgsScheduled: Egs вход:EgsInput
Далее необходимо настроить сетевой адрес компьютера в свойствах элемента.
Триггер EgsScheduled настраивается следующим образом:
- текст скрипта (script)
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Call%20stored%202.put&path=0/params/script/value;
- единица измерения (period_unit), например: месяц;
- интервал в единицах измерения (period_count), например: 1;
- повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
- задействовать триггер (enabled), например: true;
- в настройках:
- имя хранимой процедуры БД (settings.proc): graph.clearing_all_archive;
- аргументы хранимой процедуры БД (JSON массив) (settings.args), например: ["76606d62-a514-11e4-8c37-a7064178f246", "1 month"], ["76606d62-a514-11e4-8c37-a7064178f246", "2 months"], где первым параметром является идентификатор сервера, на котором выполняется скрипт, а вторым - интервал времени, ранее которого будут удалены записи. Если задать следующий аргумент: ["76606d62-a514-11e4-8c37-a7064178f246", "7 days"], то будут сохранены записи за 7 дней от текущей даты, остальные будут очищены.
При успешном выполнении через указанный интервал времени в параметр результат (settings.result) будет записываться результат в следующем виде:
{ "result": "ok" }
Примечание: В случае если на схеме отсутствуют элементы типа Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer, их необходимо добавить. Если присутствуют, то использовать текущие.
Более подробная информация о скрипте размещена на странице Вызов хранимой процедуры БД по расписанию (Call stored).
Схема "Получение данных с метеостанции на платформы Nokia"
Данная схема предназначена для получения данных с метеостанции на платформы Nokia
Для создания данной схемы необходимо добавить следующие элементы:
- Компьютер или Сервер
- Менеджер устройств (AcuarioManager)
- Клиент Cumulocity (CumulocityClient)
- Составная метеостанция (CompositeMeteostationStation)
А так же для примера типы веществ:
- Сероводород (H2S)
- Метилмеркаптан (CH3SH)
- Формальдегид (CH2O)
Для создания данной схемы необходимо добавить следующие связи:
- Компьютер: Установленное ПО:SoftwareContainer + Менеджер устройств: ПО:SoftwareContent
- Менеджер устройств: ManagingContainer + CumulocityClient: Привязка к менеджеру:ManagingContent
- Составная метеостанция: Логический вход:LogicInput + CumulocityClient: Логический выход:LogicOutput
- Составная метеостанция: Логический выход:LogicOutput + вещества (Сероводород, Метилмеркаптан, Формальдегид, Метан):Логический вход:LogicInput
Далее необходимо настроить параметры у элементов:
- Компьютер(сервер): сетевой адрес
- Клиент Cumulocity: url, логин, пароль, refreshS (как часто обновлять данные), timeoutS (если данных по датчику нет в течении этого времени, он посинеет)
- Составная метеостанция: идентификатор (id)
- Элемент вещество: в дополнительную информацию (additional info) указать id.
Составная метеостанция используется для агрегации датчиков, зеленеет как только приходит любое событие по этой метеостанции. К метеостанции по LogicLink можно подключать любые датчики, которые будут зеленеть при поступлении события по параметру.
Пример отображения полученной информации с датчиков веществ:
Схема "Открытие шлагбаума при вхождении цели в зону"
Данная схема предназначена для открытия шлагбаума при вхождении указанных целей. Для создания данной схемы необходимо добавить следующие элементы:
- Zone Controller (Скрипт необходимо импортировать отсюда http://maps.integra-s.com:5434/resources/typedef2017/egs/Zone%20Controller.put)
- Reflex Center (Скрипт необходимо импортировать отсюда http://maps.integra-s.com:5434/resources/typedef2017/egs/Reflex%20Center.put)
- Компьютер или Сервер (Computer/Server)
- Менеджер устройств (AcuarioManager)
- EGS Модуль (EGSModule)
- IntegraVideo7Sip
- Зона (Zone)
- Шлагбаум (Bascule_barrier)
- Движущийся объект (например Автобус)
Для того, чтобы импортировать скрипт необходимо сначала скопировать и вставить вышеуказанную ссылку в адресную строку браузера, нажать на клавиатуре Enter, в окне браузера нажать правой кнопкой мыши, в появившемся контекстном меню нажать на сохранить как и выбрать удобное для вас местоположения сохранив скрипт с расширением .put.
В редакторе Скада нажать на меню Действия > Импорт элементов > выбрать сохраненный скрипт.
Необходимо добавить следующие связи:
- Zone Controler: EGS вход:EGSInput + EGS Модуль: EGS Выход: EGSOutput
- Reflex Center: EGS вход:EGSInput + EGS Модуль: EGS Выход: EGSOutput
- EGS Модуль: Привязка к менеджеру: ManagingContent + Менеджер устройств: Менеджер устройств: ManagingContainer
- Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer
- IntegraVideo7Sip: Привязка к менеджеру: ManagingContent + Менеджер устройств: Менеджер устройств: ManagingContainer
- Шлагбаум: Логический вход: LogicInput + IntegraVideo7Sip: Логический выход: LogicOutput
- Зона: Логический выход: LogicOutput + Шлагбаум: Логический вход: LogicInput
Далее необходимо настроить параметры элементов в свойствах элемента:
1. Zone Controller
Назначение
Определение вхождения целей MoveableObject в охраняемые зоны Zone
Генерирование событий ZoneEvent о входе цели в зону и выходе цели из зоны
Расчет и сохранение списка зон, в которые входит цель trace_zones
Генерирование событий о резком изменении скорости и направления цели
Генерирование событий об остановке и начале движения после остановки
Генерирование событий об превышении скорости и возврате к нормальной скорости
Генерирование событий об начале и окончании опасного сближения
Расчет числового приоритета (очередности) цели trace_order
Настройки (settings):
values - числовые значения для некоторых приоритетов:
high - повышенный приориет (1 < high < MaxValue)
low - пониженный приориет (0 < low < 1)
server - строка содержащая либо гуид сервера, на который следует отправлять события, либо имя параметра самого события, содержащего этот гуид, например: server
После запуска скрипта в параметре hash появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Zone%20Controller.put&path=0/params/hash/value, в том случае если скрипт не был изменен
2. Reflex Center
Назначение
Отслеживание изменения параметра объекта источника
Поиск связанного с источником объекта приемника
Выполнение действий с объектом приемником в соответствии с условием
settings - список сценариев, имеющих следующие параметры:
enabled - включить/выключить сценарий
source - список гуидов и/или имен типов объектов источников
target - путь от объекта источника к объекту приемнику
condition - описание условия для выполнения действия
action - описание действия при выполненных условиях
params - список параметров рефлексов в виде таблицы ключ/значение, где ключ - имя параметра рефлекса, а значение - строковая форма значения параметра, подставляется в condition и action в виде {paramname}, где paramname - имя параметра
tree - дерево из трех уровней где ключами являются значения числовых параметров condition и action, т.е. вида {0}, {1} и {2}, подходящей по смыслу ветки, где номер обозначает глубину, тогда как значение нижнего уровня подставляется вместо {3}
operation - список указывающий операции сервера для запуска сценария:
create - создание объекта
update - изменение объекта
delete - удаление объекта
sсhedule - опциональный список расписаний для запуска скрипта (вместо запуска по событию) в расширенном формате cron (см. https://ru.wikipedia.org/wiki/Cron)
comment - комментарий пользователя, описание сценария
3. Компьютер
Настроить сетевой адрес
4. IntegraVideo7Sip
Идентификатор sip, Сетевой адрес sip, пароль sip, порт sip, Адрес URL, Логин, Пароль
5. Зона (Zone)
area - область обслуживания (Координаты появятся после создания зоны в клиенте "Интегра планета Земля")
area_heights - высоты области (Появится после создания зоны в клиенте "Интегра планета Земля").
trace_factor - дополнительный делитель числового приоритета для зоны
trace_settings - настройки слежения по зоне имеют следующие параметры:
defaults - таблица соответствия типа цели приоритету
detectors - список различных настроек детекторов, содержит следующие параметры:
enabled - включить\выключить детектор
types - список типов, для которых настраивается данный детектор
exit_threshold - погрешность позиции для определения выхода из зоны, например: 10
speed_limit - максимальная допустимая скорость, например: 7
speed_change_threshold - порог изменения скорости, например: 20
heading_change_threshold - порог изменения направления, например: 40
stop_threshold - порог отсутствия движения, например: 0.6
approach_threshold - минимальное допустимое расстояние между целями, например: 20
alarm_actions - список флагов для выбора действий по зоне, которые считаются тревожными, например:
attention_actions - список флагов для выбора действий по зоне, по которым необходимо привлечение внимания
Определяются следующие действия цели в зоне:
enter - вход в зону
exit - выход из зоны
stop - остановка
start - начало движения
too_fast - превышение скорости
not_too_fast - прекращение превышения скорости
severe_speed_change - резкое изменение скорости
severe_heading_change - резкое изменение направления
dangerous_approach - опасное сближение
no_dangerous_approach - прекращение опасного сближения
События
Событие о действии цели в зоне ZoneEvent, содержит следующие параметры:
owner - идентификатор зоны
server - идентификатор сервера трекинга
position - географическая позиция цели
detector - идентификатор триггера
alarm - признак тревожного события
action - действие, см. выше
target - идентификатор цели
target_type - тип цели
target_info - краткая информация о цели
Замечания
Параметр trace_order рассчитывается для всех целей в графе как описано тут Приоритет слежения.
Для целей в зоне с приоритетом ignore осуществляются все рассчеты, однако никакие события не генерируются
Для целей в зоне с позицией, помеченной outofdate, рассчеты не осуществляются и события не генерируются, однако сами цели не удаляются из зоны
Для целей в зоне с пустой позицией рассчеты не осуществляются, события не генерируются и сами цели удаляются из зоны
Если цель без указанного пользователем приоритета (т.е. DEFAULT) входит сразу в несколько зон с различными настройками приоритетов по умолчанию defaults, то выбирается наибольший, т.к. такая ситуация может сложиться только в том случае, если зоны пересекаются
Скрипту необходима актуализация параметра position целей (пометка как outofdate или сброс в null)
Цель считается вошедшей в зону, если ее позиция входит внутрь соответствующего полигона зоны
Цель считается вышедшей из зоны, если круг радиуса exit_threshold вокруг позиции цели полностью выходит из соответствующего полигона зоны
6.Шлагбаум
Высота, расположение, номер телефона для открытия шлагбаума, номер телефона для закрытия шлагбаума
Пример работы:
1. Создать схему как описано выше
2. Элементу Зона настроить параметры:
- область обслуживания (area): POLYGON((50.2183189 53.2368202,50.2208366 53.2379951,50.2220306 53.2369308,50.2197838 53.2357864,50.2197647 53.2358017,50.2183189 53.2368202))
- высота области (area_heights):
- 132.20870971679688
- 127.05160522460938
- 123.02214050292969
- 125.25485229492188
- 125.34675598144531
- Настройки слежения (trace_settings):
{"defaults": { "Bus": "high" }, "detectors": [ { "enabled": true, "types": [ "Bus" ], "exit_threshold": 0, "speed_limit": 7, "speed_change_threshold": 20, "heading_change_threshold": 40, "stop_threshold": 0.6, "approach_threshold": 20, "alarm_actions": [ "exit", "enter" ], "attention_actions": [ "exit", "enter" ] } ] }
3. Элементу Reflex Center настроить параметр:
- Настройки:
{"responsive commander": { "enabled": true, "source": [ "4858fbeb-c619-4849-b01f-e56f46465f11" ], "target": [ "trace_zones", "Zone", "Pin", "Bascule_barrier" ], "condition": "trace_zones is not empty", "action": "command = \"open\"", "params": {}, "tree": {}, "operation": [ "update" ], "schedule": [], "comment": "" }}
где, в source указан гуид движущегося объекта (так же можно указать имя типа, в данном примере Bus, т.е. при входе в зону любого объекта Bus будет открываться шлагбаум)
в target слежение в зоне (trace_zones), шлагбаум(Bascule_barrier) подключенный к зоне (Zone) любим видом пина (Pin)
в condition - условие (если зона не пуста (trace_zones is not empty))
в action - выполнится команда открыть (command = \"open\") как только в зону попадет движущийся объект
3. Элементу шлагбаум настроить параметры:
- Высота (altitude): 123.1171749997884
- Расположение (position) (50.22226573; 53.23645955)
4. Далее если объект не движется, можно запустить скрипт "Симулятор движения (Position Simulator 1)", описание которого приведено на странице [Симулятор движения], и настроить в свойствах триггера параметры:
- данные о движении объекта (settings.input):
50.21979884154713,53.23603280606231,124 50.21992758757987,53.236084301430914,124 50.2200241471044,53.23613257828248,124 50.220136799883,53.236164762819776,124 50.22022263057147,53.23619372888256,124 50.22028700358784,53.23621303958015,124 50.22035137660421,53.2362387871633,124 50.220447936128735,53.236280626952755,124 50.2214349890462,53.23690500046691,124 50.220496215891025,53.23744568766287,124 50.21941260344898,53.23688247168483,124 50.22066251284994,53.23696936835009,124 50.220539131235235,53.23689856367324,124 50.22052303798115,53.23685994289082,124 50.22046939380084,53.23681810367033,124 50.220383563112364,53.23676660918871,124 50.22027091033376,53.236705459408626,124 50.22021190173542,53.236682930521006,128 50.22007242686663,53.23665396479085,128 50.21994368083395,53.236621780623125,128 50.2198632145635,53.236589596431095,128 50.21978811271108,53.2365702859042,128 50.21973446853077,53.23656063063748,128 50.21964327342427,53.23653488324884,128 50.21950379855548,53.23649626213669,128 50.21922484881795,53.23643189353865,128
- Цель (гуид движущегося объекта (в данном примере 4858fbeb-c619-4849-b01f-e56f46465f11))
Для того чтобы узнать гуид элемента необходимо перейти в меню Редактирование > Настройки > включить Расширенный режим, далее выбрать свойство необходимого элемента, нажать ЛКМ на название элемента, после чего выполнится копирование гуида в буфер обмена.
Результат:
Для просмотра результата необходимо зайти в Менеджер событий.
Настроить вкладку на необходимый сервер и параметры "Событие в зоне", шлагбаум.
Далее после входа/выхода в зону движущегося объекта будет транслироваться событие о входе/выходе и выполнение команды "Открыть" у шлагбаума.