Примеры управления Clipsal: Lighting

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

После импорта проекта в GUI Editor для каждого группового адреса будет создана отдельная команда. По умолчанию, для приложения (Applications) Lighting она будет выглядеть следующим образом:


Clipsal command lighting.png
Clipsal feedback lighting.png
Name имя команды (произвольно)
Unit Address номер модуля, которому адресована команда
Network ID номер сети в проекте из C-Bus Toolkit (только для Clipsal Gate)
Application приложение из C-Bus Toolkit
Group групповой адрес из C-Bus Toolkit
Command команда, отправляемая на групповой адрес:
  • On - включить
  • Off - выключить
  • Ramp - наращивание группового адреса до определенного значения
  • Terminate Ramp - прерывает команду Ramp
ParamArg
настройка Ramp Rate
  • instantaneously
  • over 4 seconds
  • over 8 seconds
  • over 12 seconds
  • over 20 seconds
  • over 30 seconds
  • over 40 seconds
  • over 1 minute
  • over 1.5 minutes
  • over 2 minutes
  • over 3 minutes
  • over 5 minutes
  • over 7 minutes
  • over 10 minutes
  • over 15 minutes
  • over 17 minutes


Для управления групповым адресом необходимо на каждое действие управления создать собственную команду (например, для включения (Command_On), для выключения (Command_Off) и для диммирования (Command Ramp)) = 3 команды). Удобнее всего это делать при помощи клонирования команды в Project Device Panel:

Clipsal command lighting clone.png
                            В примерах используется драйвер Clipsal. 
                Для использования драйвера Clipsal Gate воспользуйтесь инструкцией.

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

Управление групповыми адресами

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

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

Варианты использования кнопки (Button) для управления:

  1. Включить;
  2. Выключить;
  3. Установить конкретное значение - диапазон для любого устройства составляет 0 ~ 255.


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

Clipsal lighting buttons properties.png


Настройка графического элемента производится во вкладке Object Properties: General.
Выберите
Type: Button и настройте элемент:

Feedback - способ реакции на события:
Momentary - для кнопки, которая переключится в активное состояние при нажатии, а затем вренется в исходное
Channel - для кнопки, которая должна получать обратную связь от переменной и переходить в активное состояние при получении от нее единицы

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

После этого выполните следующие действия, в зависимости от вида команды:


Включить групповой адрес (Command - On)


Clipsal lighting Command on.png


1. Настроить команду на включение, для этого необходимо выбрать в свойствах команды Command: On.
2. Привязать команду к графическому элементу нужно, выбрав тег "Send Number" в диалоге привязки.
3. Выбрать событие и значение для отправки можно в зависимости от требуемого поведения кнопки.

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

В редактируемое поле НИЧЕГО не писать (поле должно оставаться пустым).


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

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


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


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


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


Выключить групповой адрес (Command - Off)


Clipsal lighting Command off.png

1. Настроить команду на включение, для этого необходимо выбрать в свойствах команды Command: Off.
2. Привязать команду к графическому элементу нужно, выбрав тег "Send Number" в диалоге привязки.
3. Выбрать событие и значение для отправки можно в зависимости от требуемого поведения кнопки.

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

В поле НИЧЕГО не писать (поле должно оставаться пустым).

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


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


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


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


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

Установить конкретное значение (Command - Ramp)


Clipsal lighting Command value.png

1. Настроить команду на включение, для этого необходимо выбрать в свойствах команды Command: Ramp.
2. Привязать команду к графическому элементу нужно, выбрав тег "Send Number" в диалоге привязки.

Значение, отправляемое с кнопки, должно лежать в допустимом диапазоне. В Clipsal диапазон: 0 ~ 255. Соответственно, для включения 50% необходимо ввести значение: 128.

3. Выбрать событие и значение для отправки можно в зависимости от требуемого поведения кнопки.

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

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


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


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


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


4. Нажать ОК.

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

Триггерное переключение (Trigger)

Trigger Button (кнопка триггер) используется для переключения переменной между двумя выбранными значениями.


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

Clipsal lighting trigger.png

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

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


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


Настройте триггер и привяжите к нему регистр, руководствуясь следующей последовательностью:

Clipsal lighting Command trigger.png

1. Настроить команду для триггерной кнопки, для этого необходимо выбрать в свойствах команды Command: Ramp.
2. Привязать команду к графическому элементу.
3. Выбрать событие и значение для отправки можно в зависимости от требуемого поведения кнопки:

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

