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

Other languages:

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


Описание

iRidium для Crestron - это набор инструментов, позволяющий создать интерфейс для управления домом или офисом на базе оборудования Crestron. iRidium работает на iOS, Android, Windows, Mac и может подключаться одновременно к нескольким процессорам.


Работа iRidium проверена на 2 и 3-м поколении процессоров Crestron.


Подключение

Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium начал управлять оборудованием Crestron


Подключение к процессору

Crestron.png

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

iRidium взаимодействует с джоинами (join) Crestron, список джоинов можно получить из проекта *.smw (SIMPL™).


Импорт джоинов из проекта SIMPL Windows


При создании проекта в SIMPL Windows обязательно добавьте в проект любую панель, настройте для нее идентификатор IP ID – управляющие устройства iRidium будут использовать этот IP ID для подключения к контроллеру Crestron:

Add panel.png


Сохраните проект в SIMPL Windows (*.smw), откройте iRidium Studio и выберите файл *.smw в меню "Файл > Импорт":

Import.png


В результате создано дерево, состоящее из устройства (контроллера) и джоинов проекта:

Trees Joins.png

Вы можете добавить драйвер Crestron в свой проект вручную из базы данных iRidium:

Add Crestron.png


Commands & Feedbacks

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

  • Crestron - драйвер, объединяет в себе список джоинов процессора Crestron
  • Commands и Feedbacks - команды и каналы обратной связи внутри устройств, которые позволяют управлять джоинами. Команды - джоины, доступные на запись, каналы - джоины, доступные на чтение.

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

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


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

Далее представлены примеры команд для управления регистрами разного типа.


Типы джоинов Crestron:

  • Digital - битовая переменная (0 .. 1). Используется в командах и каналах статуса
  • Analog - 16-битная без знаковая переменная (0 .. 65535). Используется в командах и каналах статуса
  • Serial - строка данных в формате ASCII. Используется только в каналах статуса, для получения строковых данных


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

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

Connection settings.png
SSL выключен:
  • Host - IP адрес контроллера
  • Port: 41794 - порт управления Crestron
  • IP ID - идентификатор панели в проекте SIMPL (введите в десятичном виде, 0D => 13)
  • Telnet Port: 41795 - Telnet порт для выключенного SSL
  • Telnet Login - оставить пустым
  • Telnet Password - оставить пустым
  • SSL: False - SSL выключен
Connection settings sslon.png
SSL включен:
  • Host - IP адрес контроллера
  • Port: 41794 - порт управления Crestron
  • IP ID - идентификатор панели в проекте SIMPL (введите в десятичном виде, 0D => 13)
  • Telnet Port: 41797 - Telnet порт для включенного SSL
  • Telnet Login - логин SSL
  • Telnet Password - пароль SSL
  • SSL: True - SSL включен


Для работы через Интернет укажите публичный IP-адрес маршрутизатора, к которому подключен процессор и настройте проброс управляющего порта (Port Forwarding).

Публичный IP-адрес маршрутизатора можно узнать, например, через Яндекс.Интернет


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

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

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


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


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

function Internal_1() {
IR.GetDevice("Crestron").SetParameters({Host: "192.168.0.100", Port: 41794, NetID: 3, TelnetPort: 41795, TelnetSSL: 0});
}
function External_1() {
IR.GetDevice("Crestron").SetParameters({Host: "215.110.10.10", Port: 41794, NetID: 3, TelnetPort: 41797, TelnetLogin: "admin", TelnetPassword: "pass", TelnetSSL: 1});
}

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


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

Script call internal-external.png

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

Примеры:

// SSL turned Off
IR.GetDevice("Crestron").SetParameters({Host: "192.168.0.100", Port: 41794, NetID: 3, TelnetPort: 41795, TelnetSSL: 0})
 
