Управление оборудованием в системе Helvar

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск


В разделе представлены примеры команд устройствами и группами устройств в системе Helvar, которые вызываются с помощью различных управляющих элементов. Описаны способы получения данных о состоянии оборудования.


Управление устройствами и группами


Команды управления устройствами и группами устройств в системе Helvar:

Команда устройству: Команда группе: Описание:
Direct Level (Device) Direct Level (Group) Установка статуса
Recall Scene (Device) Recall Scene (Group) Вызов сцены
Direct Proportion (Device) Direct Proportion (Group) Установка пропорции
Modify Proportion (Device) Modify Proportion (Group) Модификация пропорции


↑ К оглавлению

"Direct Level (Device/Group)" - установка и запрос статуса

Для того, чтобы отправить значение устройству или группе в системе Helvar, например, замкнуть-разомкнуть реле, установить яркость диммера и отобразить в проекте их реальный статус, используются команды "Direct Level Device" и "Query Load Level", настроить которые необходимо определенным образом.

  • Direct Level (Device/Group) - команда установки статуса, отправляет значение, которое нужно принять устройству или группе устройств
  • Query Load Level - канал обратной связи, с определенной периодичностью запрашивает и отдает в интерфейс статус управляемого устройства (только для отдельных устройств).

Таким образом, достаточный набор управления устройством в системе Helvar состоит из команды установки значения и канала обратной связи для слежения за статусом устройства:


Helvar Direct-Lvl-Dev Query-Load-Lvl.png


Commands - команды устройствам и группам устройств

  • Command: Direct Level (Device/Group) - установка статуса (переключение реле, управление яркостью)
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • Fade Time (мс) (0..6553.5s) - скорость перехода устройства из текущего статуса в заданный после получения команды установки статуса

Значение статуса, которое нужно установить, выбирается как параметр "Value", при натаскивании команды на графический элемент.


Feedbacks - каналы обратной связи для отображения статуса устройств

  • Command: Query Load Level - запрос и отображение статуса устройства
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • Use Timer: Yes - запрос статуса устройства по таймеру (HelvarNet не отдает статус без запроса). Если таймер выключен, статус устройства получен не будет.
  • Timer, ms: XXXX - частота запроса статуса устройства в миллисекундах (как часто обновлять в проекте информацию о состоянии устройства). Чем реже обновление - тем меньше нагрузка на систему


Графические элементы для установки значения (статуса):


Когда команда и канал обратной связи настроены, их необходимо связать с графическими элементами. Могут использоваться:

  • Level (уровень) - для регулирования значения яркости в заданном диапазоне перемещением ползунка Уровня. Может использоваться для управления устройством или группой
  • Button (кнопка) - для отправки конкретного значения. Кнопка хранит и отправляет выбранное значение на адрес управляемого устройства. Может использоваться для управления устройством или группой
  • Trigger Button (кнопка триггер) - для переключения яркости между двумя заданными значениями, например 100% и 0% яркости или 0/1 для реле. Уставки задаются в процессе настройки графического элемента. Какое значение будет отправлено при очередном нажатии, триггер определяет в зависимости от текущего значения, полученного через канал обратной связи, поэтому используется элемент для управления отдельными устройствами
  • Up/Down Button (кнопка Прирост/Убывание) - приращивает или уменьшает текущее значение яркости диммера относительно ее текущего значения, полученного через канал обратной связи, поэтому используется элемент для управления отдельными устройствами


↑ К оглавлению

Установка значения с кнопки


Создайте кнопку (Button) c 1 или 2 состояниями. С помощью кнопки можно отправить в систему любое значение, в зависимости от типа устройства - реле, диммеры, определяется возможный диапазон значений (0-100, 0-1).

Перетащите команду из дерева устройств на кнопку, в диалоге привязки выберите тег Send Number - отправить значение:


Helvar Direct-Level-Device Button.png


Выбираем событие интерфейса и значение, которое нужно отправить:

  • Press - команда отправится при нажатии на кнопку
  • Release - команда отправится при отпускании кнопки


Important.png Значение, отправляемое с кнопки, должно лежать в допустимом для него диапазоне. В системе Helvar, диапазон для любого устройства составляет 0 ~ 100, но если диммер обрабатывает все значения, то реле реагирует просто на нулевое и НЕ-нулевое значение. При этом, для реле существует понятие предела срабатывания, и если отправить значение меньше этого предела, то реле не сработает! Эти настройки формируются при конфигурировании Helvar.


