Примеры управления Clipsal: Lighting
Содержание
После импорта проекта в GUI Editor для каждого группового адреса будет создана отдельная команда. По умолчанию, для приложения (Applications) Lighting она будет выглядеть следующим образом:
Для управления групповым адресом необходимо на каждое действие управления создать собственную команду (например, для включения (Command_On), для выключения (Command_Off) и для диммирования (Command Ramp)) = 3 команды). Удобнее всего это делать при помощи клонирования команды в Project Device Panel:
В примерах используется драйвер Clipsal. Для использования драйвера Clipsal Gate воспользуйтесь инструкцией.
Управление групповыми адресами
Установка значения с кнопки (Button)
Кнопка (Button) - графический элемент, который может состоять из 1 или 2х состояний и использоваться как для отправки значений управляемому оборудованию, так и для отображения принятых от оборудования данных.
Варианты использования кнопки (Button) для управления:
- Включить;
- Выключить;
- Установить конкретное значение - диапазон для любого устройства составляет 0 ~ 255.
Первым делом создайте графический элемент - кнопку для отправки команды групповому адресу. Свойства кнопки могут меняться, в зависимости от ваших потребностей:
Настройка графического элемента производится во вкладке Object Properties: General.
Выберите Type: Button и настройте элемент:
- Feedback - способ реакции на события:
- Momentary - для кнопки, которая переключится в активное состояние при нажатии, а затем вренется в исходное
- Channel - для кнопки, которая должна получать обратную связь от переменной и переходить в активное состояние при получении от нее единицы
Другие параметры настраиваем по мере необходимости.
После этого выполните следующие действия, в зависимости от вида команды:
Включить групповой адрес (Command - On)
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)
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)
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 и укажем параметры элемента:
В настройках Trigger Button (кнопки триггера) указываем:
- Feedback - способ реакции на события. Channel - элемент должен обрабатывать и отображать полученные от оборудования данные.
- Trigger Value 1 и Trigger Value 2 - значения, между которыми переключается триггер при каждом последующем нажатии. Каждый раз элемент выбирает для отправки значение, противоположное текущему, для определения текущего значения используется канал обратной связи. В Clipsal это 0-255.
Настройте триггер и привяжите к нему регистр, руководствуясь следующей последовательностью:
1. Настроить команду для триггерной кнопки, для этого необходимо выбрать в свойствах команды Command: Ramp.
2. Привязать команду к графическому элементу.
3. Выбрать событие и значение для отправки можно в зависимости от требуемого поведения кнопки:
- Press - команда отправится при нажатии на кнопку
- Release - команда отправится при отпускании кнопки
4. Активировать галочку "Add a Feedback Channel" нужно для того, чтобы к элементу автоматически был привязан канал обратной связи с тем же именем, что у команды. Без канала обратной связи триггерная кнопка работать НЕ БУДЕТ!
Диммирование уровнем (Level)
Уровень (Level) - Графический элемент, предназначенный для установки и отображения значений в заданном диапазоне. Уровень имеет 2 состояния – заполненное и не заполненное, которые замещают друг друга в зависимости от принятого уровнем значения.
Создайте и настройте графический элемент - уровень для управления переменной контроллера. Затем привяжите к нему команду, руководствуясь следующей последовательностью:
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:
В настройках Up/Down Button (кнопка Прирост/Убывание) указываем:
- Feedback - способ реакции на события.
- Momentary - кнопка должна реагировать на нажатие пользователя (рекомендуется)
- Up/Down Value - шаг прироста при каждом последующем нажатии ("-10" / "10" - отрицательный или положительный прирост)
- Min/Max Value - предел, дальше которого значение прирастать не должно. Для отрицательного прироста указывается нижний предел регулирования, для положительного - верхний предел (например, "0" для прироста "-10", и "255" для прироста "10").
Привязка команды и канала к элементу производится также, как к Уровню. В отсутствие канала обратной связи, элемент не будет работать корректно.
1. Настроить команду для прироста/убывания, для этого необходимо выбрать в свойствах команды Command: Ramp.
2. Привязать команду к графическому элементу при помощи drag-n-drop.
3. Выбрать событие отправки команды - Press (нажатие на элемент) или Release (отпускание элемента).
4. Активировать галочку "Add a Feedback Channel" нужно для того, чтобы к элементу автоматически был привязан канал обратной связи с тем же именем, что у команды. Это ускоряет работу с деревом устройств. Если канал обратной связи Вы хотите привязать позже, то используйте при этом тег "In Value", чтобы канал влиял на текущее значение элемента.
Отображение статусов групповых адресов
Текущее состояние переменной контроллера можно вывести на выбранный элемент графического интерфейса. Удобно использовать кнопки, уровни, дисплеи (кнопки с 1 состоянием).
Канал обратной связи может быть привязан к графическому элементу с тегом "In Text" или "In Value" в зависимости от того, на какой параметр графического элемента будет воздействовать значение из канала:
- In Value - значение, полученное из канала обратной связи, будет менять состояние графического элемента, переключая его из неактивного в активное, или перемещая ползунок слайдера. Также используется при работе с «шаблонами обработки и вывода данных» (см. ниже)
- In Text - значение, полученное из канала обратной связи, заменит любой текст, который был по умолчанию вписан в текстовое поле графического элемента
- More... - здесь можно выбрать любой параметр графического элемента, на который должно влиять значение из канала, например, видимость, активность или координаты по осям X и Y
Шаблоны обработки и вывода данных» для каналов обратной связи:
Шаблон |
Функция |
Шаблон |
Функция |
$P |
процента от максимального значения Уровня | $V |
целая часть полученного значения |
$L |
минимальное значение Уровня | $H |
максимальное значение Уровня |
$S |
номер выбранного состояния | $A |
значение за вычетом минимального значения Уровня |
$R |
размах Уровня (максимальное минус минимальное) | $F1-5 |
значение с плавающей запятой, 1-5 - число знаков после запятой |
$X |
текущее значение в формате HEX | $$ |
символ "доллара" |
команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)