//SSL turned On
IR.GetDevice("Crestron").SetParameters({Host: "215.110.10.10", Port: 41794, NetID: 3, TelnetPort: 41797, TelnetLogin: "admin", TelnetPassword: "pass", TelnetSSL: 1})
	//Host - IP address
	//Port - connection port
	//Login - login, if needed
	//Password - password, if needed
	//NetID - Panel ID from SIMPL project in DEC format (not HEX!)
	//TelnetPort - 41795 if SSL disabled, 41797 if SSL enabled
	//TelnetLogin - Telnet login
	//TelnetPassword - Telnet password
	//TelnetSSL - 0 - don't use / 1 - use


Управление джоинами

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

SendValue.png

Возможные настройки команд, каналов и графических элементов представлены далее:


Digital

Command:

Type Digital Digital джоин (boolean), доступен на запись и чтение
Join 1 .. n адрес джоина
Value * значение
0 .. 1 0 = Off, 1 = On

* - укажите при перетягивании команды на графический элемент


Feedback:

Настройки аналогичны команде. Значение Value приходит в Feedback и его можно использовать для отображения статуса джоинов на элементах


Управление:

С помощью графических элементов вы можете записать в джоин значение 1 или 0

BUTTON

Графический элемент из 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

Триггерное переключение с помощью элемента "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 Настройте графический элемент так, чтобы он отображал полученные значения:

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 $$ символ "доллар"

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


Analog

Command:

Type Analog Analog джоин (2 байта), доступен на запись и чтение
Join 1 .. n адрес джоина
Value * значение
0 .. 65535 2 байта

Feedback:

Настройки аналогичны команде. Значение Value приходит в Feedback и его можно использовать для отображения статуса дожинов на элементах.


Управление:

С помощью графических элементов вы можете записать в переменную выбранное значение:

BUTTON

Графический элемент из 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

Триггерное переключение с помощью элемента "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


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

UP/DOWN BUTTON

Графический элемент из 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

RADIO BUTTONS

Радиокнопка (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 Настройте графический элемент так, чтобы он отображал полученные значения:

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 $$ символ "доллар"

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


Управление RGB светодиодной лентой с помощью Analog джоинов:


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)



Serial

Feedback:

Type Serial Serial джоин (ASCII), доступен только для чтения
Join 1 .. n адрес джоина
Value * значение
string ASCII

* Value приходит в Feedback и его можно использовать для отображения на элементах.


Отображение состояния:

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

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

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 $$ символ "доллар"

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


Получение изображений через Serial Join:


Эмулятор: проверка проекта

Эмулятор (Emulator) - приложение для проверки работы проекта в редакторе iRidium Studio.

Эмулятор работает только после авторизации с использованием логина и пароля с сайта iRidium Mobile

Режимы работы Эмулятора настраиваем в Tools > Options > Emulator:

  • Client Fullscreen - запуск в полноэкранном режиме
  • Client Sound On - включить/выключить звук в приложении
  • Show log at Emuator Start - автоматически открывать окно лога (иначе лог можно открыть по нажатию F4)


Path to the license.png

Горячие клавиши:

  • F4 - открыть лог
  • F5 - запустить Эмулятор
  • F7 - открыть меню управления аккаунтом и проектами
  • F8 - открыть системные настройки (введите пароль 2007)



Синхронизация с панелью управления

Если вы - интегратор, вы можете быстро запустить созданный интерфейс визуализации на панели управления - смартфоне, планшете или ПК. Установите приложение i3 pro и авторизуйтесь в нем с помощью вашего логина и пароля интегратора с сайта iRidium Mobile.


Используйте i3 pro для iOS, Android, Windows, Mac в тестовом режиме, загружая проекты через iRidium Transfer (возможность доступна только для интеграторов):


Настройки iRidium Transfer


Коммерческое использование iRidium возможно толкьо при загрузке проектов визуализации с помощью облачного сервиса iRidium Cloud на сайте iRidium Mobile (см. инструкцию).

iRidium Cloud может настроить только зарегистрированный интегратор. После настройки, доступно приглашение пользователей к управлению объектом автоматизации.