Способы реакции на события:


Кнопка может работать без канала обратной связи (при управлении группой или когда не нужен статус устройства в проекте) - такая кнопка при нажатии изменит свое состояние на второе (активное), при отжатии - вернется в исходное состояние. Для этого в настройках кнопки (Object Properties: General) указываем Feedback: Momentary - реагировать на нажатие пользователя.


Кнопка может работать с каналом обратной связи, тогда она будет менять состояние на активное, если канал обратной связи присылает любое ненулевое значение. В этом случае, в настройках кнопки (Object Properties: General) указываем Feedback: Channel - реагировать на статус устройства. Канал обратной связи привязываем к кнопке с тегом "In Value" - влиять на состояние элемента.


Привязанная команда и канал обратной связи будут отображаться во вкладке Programming окна Object Properties. При необходимости, команду можно перенести с события Press на Release перетаскиванием за текстовое поле.


↑ К оглавлению

Установка значения с уровня, триггера, кнопок больше/меньше


Элементы Level (уровень), Trigger Button (кнопка триггер), Up/Down Button (кнопка Прирост/Убывание) - графические элементы, которые используются для переключения статуса устройства между несколькими значениями. Настраиваются они по-разному, но на этапе связки с командами Helvar функционируют одинаково, поэтому объединены в общий раздел.


Уровень


Создадим графический элемент в рабочей зоне редактора, в его настройках (Object Properties: General) выберем Type: Level и укажем параметры элемента:

Helvar Direct-Level-Device Level.png

В настройках Уровня указываем:

  • Feedback - способ реакции на события:
    Channel для уровня, который будет следить за реальным статусом переменной,
    Momentary - для уровня, который НЕ будет отображать реальный статус управляемого устройства
  • Min: 0 - нижнее значение шкалы уровня
  • Max: 100 - верхнее значение шкалы уровня

Диапазон Min...Max определяет пределы регулирования статуса, уменьшая эти пределы, можно создавать искусственную отсечку (диапазон регулирования меньше предельно допустимого).

  • Direction: Vertical/Horizontal - положение в пространстве

Другие параметры настраиваем по мере необходимости.


Триггер


Создадим графический элемент в рабочей зоне редактора, в его настройках (Object Properties: General) выберем Type: Trigger Button и укажем параметры элемента:

Helvar Direct-Level-Device Trigger.png

В настройках Trigger Button (кнопки триггера) указываем:

  • Feedback - способ реакции на события. Channel - элемент должен обрабатывать и отображать полученные от оборудования данные.


  • Trigger Value 1 и Trigger Value 2 - значения, между которыми переключается триггер при каждом последующем нажатии. Каждый раз элемент выбирает для отправки значение, противоположное текущему, для определения текущего значения используется канал обратной связи



Прирост/убывание


Создадим графический элемент в рабочей зоне редактора, в его настройках (Object Properties: General) выберем Type: Up/Down Button и укажем параметры элемента:

Helvar Direct-Level-Device Up-Down.png

В настройках Up/Down Button (кнопка Прирост/Убывание) указываем:

  • Feedback - способ реакции на события. Channel - элемент должен обрабатывать и отображать полученные от оборудования данные.
  • Up/Down Value - шаг прироста при каждом последующем нажатии ("-10" / "10" - отрицательный или положительный прирост)
  • Min/Max Value - предел, дальше которого значение прирастать не должно. Для отрицательного прироста указывается нижний предел регулирования, для положительного - верхний предел (например, "0" для прироста "-10", и "100" для прироста "10").


Привязка команды к графическому элементу (на примере уровня)


К настроенному элементу (уровню, триггеру или кнопке прирост/убывание) привяжем команду - привязка во всех случаях осуществляется одинаково.

В диалоге привязки ОБЯЗАТЕЛЬНО нужно выбрать тег "Send Token", он всегда используется с Levels, Triggers, кнопками Up/Down и позволяет отправить устройству значение, соответствующее текущему положению ползунка Уровня:


Helvar Direct-Level-Device Level-Command.png


Для отображения текущего статуса управляемого устройства, привязываем к элементу канал обратной связи (Feedback) с тегом "In Value" - влиять на состояние элемента (в данном случае - на положение ползунка):


Helvar Direct-Level-Device Level-Feedback.png
К элементам триггер (Trigger Button) и прирост/убывание (Up/Down Button), канал обратной связи должен быть привязан ОБЯЗАТЕЛЬНО, иначе они не будут работать! Канал обратной связи для Уровня (Level) не обязателен, но нужен для стартовой инициализации и отображения его реального статуса.


