Элемент - заместитель связанного устройства (Proxy item с таблицей соответствия состояний)
Копирование состояние от связанного устройства в прокси. Копирование команды от прокси в связанное устройство.
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsObjectUpdated.
- Для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsObjectUpdated.
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsObjectUpdated и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsObjectUpdated и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script)
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%203.put&path=0/params/script/value;
- задействовать триггер (enabled), например: true;
- в настройках:
- тип устройств (item_type), например: VideoCamera;
- имя пина, через который устройства подключены к прокси (item_pin), например: zoneInputPin;
- тип прокси (proxy_type), например: Zone;
- имя пина, через который прокси подключены к устройствам (proxy_pin), например: zoneOutputPin;
- таблица соответствий (table), например:
{ "ok_inactive": "alarm_alarm" }
- Таблица соответствий имеет вид json объекта, ключами которого являются маски состояний устройства, а значениями соответствующие им состояния прокси. Точки в именах событий (например: ok.normal) следует заменять символом подчеркивания (например: ok_normal).
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%203.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.
Алгоритм работы
- При смене состояния устройства, имеющего тип из списка item_type:
- находятся все прокси, соединенные с устройством линком от item_pin к proxy_pin и имеющие тип из списка proxy_type;
- из таблицы соответствий по маске значения состояния устройства выбирается соответствующее состояние прокси;
- если соответствия нет, то значение состояния устройства копируется в состояние прокси как есть;
- если у прокси нет такого состояния, то выбирается наиболее близкое базовое состояние из списка ok.normal, error.defective, alarm.alarm и none.unknown.
- При смене команды прокси, имеющего тип из списка proxy_type:
- находятся все устройства, соединенные с прокси линком от proxy_pin к item_pin и имеющие тип из списка item_type;
- значение команды прокси копируется в состояние устройства как есть;
- если у устройства нет такого состояния, то выставляется значение DEFAULT и параметр помечается как не валидный.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Построение схемы).
2. Добавить элемент Зона и IP Видеокамера. Подключите пин "Привязка к зоне: ZoneInputPin" из IP Видеокамеры с пином "Зона: ZoneOutputPin" из Зоны.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- задействовать триггер (enabled): true;
- в настройках:
- тип устройств (item_type): VideoCamera;
- имя пина, через который устройство подключено к прокси (item_pin): zoneInputPin;
- тип прокси (proxy_type): Zone;
- имя пина, через который прокси подключен к устройствам (proxy_pin): zoneOutputPin;
- таблица соответствий (table):
{ "ok_inactive": "alarm_alarm", "error_flashing": "ok_normal" }
Результат:
При смене состояния IP Видеокамеры на "Неактивен (ок)", у Зоны появится состояние "Тревога Тревога", при состоянии IP Видеокамеры "Восстановление сигнала (error)", у зоны - "В норме (ок)"
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsObjectUpdated можно осуществить по ссылке.
Для этого необходимо:
- 1. Импортировать скрипт по следующей ссылке:
http://maps.integra-s.com:5434/resources/typedef2017/egs/Proxy%20item%203.put.
- 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
- 3. В открывшемся окне выбрать импортированный скрипт "Proxy item 1.put".
- Элемент появится на рабочей области.
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.