Материал из for iRidium developers
Перейти к: навигация, поиск
Эта страница является переводом страницы IRidium Server Panel Project. Перевод выполнен на 100%.

Other languages:

документация обновлена 10.5.2016

скачать:

  • *скоро*

iRidium Server + визуализация - это центральный контроллер (или программа на ПК), подключенный к оборудованию автоматизации. Server передает данные на панели управления и дает возможность управления оборудованием. При подключении к серверу, есть возможность работы с базами данных и построения графиков. Визуализация для запуска на панелях управления создается в iRidium Studio.



Описание

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

Сервер может работать с несколькими панелями управления iRidium, на которые загружены разные, или один и тот же проект. Визуализация - графический интерфейс для управления оборудованием автоматизации, запускается только в приложении i3 pro на панели управления. Настройки сервера доступны через веб-интерфейс.



Подключение

Настройте проект для сервера - сформируйте список управляемых устройств и переменных. Проект сервера нужно импортировать в проект визуализации iRidium и настроить графические элементы для управления переменными сервера.

Панели iRidium подключаются к iRidium Server и передают команды. Сервер выполняет команды, меняя состояние переменных оборудования автоматизации, к которому подключен:

ServerSceem.png


Импорт переменных из Server Project

Есть несколько способов добавить драйвер iRidium Server в проект панели управления.


Быстрое создание проекта

Правой кнопкой мыши нажмите на проект Сервера и выберите пункт "Create Panel Project"

FastCreateUIbasedOnServer.png

Будет создан панельный проект с пустой страницей и драйвером iRidium Server, в который перейдут все теги сервера. С ними можно будет работать как с командами и каналами обратной связи - привязывать к элементам для управления и отображения, обрабатывать с помощью iRidium Script.

FastSincWithSource.png
При внесении изменений в серверный проект, вы можете быстро синхронизировать его с панельным проектом. Выберите драйвер iRidium Server и нажмите Sinc with Source.


Файл серверного проекта, с которым будет синхронизироваться драйвер, можно заменить в строке Source Project


Добавление iRidium Server в готовый проект визуализации

Если вы уже создали проект визуализации, и хотите добавить в него связь с Сервером:

SincWithServerSourceUsingImport.png
  1. выберите "iRidium Server Project" в списке проектов для импорта
  2. укажите путь к проекту *.sirpz, с которым нужно синхронизировать проект визуализации
  3. вы получите драйвер iRidium Server с актуальным списком команд и каналов обратной связи.
FromDBSincWithSource.png
  1. добавьте драйвер iRidium Server из базы данных
  2. укажите путь к проекту *.sirpz, с которым нужно синхронизировать проект визуализации
  3. вы получите драйвер iRidium Server с актуальным списком команд и каналов обратной связи.


Commands & Feedbacks

Как результат импорта мы имеем два уровня настроек:

  • iRidium Server - драйвер, объединяет в себе список переменных сервера. Здесь настроим IP адрес и другие параметры подключения к серверу
  • Commands и Feedbacks - команды и каналы обратной связи, которые позволяют управлять переменными. Команды - переменные, доступные на запись, каналы - на чтение.

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

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


Чтобы связать команду или канал с графическим элементом, используйте метод drag&drop - перетягивание.


Не создавайте в проекте для панели управления (*.irpz), в драйвере iRidium Server, новых команд и каналов обратной связи. При синхронизации они не будут созданы в серверном проекте и не будут работать.

Синхронизировать с панелью управления можно только команды и каналы, созданные в серверном поекте.


Настройка подключения к серверу

ServerDriverSettings.png

Настройки подключения к iRidium Server

  • Host - IP адрес сервера или доменное имя. Можно использовать Local host 127.0.0.1, если сервер и визуализация работают на одном устройстве
  • Port - TCP порт подключения к серверу, по умолчанию: 30464
  • System ID - зарезервировано
  • Login - зарезервировано
  • Password - зарезервировано


Смена настроек подключения

Возможность смены параметров подключения нужна, если вы отключаетесь от Wi-Fi сети объекта автоматизации и начинаете использовать 3G или другую Wi-Fi сеть. Чтобы управление продолжило работать, нужно переключиться с локального на публичный IP адрес интернет-маршрутизатора.

Переключение не происходит автоматически, вам нужно будет нажать на клавишу выбора режима соединения. Для возможности удаленного доступа необходимо сделать порты управления системой автоматизации публичными. Для этого настраивают службу Port Forwarding на интернет-маршрутизаторе. Защищенное соединение может обеспечить VPN.