↑ К оглавлению

"Recall Scene (Device/Group)" - вызов сцены

Чтобы вызывать сцену, запрограммированную для устройства или группы устройств в системе Helvar, используется команда "Recall Scene Device / Group". Команда вызова сцены может быть направлена только на нагрузки (диммеры, релейные блоки, балласты, ...):

Helvar Recall-Scene-Device-commands.png


Commands - команды устройствам и группам устройств

  • Command: Recall Scene Device - вызов сцены устройства
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • CL – Constant Light (1 = On, 0 = Off)
  • Block (1..8) – номер блока. Scene 1.2 – блок 1, сцена 2 (см. Helvar Designer).
  • Fade Time (мс) (0..6553.5s) - скорость перехода устройства из текущего статуса в заданный после получения команды установки статуса

Номер сцены, которую нужно вызвать, выбирается как параметр "Value", при натаскивании команды на графический элемент.


Графические элементы для вызова сцен:


Когда команда управления сценами настроена, ее необходимо привязать к графическому элементу проекта. Каждый элемент может вызывать свою сцену. Для этого используются:

  • Buttons (кнопки) - элементы, каждый из которых может хранить номер сцены, которую должен вызывать. При нажатии на кнопку, хранимое значение будет отправлено в систему Helvar.


↑ К оглавлению

Вызов сцены с помощью кнопки



Создайте кнопку (Button) с 1 или 2 состояниями. С помощью кнопки можно отправить в систему Helvar вызов сцены по номеру (1, 2, 3, ...).

Перетащите команду из дерева устройств на кнопку, в диалоге привязки выберите тег Send Number - отправить значение:

Helvar Recall-Scene-Device-C-F.png


Выбираем событие интерфейса и значение (Value - номер сцены), которое нужно отправить устройству или группе в системе Helvar:

  • Press - команда отправится при нажатии на кнопку
  • Release - команда отправится при отпускании кнопки


Привязанная команда будет отображаться во вкладке Programming окна Object Properties. При необходимости, команду можно перенести с события Press на Release, перетащив за текстовое поле.


↑ К оглавлению

"Direct Proportion (Device/Group)" - установка пропорции

При использовании функции "Direct Proportion", значение, которое будет установлено, определяется как разница между последним принятым значением (заданным сценой или установленным напрямую) и его максимальным выходным уровнем.


При установке положительного значения пропорции, оно высчитывается как разница между текущим значением и максимумом (100%) уровня.

К примеру, если последняя вызванная сцена установила значение 44% и Вы вызовете команду "Direct Proportion (Device)" пропорционального прироста уровня на 50%, будет установлено значение 72%, рассчитанное в соответствии с формулой:

44% + (100 - 44)*50% = 72%


При установке отрицательного значения пропорции, оно будет рассчитано как разница между текущим значением и 0%:

Например, если последнее значение устройства было 44%, и Вы отправили команду пропорционального уменьшения на 50%, то устройство примет значение 22% (т.е. значение, равное 50% от 44%):

(44%/100)*50% = 22%


Команда управления пропорциями может использоваться для плавного увеличения или уменьшения текущего значения уровня. Диапазон значений функции прямо пропорционального изменения значения уровня составляет от -100 до 100%.

Последующие команды установки пропорции также будут использовать значение уровня, заданное сценой или напрямую (не последнее установленное пропорцией).


↑ К оглавлению

Установка пропорции с помощью кнопки



Создайте кнопку (Button) с 1 или 2 состояниями. С помощью кнопки можно отправить устройству любое значение, в нашем случае, это будет пропорция (1, 5, 10, -10,...).

Перетащите команду из дерева устройств на кнопку, в диалоге привязки выберите тег Send Number - отправить значение:


Helvar Direct-Proportion-Device-Send.png

Commands - команды устройствам и группам устройств

  • Command: Direct Proportion (Device/Group) - установка пропорции
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • Fade Time (мс) - скорость перехода устройства из текущего статуса в заданный после получения команды

Выбираем событие интерфейса и значение (Value - значение пропорции, -100..100), которое нужно отправить устройству или группе в системе Helvar:

  • Press - команда отправится при нажатии на кнопку
  • Release - команда отправится при отпускании кнопки


Привязанная команда будет отображаться во вкладке Programming окна Object Properties. При необходимости, команду можно перенести с события Press на Release, перетащив за текстовое поле.


↑ К оглавлению