4. Активировать галочку "Add a Feedback Channel" нужно для того, чтобы к элементу автоматически был привязан канал обратной связи с тем же именем, что у команды. Без канала обратной связи триггерная кнопка работать НЕ БУДЕТ!

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

Диммирование уровнем (Level)

Уровень (Level) - Графический элемент, предназначенный для установки и отображения значений в заданном диапазоне. Уровень имеет 2 состояния – заполненное и не заполненное, которые замещают друг друга в зависимости от принятого уровнем значения.


Создайте и настройте графический элемент - уровень для управления переменной контроллера. Затем привяжите к нему команду, руководствуясь следующей последовательностью:


Clipsal lighting Command Level.png


1. Настроить команду для диммирования, для этого необходимо выбрать в свойствах команды Command: Ramp.

2. Настройка графического элемента производится во вкладке Object Properties: General.
Выберите Type: Level и настройте элемент:

Feedback - способ реакции на события:
Channel для уровня, который будет следить за реальным статусом переменной,
Momentary - для уровня, который НЕ будет отображать реальный статус переменной
Min: 0 - нижнее значение шкалы уровня
Max: 255 - верхнее значение шкалы уровня
Диапазон Min...Max определяет пределы регулирования, уменьшая эти пределы, можно создавать искусственную отсечку (диапазон регулирования меньше предельно допустимого).
Direction: Vertical/Horizontal - положение уровня в пространстве

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

3. Привязать команду к графическому элементу при помощи drag-n-drop.

4. Выбрать событие отправки команды можно произвольно, но лучше использовать сочетание событий Press и Release (первая уставка отправится при касании Уровня, вторая - при его отпускании). Событие Move будет отправлять значения по мере движения ползунка, но оно нагружает контроллер (используйте с осторожностью).

5. Активировать галочку "Add a Feedback Channel" нужно для того, чтобы к элементу автоматически был привязан канал обратной связи с тем же именем и настройками, что у команды. Если канал обратной связи Вы хотите привязать позже, то используйте при этом тег "In Value", чтобы канал влиял на текущее положение ползунка уровня.

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

Прирост/убывание (Up/Down Button)

Помимо уровня, для точного регулирования (например, +\- 1°C), удобно использовать специальные кнопки больше/меньше (Up/Down Button). Настройте их в проекте iRidium:


Clipsal lighting Command up down.png

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

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


Привязка команды и канала к элементу производится также, как к Уровню. В отсутствие канала обратной связи, элемент не будет работать корректно.

Clipsal lighting Command up down2.png

1. Настроить команду для прироста/убывания, для этого необходимо выбрать в свойствах команды Command: Ramp.

2. Привязать команду к графическому элементу при помощи drag-n-drop.

3. Выбрать событие отправки команды - Press (нажатие на элемент) или Release (отпускание элемента).

4. Активировать галочку "Add a Feedback Channel" нужно для того, чтобы к элементу автоматически был привязан канал обратной связи с тем же именем, что у команды. Это ускоряет работу с деревом устройств. Если канал обратной связи Вы хотите привязать позже, то используйте при этом тег "In Value", чтобы канал влиял на текущее значение элемента.

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

Отображение статусов групповых адресов

Текущее состояние переменной контроллера можно вывести на выбранный элемент графического интерфейса. Удобно использовать кнопки, уровни, дисплеи (кнопки с 1 состоянием).


Clipsal lighting feedback.png

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

  • In Value - значение, полученное из канала обратной связи, будет менять состояние графического элемента, переключая его из неактивного в активное, или перемещая ползунок слайдера. Также используется при работе с «шаблонами обработки и вывода данных» (см. ниже)
  • In Text - значение, полученное из канала обратной связи, заменит любой текст, который был по умолчанию вписан в текстовое поле графического элемента
  • More... - здесь можно выбрать любой параметр графического элемента, на который должно влиять значение из канала, например, видимость, активность или координаты по осям X и Y


Шаблоны обработки и вывода данных» для каналов обратной связи:

Шаблон

Функция

Шаблон

Функция

$P

процента от максимального значения Уровня

$V

целая часть полученного значения

$L

минимальное значение Уровня

$H

максимальное значение Уровня

$S

номер выбранного состояния

$A

значение за вычетом минимального значения Уровня

$R

размах Уровня (максимальное минус минимальное)

$F1-5

значение с плавающей запятой,
1-5 - число знаков после запятой

$X

текущее значение в формате HEX

$$

символ "доллара"

команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)


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