1 Скачайте шаблон (*.js) (правая кнопка: "Сохранить объект как..."), добавьте шаблон в редактор скриптов Icon Scripts.png клавишей (+) Add Script from file


2 Настройте параметры скрипта, как показано в примере:

function Internal_1() {
IR.GetDevice("iRidium Server").SetParameters({Host: "192.168.0.100", Port: 30464, LogLevel: 0, BackgroundMode: 0});
}
function External_1() {
IR.GetDevice("iRidium Server").SetParameters({Host: "215.110.10.10", Port: 30464, LogLevel: 0, BackgroundMode: 0});
}

Скопируйте имя драйвера из Projсet Device Panel, список параметров нужно скопировать из примера в точности.


3 Выберите кнопку, которая будет отвечать за переключение Internal и External параметров. Откройте Macros Editor для события Press (Object Properties > Programming), выберите команду Script Call и добавьте ее двойным кликом. Выберите имя функции, которую вызовет кнопка:

Script call internal-external.png

Теперь каждое нажатие на кнопку будет применять соответствующий набор настроек подключения.


Управление переменными



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

Чтобы отправить команду в шину KNX, вам нужно создать графический интерфейс для панели управления. Интерфейс состоит из страниц, попапов и графических элементов, см. основы создания графических интерфейсов.

Для упрощения работы используйте готовые интерфейсы.


Для управления оборудованием настроим команды (Commands) и каналы обратной связи (Feedbacks). Чтобы отправить команду, нужно перетянуть ее на графический элемент и указать значение (Value), которое нужно отправить. Чтобы отобразить обратную связь, нужно перетянуть канал на графический элемент, и указать, куда вывести значение (Value)

SendValue.png

Далее представлены типы групповых адресов, которые поддерживает iRidium и настройки графических элементов, которые подойдут для управления этими типами адресов.


Включить/выключить, записать значение

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


1 Создайте переменную, куда нужно записать число или строку. Настройте ее, как показано в инструкции

2 Создайте кнопку, настройте ее следующим образом (cм. все настройки):

UImakeAbutton.png
Type Button
Feedback Реакция кнопки на нажатия пользователя и на получение данных от оборудования
  • Momentary - кнопка отправляет значение, но не отображает обратную связь
  • Channel - отправляет значение и отображает обратную связь
  • None - визуально не реагирует на нажатие или получение обратной связи
  • Invert Channel - отправляет значение и отображают обратную связь инверсно (false - включена, true - выключена)

3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:

UIdragCommand.png
Action Send Number - записать в переменную число. Можно переключить на Send String для отпарвки ASCII строки
Event for Action Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
  • Press - отправить по нажатию на кнопку
  • Release - отправить при отпускании кнопки
  • Hold - отправлять в цикле по удержанию
  • Move - не работает с кнопкой (Button)


Одновременно можно использовать несколько событий. Например, отправть [ 100 ] по нажатию и [ 0 ] по отпусканию.

Value Значение для записи в переменную. Кнопка отправляет всегда одно и то же, записанное в Value значение
Add a feedback channel (Create a feedback channel) Поставьте эту галочку, если нужно, чтобы кнопка не только записала значение в переменную, но и изменила состояние при получении данных из этой же переменной. Полученное значение будет влиять на состояние кнопки (вкл/выкл) и может быть отображено в ее текстовом поле.

4 Теперь переменная связана с кнопкой. Посмотреть все связи кнопки можно в OBJECT PROPERTIES > Programming



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

Триггерное переключение с помощью элемента "Trigger Button" позволяет отправлять попеременно 2 произвольных значения, указанных в Trigger Value 1 и Trigger Value 2. При наличии обратной связи, триггер автоматически принимает соответствующее состояние и при нажатии отправляет значение, противоположное текущему. Триггер нельзя настроить на работу с 3 и более значениями.


1 Создайте переменную, которую нужно переключать между 2 значениями. Настройте ее, как показано в инструкции

2 Создайте кнопку, настройте ее следующим образом (cм. все настройки элемента):

UImakeAtriggerButton.png
Type Trigger Button
Feedback Реакция на нажатия и получение данных от оборудования
  • Channel - переключает значение и отображает обратную связь (другие не используются)
Trigger Value 1 / Trigger Value 2 значения, которые нужно попеременно отправлять при нажатии на триггер, зависят от типа переменной