"Modify Proportion (Device/Group)" - модификация пропорции

Функция "Modify Proportion" использует ту же формулу, что функция установки пропорции, но пропорция рассчитывается от значения, которое было установлено предыдущей командой "Direct Proportion", а не от значения, заданного сценой или напрямую.


Например, возьмем результат применения команды "Direct Proportion", описанный в предыдущем разделе – 72%. При отправке команды «модифицировать пропорцию на 5%», уровень изменится с 72% до 75% в соответствии с формулой:

44% + (100 - 44)*(50% + 5%) = 74,8% = 75% (см. исходный расчет в предыдущем пункте)

При отправке отрицательного значения, в соответствии с формулой, происходит вычитание указанного значения из установленного прямой пропорцией. Команда «модифицировать пропорцию на -5%» изменит значение переменной с 72% до 69% в соответствии с формулой:

44% + (100 - 44)*(50% - 5%) = 69,2% = 69% (см. исходный расчет в предыдущем пункте)


Может использоваться для корректировки значения в стороны от величины, ранее заданной через команду "Direct Proportion".

Диапазон значений функции модификации пропорции составляет от -100 до 100%.

↑ К оглавлению

Модификация пропорции с помощью кнопки



Создайте кнопку (Button) с 1 или 2 состояниями. С помощью кнопки можно отправить устройству любое значение, в нашем случае, это будет величина модификации в процентах от максимума (1, 5, 10, -10,...).

Перетащите команду из дерева устройств на кнопку, в диалоге привязки выберите тег Send Number - отправить значение:


Helvar Modify-Proportion-Device-Send.png

Commands - команды устройствам и группам устройств

  • Command: Modify Proportion (Device/Group - модификация пропорции
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • Fade Time (мс) - скорость перехода устройства из текущего статуса в заданный после получения команды


Выбираем событие интерфейса и значение (Value - значение модификации, -100..100), которое нужно отправить устройству или группе в системе Helvar:

  • Press - команда отправится при нажатии на кнопку
  • Release - команда отправится при отпускании кнопки


Привязанная команда будет отображаться во вкладке Programming окна Object Properties. При необходимости, команду можно перенести с события Press на Release, перетащив за текстовое поле.


Запросы и аварийные проверки

Запросы статуса устройств в системе Helvar формируются во вкладке Feedbacks дерева устройств проекта.

Для периодического опроса состояния необходимо создать канал обратной связи, срабатывающий по таймеру с определенным интервалом.

При работе по протоколу, поддерживающему авто-уведомление об изменении статуса устройств в системе, создается канал обратной связи без таймера.


Запрос: Описание:

General Query Commands - общие запросы:
Query Clusters все идентификаторы элементов (Cluster Member), которые есть в кластере
Query Routers все идентификаторы в указанном кластере
LSIB - Last Scene In Block последняя запущенная сцена указанного блока
Query Device Type тип опрашиваемого устройства. 1 - DALI, 2 - Digidim, 4 - SDIM, 8 - DMX
Query Description (Device/Group) описание устройства/группы

Device State Query Commands - состояние устройства
Query Device State флаги (параметры) устройства - список
Query Device Is Disabled отключение устройства
Query Lamp Failure повреждение лампы
Query Device Is Missing отсутствие устройства
Query Device Is Faulty неисправность устройства
Query Emergency Battery Failure повреждение аварийной батареи

Measurement / Input / Level Query Commands - запросы изменений:
Query Measurement изменение аналогового параметра, например, света (Analogue Input Unit)
Query Inputs состояние цифрового входа
Query Load Level статус устройства

Power Consumption Query Commands - потребление мощности:
Query Power Consumption энергопотребление устройства
Query Group Power Consumption энергопотребление всех устройств в группе

Emergency Test Query Commands - аварийные проверки:
Query Emergency Function Test Time время аварийной проверки
Query Emergency Function Test State статус аварийной проверки. Pass - 0, Lamp Failure - 1, Battery Failure - 2, Faulty - 4, Failure - 8, Test Pending - 16, Unknown - 32
Query Emergency Duration Test Time продолжительность аварийной проверки
Query Emergency Duration Test State продолжительность аварийного состояния
Query Emergency Battery Charge оставшийся заряд аварийной батареи
Query Emergency Battery Time общее время работы аварийной батареи
Query Emergency Total Lamp Time общее время работы лампы от любого источника питания

System Query Commands - системные проверки:
Query Time, Longitude, Latitude, Time Zone, Daylight Saving Time, Software Version, HelvarNet Version, системные параметры



Аварийный тестовые команды (Emergency Test Control Commands):

команды предназначены для отправки только на DALI интерфейсы. От не-аварийных устройств системы ответа не последует:

Команда: Описание:
Emergency Function Test (Device/Group) запрос аварийных функций устройства
Emergency Duration Test (Device/Group) запрос продолжительности аварийного состояния
Stop Emergency Tests (Device/Group) остановить все аварийные проверки


Примеры опроса по таймеру:


"Query Load Level" - запрос состояния устройства

Query Load Level - запрос, создаваемый в дереве устройств проекта как канал обратной связи. С определенной периодичностью запрашивает и отдает в интерфейс статус управляемого устройства (используется только для отдельных устройств). Например, может отдать состояние реле или значение яркости диммера.


Helvar Query-Load-Lvl.png


Feedbacks - каналы обратной связи для запроса и отображения статуса устройств

  • Command: Query Load Level - запрос статуса устройства
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • Use Timer: Yes - запрос статуса устройства по таймеру (HelvarNet не отдает статус без запроса). Если таймер выключен, статус устройства получен не будет.
  • Timer, ms: XXXX - частота запроса статуса устройства в миллисекундах (как часто обновлять в проекте информацию о состоянии устройства). Чем реже обновление - тем меньше нагрузка на систему


Для отображения текущего статуса управляемого устройства, привязываем к элементу канал обратной связи (Feedback) с тегом "In Value" - влиять на состояние элемента (в данном случае - на положение ползунка).


↑ К оглавлению

"Query Device State" - запрос параметров устройства (флагов)

Каждое устройство, входящее в состав системы управления освещением Helvar по специальному запросу может выдавать информацию о ряде своих параметров (флагов). Эта функция может быть использована при мониторинге состояния системы освещения.


Для отображения флагов устройства, создаем канал обратной связи, в настройках которого указывается адрес устройства и частота запроса флага. Канал привязываем к графическому элементу - кнопке (Button), который будет отображать статус флага (0 - не активен, 1 - активен):


Helvar Query-Device-State.png


Feedbacks - каналы обратной связи для отображения статуса устройств

  • Command: Query Device State - запрос и отображение параметров устройства (флагов)
  • Command Property - флаг устройства, который нужно отобразить
  • Cluster (1..253), Router (1..254), Subnet (1..4), Device (1..255) - адрес устройства (@ address)
    или Group (1..16383) – адрес группы устройств в системе Helvar
  • Use Timer: Yes - запрос статуса устройства по таймеру (HelvarNet не отдает статус без запроса). Если таймер выключен, статус устройства получен не будет.
  • Timer, ms: XXXX - частота запроса статуса устройства в миллисекундах (как часто обновлять в проекте информацию о состоянии устройства). Чем реже обновление - тем меньше нагрузка на систему


Список флагов для "Query Device State":

Command Property Description
Disabled Device or subdevice has been disabled, usually an IR subdevice or a DMX channel
Lamp Failure Unspecified lamp problem
Missing The device previously existed but is not currently present
Faulty Ran out of addresses (DALI subnet) / unknown Digidim control device / DALI load that keeps responding with multi-replies
Refreshing DALI subnet, DALI load or Digidim control device is being discovered
Resting Load is intentionally off whilst the control gear is being powered by the emergency supply
Reserved
In Emergency No mains power is being supplied
In Prolong Mains has been restored but device is still using the emergency supply
FT In Progress The Functional Test is in progress (brief test where the control gear is being powered by the emergency supply)
DT In Progress The Duration Test is in progress. This test involves operating the control gear using the battery until the battery is completely discharged. The duration that the control gear was operational for is recorded, and then the battery recharges itself from the mains supply
DT Pending The Duration Test has been requested but has not yet commenced. The test can be delayed if the battery is not fully charged
FT Pending The Functional Test has been requested but has not yet commenced. The test can be delayed if there is not enough charge in the battery
Battery Fail Battery has failed
In Hi Bit Prevents an emergency fitting from going into emergency mode
FT Requested Emergency Function Test has been requested
DT Requested Emergency Duration Test has been requested
Unknown Initial state of an emergency fitting
Over Temperature Load is over temperature/heating
Over Current Too much current is being drawn by the load
Comms Error Communications error
Severe Error Indicates that a load is either over temperature or drawing too much current, or both
Bad Reply Indicates that a reply to a query was malformed
Device Mismatch The actual load type does not match the expected type