3 Перетащите переменную на триггер, в диалоге привязки переменной укажите:

UIdragCommandToTrigger.png
Action Send Token - отправить переменной значение Value, взятое из графического элемента (Trigger Value 1 или Value 2, в зависимости от текущего состояния триггера)
Event for Action Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
  • Press - отправить по нажатию
  • Release - отправить при отпускании



Одновременно можно использовать только одно событие для триггера

Add a feedback channel (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы триггер знал свое состояние и менял его получении данных из переменной и при нажатии.

4 Теперь переменная связана с триггером. Посмотреть все связи можно в OBJECT PROPERTIES > Programming



Регулирование уровнем

Нажатие на уровень или перемещение ползунка отправляет в управляемую переменную число, соответствующее текущему положению ползунка.

1 Создайте переменную, которую нужно регулировать. Настройте ее, как показано в инструкции

2 Создайте уровень, настройте его следующим образом (cм. все настройки):

UImakeAlevel.png
Type Level
Feedback Реакция уровня на нажатия пользователя и на получение данных от оборудования
  • Channel - отправляет значение и отображает обратную связь (ползунок перемещается при получении данных)
Min / Max Пределы регулирования уровня: определяют диапазон значений, в котором перемещается ползунок
Invert Range Меняет местами нижнюю и верхнюю часть уровня, т.е. регулирование от 0 до 100 будет происходить не снизу вверх (при вертикальном уровне), а сверху вниз.

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

UIdragCommandToLevel.png
Action Send Token - отправить переменной значение Value, взятое как текущее положения ползунка уровня в диапазоне Min...Max
Event for Action Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
  • Press - отправить Value по нажатию
  • Release - отправить Value при отпускании
  • Move - отправлять все промежуточные значения Value при перемещении ползунка.
    добавляйте команду Delay (100) перед командой на событии Move, чтобы меньше нагружать оборудование (с командой Delay, Move будет срабатывать не чаще, чем раз в 100 мс)



Можно использовать все три события одновременно.

Add a feedback channel (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы ползунок уровня перемещался в соответствии с актуальным состоянием переменной

4 Теперь переменная связана с уровнем. Посмотреть все связи можно в OBJECT PROPERTIES > Programming


Пошаговое приращение/убывание

Графический элемент из 2х состояний. При каждом нажатии на такую кнопку, рассчитывается значение, большее текущего на "Up/Down Value", но не превышающее "Max/Min Value". Рассчитанное значение отправляется переменной: таким образом реализуется пошаговое приращение переменной. Для работы с элементом нужна обратная связь от переменной в реальном времени.


1 Создайте переменную, которую нужно инкрементировать. Настройте ее, как показано в инструкции

2 Создайте уровень, настройте его следующим образом (cм. все настройки):

Editor window Object Properties General Up Down.png
Type Up/Down Button
Feedback Реакция уровня на нажатия пользователя и на получение данных от оборудования
  • Momentary - кнопка должна визуально нажиматься сразу же, она не отображает обратную связь визуально
Up/Down Value шаг инкрементирования (может быть больше либо меньше нуля)
Min/Max Value предел инкрементирования (минимальный предел для отрицательного шага, максимальный для положительного)
Hold Value шаг инкрементирования при срабатывании события Hold. Команду управления оборудованием можно одновременно привязать на Press и Hold, тогда значение будет прирастать при удержании кнопки
Hold Time время удержания кнопки, чтобы сработало событие Hold
Repeat Time частота повторения событий On Hold

3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:

Editor drag to UDB.png
Action Send Token - отправить переменной Value, рассчитанное как сумма текущего значения и величины инкремента
Event for Action Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано рассчитанное значение инкремента
  • Press - отправить по нажатию
  • Hold - при удержании кнопки инкрементировать значение с указанной периодичностью



Можно использовать два события одновременно.

Add a feedback channel (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы инкремент рассчитывался в соответствии с актуальным состоянием переменной

4 Теперь переменная связана с уровнем. Посмотреть все связи можно в OBJECT PROPERTIES > Programming


Отправка импульса

Некоторые системы автоматизации выполняют действие не по простому изменению значения, а по получению импульса - однократному изменению состояния переменной с возвратом в исходное значение.

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

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


1 Создайте переменную, которой нужно управлять. Настройте ее, как показано в инструкции

2 Создайте кнопку, настройте ее следующим образом (cм. все настройки):

UImakeAbutton.png
Type Button
Feedback Реакция кнопки на нажатия пользователя и на получение данных от оборудования
  • Momentary - кнопка отправляет значение, но не отображает обратную связь
  • Channel - отправляет значение и отображает обратную связь
  • None - визуально не реагирует на нажатие или получение обратной связи
  • Invert Channel - отправляет значение и отображают обратную связь инверсно (false - включена, true - выключена)

3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:

Puls1UIdragCommand.png
Event for Action Вар.1. Импульс регулируемой длины
  • Press - поставьте галочку и укажите значение, равное для переменной логической единице, чтобы импульс начался при касании кнопки
  • Release - поставьте галочку и укажите значение, равное логическому нулю, чтобы импульс завершился при отпускании кнопки


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

Add a feedback channel (Create a feedback channel) Поставьте эту галочку, если нужно, чтобы кнопка не только записала значение в переменную, но и изменила состояние при получении данных из этой же переменной. Полученное значение будет влиять на состояние кнопки (вкл/выкл) и может быть отображено в ее текстовом поле.
Puls2UIdragCommand.png
Event for Action Вар.2. Импульс фиксированной длины
  • Press - поставьте галочку и укажите значение, равное для переменной логической единице. Поставьте галочку Pulse и укажите желаемую длину импульса в миллисекундах. Импульс начнется, как только вы коснулись кнопки и закончится через указанное время отправкой нуля.
Add a feedback channel (Create a feedback channel) Поставьте эту галочку, если нужно, чтобы кнопка не только записала значение в переменную, но и изменила состояние при получении данных из этой же переменной. Полученное значение будет влиять на состояние кнопки (вкл/выкл) и может быть отображено в ее текстовом поле.

4 Теперь переменная связана с кнопкой. Посмотреть все связи кнопки можно в OBJECT PROPERTIES > Programming



График изменения переменной

Графический элемент Linear Trend (Линейный График) используется для построения графика изменения переменной во времени.

График можно строить в реальном времени, получая информацию о переменной прямо от оборудования автоматизации. Также можно использовать исторические данные совместно с текущими значениями переменной. Исторические данные могут храниться только на iRidium Server.


Чтобы сохранить историю изменения, настройте сохранение переменной в базу данных сервера. Настройка производится в серверном проекте. Когда переменная сохранена в базу, график ее изменения можно запросить из приложения i3 pro. График объединит исторические и актуальные данные в зависимости от настроек графического элемента Linear Trend.

Настройка отображения графика производится в проекте для панели управления.


1 Создайте переменную, которую нужно отображать на графике. Настройте сохранение переменной в базу данных в проекте iRidium Server.

StoreInDB.png

Формат сохранения данных (Signed 32-bit, Float 64-bit) зависит от размерности переменной. Для сохранения дробных значений всегда используйте Float 64-bit.

Сохранять переменную можно с выбранной периодичностью (Interval) или при изменении ее больше, чем на указанное значение (Deadband).


2 Создайте графический элемент, выберите Type: Linear Trend. Перетяните на элемент один или несколько каналов обратной связи, график изменения которых вы хотите отображать:

AddNewCurve.png


3 Перейдите к настройкам графика и опишите его вешний вид:

TrendItemSettings.png
LinearTrendSettings-General.png
TrendColor-General.png
  1. Trend - основные параметры графика: работа с базой данных, временной размах, основная кривая
    1. Range - временной размах графика (по оси X). При загрузке из базы данных, покажет информацию за указанное время
    2. Main Curve - выберите основную переменную на графике (будет выделена ярче остальных)
  2. Background, Data View, Border, Cursor - оформление цветовой схемы графика, см. пример


LinearTrendSettings-Curves.png
  1. Список каналов - переменные, отображенные на графике, и их индивидуальные настройки (Genral, Axis X, Axis Y)
  2. Настройки каналов - поведение, цвет и толщина каждой линии на графике
    1. Type - поведение кривой при перезагрузке сервера (в разработке)
    2. Color - цвет линии
    3. Depth - толщина линии
    4. Tag - полное имя тега, указывает на драйвер и переменную сервера, от которой приходят данные. Позволяет управлять переменной через JavaScript
  3. Axis X, Axis Y - индивидуальные настройки шкал графика: цвет, подпись и ширина деления


LinearTrendSettings-MainAxisX.png
  1. General - шкала времени (ось Х)
    1. Visible Axis X - отображать шкалу времени
    2. Position: Down - шкала времени сверху, Top - снизу
    3. Line - цвет шкалы времени
    4. Label, Text - подпись шкалы времени




Сценарий, последовательность

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

Чтобы привязать несколько команд к 1 графическому элементу, перетяните их, одну за другой, на этот элемент. Выберите подходящие события (Press, Release, Move) в диалоге привязки:

MacroCommands.png

Задержка между командами (мс) добавляется через редактор макросов. Выберите папку Other, команда Delay. Рекомендуется добавлять задержку для обеспечения надежной обработки команд оборудованием.

MacroAddDelay.png


Группа радио-кнопок

Радиокнопка (Radio Button) - элемент интерфейса, который позволяет выбрать одну из предварительно настроенных опций. В iRidium радиокнопки не выделены как отдельный тип элемента, вы можете настроить их, взяв за основу Trigger Button. Задача радикнопкок: отправлять переменным значения с разных кнопок, из которых можно выбрать только одну.

Настройки и поведение радиокнопки зависят от того, с какой переменной оборудования вы работаете. Приведем несколько ситуаций и примеров настройки.


вар. 1 Радиокнопки для управления одной переменной с возможностью получения обратной связи. Записывают значения в одну переменную; оборудование возвращает текущее состояние этой переменной.

  1. Настройте элементы Trigger Button (см. изображение) по числу радиокнопок. В полях Trigger Value 1 и 2 укажите одинаковые значения, соответствующие тем, что каждая кнопка должна отправлять управляемой переменной
  2. Перетяните команду управления переменной на все радиокнопки. Выберите событие Press или Release для отправки, обязательно поставьте галочку Add A Feedback Channel для отображения статуса переменной


RadioButtons-MainSettings.png
RadioButtons-DragCommand.png

настроенная кнопка перейдет в State 2 только когда переменная примет значение, указанное в Trigger Value 1 и 2


вар. 2 Радиокнопки для управления переменными с возможностью получения обратной связи. Записывают значения вкл\выкл в разные переменные; оборудование возвращает текущее состояние этих переменных. Переменные не синхронизированы оборудованием автоматизации для работы в режиме радиокнопок (нужно выключать неактивные режимы на стороне iRidium)

  1. Настройте элементы Type: Trigger Button, Feedback: Channel, укажите Trigger Value 1 = неактивное, Trigger Value 2 = активное состояние переменной (например 0/1, 0/100)
  2. Перетяните команды управления переменными на графические элементы. На примере первого элемента группы:
    1. Отправьте нули во все переменные, которые входят в группу радиокнопок, чтобы отключить текущий активный режим. Для этого в диалоге отправки команды выберите Action: Send Number
    2. Добавьте задержку Delay(50) мс через редактор макросов события Press, чтобы дать оборудованию время на отключение активного режима
    3. Перетяните на элемент команду управления переменной, которая соответствует радиокнопке. Оставьте Action: Send Token. Value на событии Press (или Release), обязательно поставьте галочку Add a Feedback Channel


RadioButtons-MainSettings-Septd.png
RadioButtons-DragCommand-Septd.png

Если режимы работы оборудования синхронизируются на стороне оборудования автоматизации (при включении одного из режимов остальные автоматически выключаются), вам не нужно отпрвлять нули в отключаемые переменные. Выполните только подпункт 2.3 настроек



Поле ввода

Элемент для ввода данных с клавиатуры. Введенные данные остаются на элементе, откуда их можно "забрать" - отправить оборудованию или обработать в скрипте.


1 Создайте элемент, настройте его следующим образом (cм. все настройки):

Editor window Object Properties Programming EditBoxSetup.png
Type Edit Box
Feedback Реакция на нажатие
  • Momentary - поле ввода подсвечивается при получении фокуса

2 Поле ввода можно связать с переменной напрямую или через скрипт

Editor window Object Properties Programming Edit Box show.png

При нажатии на поле ввода, выполните команду открытия клавиатуры:

  • Object Properties > Programming > Press > «Show Keyboard [keyboard_type]»


По событию Enter, передайте данные из Editbox элементу или драйверу.


Пример работы:

  • Press - открывается виртуальная клавиатура смартфона (планшета)
  • Enter - поле ввода отправляет текст как команду драйверу; закрывает клавиатуру; очищает поле ввода.


Чтобы удалить ранее введенные данные, запишите в поле ввода пустую строку:

Editor window Object Properties Programming Edit Box hide.png
Editor window Object Properties Programming Edit Box Clean.png


RGB палитра

RGB светодиодные ленты управляются с помощью DMX контроллеров и имеют одну из конфигураций:

  • Red, Green, Blue - три канала для управления цветом ленты. Уменьшение яркости достигается уменьшением яркости отдельных каналов цвета.
  • Red, Green, Blue, Alpha - четыре канала для управления цветом и яркостью ленты


вариант 1 Управлять RGB лентой с помощью трех (четырех) элементов Level.


В проекте создаются 3 (4) переменные Unsigned 8-bit (Subtupe: VALUE). Переменные управляются в диапазоне 0...255, увеличение значения в канале соответствует увеличению яркости соответствующего цвета.

LEVEL

Нажатие на уровень или перемещение ползунка отправляет в управляемую переменную число, соответствующее текущему положению ползунка.

1 Создайте переменную, которую нужно регулировать. Настройте ее, как показано в инструкции

2 Создайте уровень, настройте его следующим образом (cм. все настройки):

UImakeAlevel.png
Type Level
Feedback Реакция уровня на нажатия пользователя и на получение данных от оборудования
  • Channel - отправляет значение и отображает обратную связь (ползунок перемещается при получении данных)
Min / Max Пределы регулирования уровня: определяют диапазон значений, в котором перемещается ползунок
Invert Range Меняет местами нижнюю и верхнюю часть уровня, т.е. регулирование от 0 до 100 будет происходить не снизу вверх (при вертикальном уровне), а сверху вниз.

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

UIdragCommandToLevel.png
Action Send Token - отправить переменной значение Value, взятое как текущее положения ползунка уровня в диапазоне Min...Max
Event for Action Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
  • Press - отправить Value по нажатию
  • Release - отправить Value при отпускании
  • Move - отправлять все промежуточные значения Value при перемещении ползунка.
    добавляйте команду Delay (100) перед командой на событии Move, чтобы меньше нагружать оборудование (с командой Delay, Move будет срабатывать не чаще, чем раз в 100 мс)



Можно использовать все три события одновременно.

Add a feedback channel (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы ползунок уровня перемещался в соответствии с актуальным состоянием переменной

4 Теперь переменная связана с уровнем. Посмотреть все связи можно в OBJECT PROPERTIES > Programming


вариант 2 Управлять RGB лентой с помощью палитры


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

Это требует добавления в проект специального скрипта - библиотеки RGB. Скрипт необходимо добавить только 1 раз, далее можно использовать его для управления RGB лентами любых встроенных драйверов iRidium.

2.1 Создайте палитру и вспомогательные элементы. В качестве палитры можно использовать любое цветное изображение.

  • Настройте палитру как Joystick с диапазоном регулирования 0...100 по Х и Y
  • Настройте неактивный элемент Button, который будет отображать выбранный на палитре цвет
  • Если нужно, настройте активные кнопки Button, которые будут пошагово изменять яркость ленты
RGBPalette.png

2.2 Скачайте файл RGB_Library.js

Этот файл обеспечивает управление цветом с помощью JavaScript. Добавьте файл в проект визуализации: откройте проект в iRidium Studio, нажмите клавишу Icon Scripts.png, выберите пункт ( + ) "Add Script From File"

2.3 Создайте пустой файл скрипта: ( + ) "New Script", чтобы добавить в него описание вашей RGB палитры:

В файле скрипта опишите палитру и элемент для отображения выбранного цвета:
///////// Copy this function to make one more RGB palette ///////
RGB_player(
         "Driver",                                            // Driver in project
         "Channel Red",                                       // Name of Red Channel
         "Channel Green",                                     // Name of Green Channel 
         "Channel Blue",                                      // Name of Blue Channel
         255,                                                 // Top limit for RGB channel (100 or 255)
         IR.GetItem("Page 1").GetItem("Item Color Picker 1"), // Item "Color Picker"
         /////// optional parameters ///////////////////////////
         IR.GetItem("Page 1").GetItem("Item Display 1"),      // Item "Display"
         )

Расширенный вариант содержит кнопки управления яркостью:

Палитра, отображение цвета и кнопки +/- для управления яркостью

///////// Copy this function to make one more RGB palette ///////
RGB_player(
         "Driver",                                            // Driver in project
         "Channel Red",                                       // Name of Red Channel
         "Channel Green",                                     // Name of Green Channel 
         "Channel Blue",                                      // Name of Blue Channel
         255,                                                 // Top limit for RGB channel (100 or 255)
         IR.GetItem("Page 1").GetItem("Item Color Picker 1"), // Item "Color Picker"
         /////// optional parameters ////////////////////////////
         IR.GetItem("Page 1").GetItem("Item Display 1"),      // Item "Display"
         IR.GetItem("Page 1").GetItem("Up 1"),                // Item "Up"
         IR.GetItem("Page 1").GetItem("Down 1"),              // Item "Down"
         10                                                   // Increment step for "Up" and "Down"
         )


В описании укажите где находится палитра, и какому оборудованию отправляет данные:

  • IR.GetDevice("Driver") - имя драйвера, которому вы будете отправлять команды RGB. Скопируйте имя драйвера в PROJECT DEVICE PANEL
  • "Channel Red", "Channel Green", "Channel Blue" - имена переменных (Commands), которые отвечают за управление красной, зеленой, и синей составляющими цвета. Скопируйте имена в PROJECT DEVICE PANEL. Имена Commands должны совпадать с именами Feedbacks, откуда приходит информация о текущем цвете RGB ленты.
    HDL-Buspro, Domintell - имеют особый способ записи имен. Для них нужно указать <имя устройства в сети>:<имя канала>, например "Dimmer in Bedroom:Channel 1"
  • 255 - максимальное значение яркости для каждого цвета. Для большей части оборудования яркость регулируется от 0 до 255, но есть драйверы, которые управляют яркостью цвета в диапазоне 0...100 (например, HDL). Для HDL-Buspro укажите значение 100 в этой строке настроек.
  • IR.GetItem("Page 1").GetItem("Item Color Picker 1") - имя страницы ("Page 1") и элемента на ней ("Item Color Picker 1") который вы будете использовать как палитру
  • IR.GetItem("Page 1").GetItem("Item Display 1") - имя страницы ("Page 1") и элемента на ней ("Item Display 1") который вы будете использовать для отображения цвета, выбранного на палитре
  • IR.GetItem("Page 1").GetItem("Up 1") - имя страницы ("Page 1") и элемента на ней ("Up 1") который будет при нажатии увеличивать яркость выбранного цвета
  • IR.GetItem("Page 1").GetItem("Down 1") - имя страницы ("Page 1") и элемента на ней ("Down 1") который будет при нажатии уменшать яркость выбранного цвета
  • 10 - значение, на которое увеличится/уменьшится яркость выбранного цвета при нажатии кнопок Up и Down


2.3 Нажмите "ОК" чтобы сохранить описание палитры, запустите Эмулятор, чтобы проверить ее работу.

Ошибки, которые могут возникать при некорректном описании палитры, отображаются в окне лога (F4)


Отображение входящих данных

Графический элемент может отображать значение переменной, меняя свое состояние или текст:

ИЗМЕНИТЬ СОСТОЯНИЕ

1 Настройте графический элемент так, чтобы он отображал полученные значения:

SetUpItemToDisplayValue.png

Выберите в настройках General:

Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).

Этот тип обратной связи позволяет элементу обрабатывать данные, полученные от переменных

2 Привяжите канал (Feedback) оборудования к графическому элементу:

SetUpItemToDisplayValue2.png

Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value

Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.

Шаблон $V, добавленный в текст элемента, позволит вывести полученное значение в текст элемента.

ОТОБРАЗИТЬ В ТЕКСТЕ

1 Привяжите канал (Feedback) оборудования к графическому элементу:

DragChannelToDisplayTxt.png

Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Text

Элемент может иметь любое число состояний и настройки. Значение будет выведено в текстовые поля всех состояний элемента.

DragChannelToDisplayValue.png

Добавьте $V, в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value. Это позволит вывести полученное целое число и добавить к нему любой другой текст.

Существуют шаблоны для вывода дробных чисел и др.:

СПИСОК ШАБЛОНОВ

Шаблон Функция Шаблон Функция
$V целая часть полученного значения $P процента от максимального значения Уровня
$F1 - 5 значение с плавающей запятой.
От 1 до 5 - число знаков после запятой
$H максимальное значение Уровня
$S номер выбранного состояния $A значение за вычетом минимального значения Уровня
$R размах Уровня (максимальное минус минимальное) $L минимальное значение Уровня
$X текущее значение в формате HEX $$ символ "доллар"

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