Содержание
iRidium для EPSNET
набор инструментов для создания интерфейсов управления Teco и iNELS по протоколу EPSNET
документация обновлена 31.10.2016
обучение:
вебинары и видео-уроки >>
Описание
iRidium для EPSNET - это набор инструментов, позволяющий создать интерфейс для управления домом или офисом на базе оборудования Teco (Tecomat) или iNELS с поддержкой протокола EPSNET.
Лицензирование iRidium для EPSNET (подробно):
- Deivice License (EPSNET) - лицензия на одну панель управления позволяет управлять любым совместимым контроллером
Подключение
Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium начал управлять оборудованием по протоколу EPSNET.
Способы подключения к ПЛК
Разные способы связи с обеспечивают локальную работу и работу через Интернет:
1. Локальное соединение работает только в локальной сети объекта автоматизации. Использует протокол UDP. Соединение устанавливается между панелью управления и контроллером через сетевой маршрутизатор.
2. Интернет соединение позволяет подключиться к контроллеру через Интернет. Для работы в этом режиме, маршрутизатор сети должен иметь статический IP адрес или использовать службу DDNS.
Добавление драйвера EPSNET в iRidium
EPSNET не позволяет автоматически сформировать список устройств, которыми можно управлять, поэтому добавим их вручную.
DEVICE BASE
в PROJECT DEVICE PANEL
.
- Host - IP-адрес контроллера
- Port - UDP порт управления, 61682
- Update Time (мс) - частота обновления данных
Команды для драйвера EPSNET удобно формировать на основе файла экспорта в формате *.PUB, который формируется в программах Mosaic (TECO) и IDM (iNELS).
1(а). Подготовьте Mosaic:
если вы уже генерировали *.pub файл (компилировали проект), перед тем, как сделать это еще раз, удалите предыдущий *.pub, иначе адреса в проекте будут дублироваться.
1(б). Подготовьте IDM iNELS:
Убедитесь, что программа IDM подключена к контроллеру, иначе, экспорт невозможен.
2. Выберите переменные для экспорта в управляющей программе устройства: "Unit/Device Manager" (Менеджер Модуля/Устройства), обязательно указывайте ИМЕНА экспортируемых переменных:
3. Откройте "Project Setup" (Общие настройки) и укажите путь сохранения файла экспорта. Вкладка может называться '...Of SCADA' или 'RELI':
5. Откройте *.pub файл в текстовом редакторе, он содержит список адресов, в формате, поддерживаемом iRidium:
Commands & Feedbacks
Данные из *.PUB файла необходимо перенести в iRidium для управления регистрами EPSNET. Начнем настройку регистров, разбирая строки PUB файла, каждая из которых соответствует одному регистру:
DAC2_04M_OUT1_ON R B 18237 .1 BOOL PUB_INOUT | | | | | | |_"Name" | | | |_"Type" | только чтение (IN) | | | |_чтение и запись (INOUT) "Register"_| |_"Address" | "Bit"_|
Регистр EPSNET в iRidium Studio:
- Name - имя регистра
- Type - тип данных, см. таблицу соответствия
- Register - тип регистра
- Address - номер регистра
- Bit - номер бита в байте (для Bool)
Добавьте все необходимые регистры в проект iRidium, выбирая параметры из соответствующих значений *.PUB файла.
Регистр со свойством PUB_INOUT можно записывать и читать, создайте его во вкладках Commands и Feedback.
Регистр со свойством PUB_IN можно только читать, создайте его только во вкладке Feedback.
Type (в PUB файле и iRidium Studio):
PUB file | iRidium Studio | Description | Range |
BOOL | Bool | Boolean | 0…1 |
SINT | Signed 8 bit | Short integer | -128...127 |
INT | Signed 16 bit | Integer | -32 768...32767 |
DINT | Signed 32 bit | Double integer | -2147483648...2147483647 |
USINT | Unsignеd 8 bit | Unsignеd short integer | 0...255 |
UINT | Unsigned 16 bit | Unsignеd integer | 0...65535 |
UDINT | Unsigned 32 bit | Unsignеd double integer | 0...4294967295 |
REAL | Float 32 bit | Real (single precision) | ±2.9E-39… ±3.4E+38 |
LREAL | Float 64 bit | Long real (double precision) | IEC 559 |
TIME | Time | Duration | 24d 20:31:23.647 |
DATE | Date | Data (only) | from 1.1.1970 00:00:00 |
TIME_OF_DAY (TOD) | Time of Day | Time of day (only) | 24d 20:31:23.647 |
DATE_AND_TIME (DT) | Date Time | Data and time of day | from 1.1.1970 00:00:00 |
Команды и каналы обратной связи нужно привязать к графическим элементам проекта для управления оборудованием:
- Команда привязывается к графическому элементу с указанием значения, которое нужно передать в регистр при нажатии на графический элемент
- Канал обратной привяжите к графическому элементу, чтобы отобразить состояние регистра
Чтобы связать команду или канал с графическим элементом, используйте метод drag&drop
- перетягивание.
чтобы быстро создать Feedback с теми же настройками, что у Command, нажмите на Command правой кнопкой мыши и выберите опцию "Create Feedback". Создать Feedback можно сразу для нескольких регистров.
Смена настроек подключения
Возможность смены параметров подключения нужна, если вы отключаетесь от Wi-Fi сети объекта автоматизации и начинаете использовать 3G или другую Wi-Fi сеть. Чтобы управление продолжило работать, нужно переключиться с локального на публичный IP адрес интернет-маршрутизатора.
Переключение не происходит автоматически, вам нужно будет нажать на клавишу выбора режима соединения. Для возможности удаленного доступа необходимо сделать порты управления системой автоматизации публичными. Для этого настраивают службу Port Forwarding на интернет-маршрутизаторе. Защищенное соединение может обеспечить VPN.
1 Скачайте шаблон (*.js) (правая кнопка: "Сохранить объект как..."), добавьте шаблон в редактор скриптов клавишей (+) Add Script from file
2 Настройте параметры скрипта, как показано в примере:
- function Internal_1() {
- IR.GetDevice("EPSNET (UDP)").SetParameters({Host: "192.168.0.100", Port: 61682, UpdateTime: 1000});
- }
- function External_1() {
- IR.GetDevice("EPSNET (UDP)").SetParameters({Host: "215.110.10.10", Port: 61682, UpdateTime: 1000});
- }
Скопируйте имя драйвера из Projсet Device Panel, список параметров нужно скопировать из примера в точности.
3 Выберите кнопку, которая будет отвечать за переключение Internal и External параметров. Откройте Macros Editor
для события Press (Object Properties > Programming), выберите команду Script Call
и добавьте ее двойным кликом. Выберите имя функции, которую вызовет кнопка:
Теперь каждое нажатие на кнопку будет применять соответствующий набор настроек подключения.
Управление регистрами
Для управления регистрами настроим команды (Commands) и каналы обратной связи (Feedbacks). Чтобы отправить команду, нужно перетянуть ее на графический элемент и указать значение (Value), которое нужно отправить. Чтобы отобразить обратную связь, нужно перетянуть канал на графический элемент, и указать, куда вывести значение (Value)
Возможные настройки команд, каналов и графических элементов представлены далее:
BOOL
Регистр типа BOOL (Bool) управляется логическим нулем или единицей. Особенность настройки состоит в том, что помимо номера, нужно выбрать управляемый бит регистра.
Command:
Type | Value * | |
Bool | 0...1 | тип данных BOOL и значение для записи |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
Bit | 0...7 | номер бита в байте |
*Value - укажите при перетягивании команды на графический элемент
Feedback:
Type | Bool | тип данных BOOL |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
Bit | 0...7 | номер бита в байте |
Value * | 0...1 | состояние бита |
* Value - приходит в канал обратной связи, используйте для отображения на элементах
Управление:
BUTTON
Графический элемент из 1 или 2х состояний. Кнопка, в зависимости от настроек может быть фиксируемой и не фиксируемой. Каждое нажатие на кнопку инициирует отправку одних и тех же команд, заранее к ней привязанных.
1 Создайте переменную, куда нужно записать число или строку. Настройте ее, как показано в инструкции
2 Создайте кнопку, настройте ее следующим образом (cм. все настройки):
Type | Button |
---|---|
Feedback | Реакция кнопки на нажатия пользователя и на получение данных от оборудования
|
3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
Action | Send Number - записать в переменную число. Можно переключить на Send String для отпарвки ASCII строки |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
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м. все настройки элемента):
Type | Trigger Button |
---|---|
Feedback | Реакция на нажатия и получение данных от оборудования
|
Trigger Value 1 / Trigger Value 2 | значения, которые нужно попеременно отправлять при нажатии на триггер, зависят от типа переменной |
3 Перетащите переменную на триггер, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной значение Value, взятое из графического элемента (Trigger Value 1 или Value 2, в зависимости от текущего состояния триггера) |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы триггер знал свое состояние и менял его получении данных из переменной и при нажатии. |
4 Теперь переменная связана с триггером. Посмотреть все связи можно в OBJECT PROPERTIES > Programming
Отображение состояния:
Графический элемент может отображать значение переменной, меняя свое состояние или текст:
ИЗМЕНИТЬ СОСТОЯНИЕ
1 Настройте графический элемент так, чтобы он отображал полученные значения:
Выберите в настройках General:
Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).
2 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value
Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.
Шаблон $V, добавленный в текст элемента, позволит вывести полученное значение в текст элемента.
ОТОБРАЗИТЬ В ТЕКСТЕ
1 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Text
Элемент может иметь любое число состояний и настройки. Значение будет выведено в текстовые поля всех состояний элемента.
Добавьте $V, в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value. Это позволит вывести полученное целое число и добавить к нему любой другой текст.
Существуют шаблоны для вывода дробных чисел и др.:
СПИСОК ШАБЛОНОВ
Шаблон | Функция | Шаблон | Функция |
---|---|---|---|
$V | целая часть полученного значения | $P | процента от максимального значения Уровня |
$F1 - 5 | значение с плавающей запятой. От 1 до 5 - число знаков после запятой |
$H | максимальное значение Уровня |
$S | номер выбранного состояния | $A | значение за вычетом минимального значения Уровня |
$R | размах Уровня (максимальное минус минимальное) | $L | минимальное значение Уровня |
$X | текущее значение в формате HEX | $$ | символ "доллар" |
команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
SINT, INT, DINT, USINT, UINT, UDINT
Информационные регистры 8, 16, 32 бита управляются диапазоном значений:
Command:
Type | Value * | |
Signed 8 bit | -128...127 | тип данных SINT и значение для записи |
Signed 16 bit | -32 768...32767 | тип данных INT |
Signed 32 bit | -2147483648...2147483647 | тип данных DINT |
Unsigned 8 bit | 0...255 | тип данных USINT |
Unsigned 16 bit | 0...65535 | тип данных UINT |
Unsigned 32 bit | 0...4294967295 | тип данных UDINT |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
*Value - укажите при перетягивании команды на графический элемент
Feedback:
Type | Value * | |
Signed 8 bit | -128...127 | тип данных SINT и возможное значение |
Signed 16 bit | -32 768...32767 | тип данных INT |
Signed 32 bit | -2147483648...2147483647 | тип данных DINT |
Unsigned 8 bit | 0...255 | тип данных USINT |
Unsigned 16 bit | 0...65535 | тип данных UINT |
Unsigned 32 bit | 0...4294967295 | тип данных UDINT |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
* Value - приходит в канал обратной связи, используйте для отображения на элементах
Управление:
С помощью графических элементов вы можете записать в переменную выбранное значение:
BUTTON
Графический элемент из 1 или 2х состояний. Кнопка, в зависимости от настроек может быть фиксируемой и не фиксируемой. Каждое нажатие на кнопку инициирует отправку одних и тех же команд, заранее к ней привязанных.
1 Создайте переменную, куда нужно записать число или строку. Настройте ее, как показано в инструкции
2 Создайте кнопку, настройте ее следующим образом (cм. все настройки):
Type | Button |
---|---|
Feedback | Реакция кнопки на нажатия пользователя и на получение данных от оборудования
|
3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
Action | Send Number - записать в переменную число. Можно переключить на Send String для отпарвки ASCII строки |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
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м. все настройки элемента):
Type | Trigger Button |
---|---|
Feedback | Реакция на нажатия и получение данных от оборудования
|
Trigger Value 1 / Trigger Value 2 | значения, которые нужно попеременно отправлять при нажатии на триггер, зависят от типа переменной |
3 Перетащите переменную на триггер, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной значение Value, взятое из графического элемента (Trigger Value 1 или Value 2, в зависимости от текущего состояния триггера) |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы триггер знал свое состояние и менял его получении данных из переменной и при нажатии. |
4 Теперь переменная связана с триггером. Посмотреть все связи можно в OBJECT PROPERTIES > Programming
LEVEL
Нажатие на уровень или перемещение ползунка отправляет в управляемую переменную число, соответствующее текущему положению ползунка.
1 Создайте переменную, которую нужно регулировать. Настройте ее, как показано в инструкции
2 Создайте уровень, настройте его следующим образом (cм. все настройки):
Type | Level |
---|---|
Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования
|
Min / Max | Пределы регулирования уровня: определяют диапазон значений, в котором перемещается ползунок |
Invert Range | Меняет местами нижнюю и верхнюю часть уровня, т.е. регулирование от 0 до 100 будет происходить не снизу вверх (при вертикальном уровне), а сверху вниз. |
3 Перетащите переменную на уровень, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной значение Value, взятое как текущее положения ползунка уровня в диапазоне Min...Max |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
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м. все настройки):
Type | Up/Down Button |
---|---|
Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования
|
Up/Down Value | шаг инкрементирования (может быть больше либо меньше нуля) |
Min/Max Value | предел инкрементирования (минимальный предел для отрицательного шага, максимальный для положительного) |
Hold Value | шаг инкрементирования при срабатывании события Hold. Команду управления оборудованием можно одновременно привязать на Press и Hold, тогда значение будет прирастать при удержании кнопки |
Hold Time | время удержания кнопки, чтобы сработало событие Hold |
Repeat Time | частота повторения событий On Hold |
3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной Value, рассчитанное как сумма текущего значения и величины инкремента |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано рассчитанное значение инкремента
|
Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы инкремент рассчитывался в соответствии с актуальным состоянием переменной |
4 Теперь переменная связана с уровнем. Посмотреть все связи можно в OBJECT PROPERTIES > Programming
RADIO BUTTONS
Радиокнопка (Radio Button) - элемент интерфейса, который позволяет выбрать одну из предварительно настроенных опций. В iRidium радиокнопки не выделены как отдельный тип элемента, вы можете настроить их, взяв за основу Trigger Button. Задача радикнопкок: отправлять переменным значения с разных кнопок, из которых можно выбрать только одну.
Настройки и поведение радиокнопки зависят от того, с какой переменной оборудования вы работаете. Приведем несколько ситуаций и примеров настройки.
вар. 1 Радиокнопки для управления одной переменной с возможностью получения обратной связи. Записывают значения в одну переменную; оборудование возвращает текущее состояние этой переменной.
- Настройте элементы Trigger Button (см. изображение) по числу радиокнопок. В полях
Trigger Value 1
и 2 укажите одинаковые значения, соответствующие тем, что каждая кнопка должна отправлять управляемой переменной - Перетяните команду управления переменной на все радиокнопки. Выберите событие
Press
илиRelease
для отправки, обязательно поставьте галочкуAdd A Feedback Channel
для отображения статуса переменной
настроенная кнопка перейдет в State 2 только когда переменная примет значение, указанное в Trigger Value 1 и 2
вар. 2 Радиокнопки для управления переменными с возможностью получения обратной связи. Записывают значения вкл\выкл в разные переменные; оборудование возвращает текущее состояние этих переменных. Переменные не синхронизированы оборудованием автоматизации для работы в режиме радиокнопок (нужно выключать неактивные режимы на стороне iRidium)
- Настройте элементы Type:
Trigger Button
, Feedback:Channel
, укажитеTrigger Value 1
= неактивное,Trigger Value 2
= активное состояние переменной (например 0/1, 0/100) - Перетяните команды управления переменными на графические элементы. На примере первого элемента группы:
- Отправьте нули во все переменные, которые входят в группу радиокнопок, чтобы отключить текущий активный режим. Для этого в диалоге отправки команды выберите Action:
Send Number
- Добавьте задержку Delay(50) мс через редактор макросов события Press, чтобы дать оборудованию время на отключение активного режима
- Перетяните на элемент команду управления переменной, которая соответствует радиокнопке. Оставьте Action:
Send Token
. Value на событииPress
(или Release), обязательно поставьте галочкуAdd a Feedback Channel
- Отправьте нули во все переменные, которые входят в группу радиокнопок, чтобы отключить текущий активный режим. Для этого в диалоге отправки команды выберите Action:
Если режимы работы оборудования синхронизируются на стороне оборудования автоматизации (при включении одного из режимов остальные автоматически выключаются), вам не нужно отпрвлять нули в отключаемые переменные. Выполните только подпункт 2.3 настроек
Отображение состояния:
Графический элемент может отображать значение переменной, меняя свое состояние или текст:
ИЗМЕНИТЬ СОСТОЯНИЕ
1 Настройте графический элемент так, чтобы он отображал полученные значения:
Выберите в настройках General:
Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).
2 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value
Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.
Шаблон $V, добавленный в текст элемента, позволит вывести полученное значение в текст элемента.
ОТОБРАЗИТЬ В ТЕКСТЕ
1 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Text
Элемент может иметь любое число состояний и настройки. Значение будет выведено в текстовые поля всех состояний элемента.
Добавьте $V, в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value. Это позволит вывести полученное целое число и добавить к нему любой другой текст.
Существуют шаблоны для вывода дробных чисел и др.:
СПИСОК ШАБЛОНОВ
Шаблон | Функция | Шаблон | Функция |
---|---|---|---|
$V | целая часть полученного значения | $P | процента от максимального значения Уровня |
$F1 - 5 | значение с плавающей запятой. От 1 до 5 - число знаков после запятой |
$H | максимальное значение Уровня |
$S | номер выбранного состояния | $A | значение за вычетом минимального значения Уровня |
$R | размах Уровня (максимальное минус минимальное) | $L | минимальное значение Уровня |
$X | текущее значение в формате HEX | $$ | символ "доллар" |
команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
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м. все настройки):
Type | Level |
---|---|
Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования
|
Min / Max | Пределы регулирования уровня: определяют диапазон значений, в котором перемещается ползунок |
Invert Range | Меняет местами нижнюю и верхнюю часть уровня, т.е. регулирование от 0 до 100 будет происходить не снизу вверх (при вертикальном уровне), а сверху вниз. |
3 Перетащите переменную на уровень, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной значение Value, взятое как текущее положения ползунка уровня в диапазоне Min...Max |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
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, которые будут пошагово изменять яркость ленты
2.2 Скачайте файл RGB_Library.js
- Этот файл обеспечивает управление цветом с помощью JavaScript. Добавьте файл в проект визуализации: откройте проект в iRidium Studio, нажмите клавишу
, выберите пункт ( + ) "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)
REAL, LREAL
Информационные регистры 32 и 64 бита с плавающей запятой управляются диапазоном значений. Отличие от целочисленных регистров состоит в том, что вы можете отправлять им дробные значения (и получать дробные значения от контроллера):
Command:
Type | Value * | |
Float 32 bit | ±2.9E-39… ±3.4E+38 | тип данных REAL и значение для записи |
Float 64 bit | в соответствии с IEC 559 | тип данных LREAL |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
* Value - укажите при перетягивании команды на графический элемент
Feedback:
Type | Value * | |
Float 32 bit | ±2.9E-39… ±3.4E+38 | тип данных REAL и возможное значение |
Float 64 bit | в соответствии с IEC 559 | тип данных LREAL |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
* Value - приходит в канал обратной связи, используйте для отображения на элементах
Управление:
С помощью графических элементов вы можете записать в переменную выбранное значение:
BUTTON
Графический элемент из 1 или 2х состояний. Кнопка, в зависимости от настроек может быть фиксируемой и не фиксируемой. Каждое нажатие на кнопку инициирует отправку одних и тех же команд, заранее к ней привязанных.
1 Создайте переменную, куда нужно записать число или строку. Настройте ее, как показано в инструкции
2 Создайте кнопку, настройте ее следующим образом (cм. все настройки):
Type | Button |
---|---|
Feedback | Реакция кнопки на нажатия пользователя и на получение данных от оборудования
|
3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
Action | Send Number - записать в переменную число. Можно переключить на Send String для отпарвки ASCII строки |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
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м. все настройки элемента):
Type | Trigger Button |
---|---|
Feedback | Реакция на нажатия и получение данных от оборудования
|
Trigger Value 1 / Trigger Value 2 | значения, которые нужно попеременно отправлять при нажатии на триггер, зависят от типа переменной |
3 Перетащите переменную на триггер, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной значение Value, взятое из графического элемента (Trigger Value 1 или Value 2, в зависимости от текущего состояния триггера) |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы триггер знал свое состояние и менял его получении данных из переменной и при нажатии. |
4 Теперь переменная связана с триггером. Посмотреть все связи можно в OBJECT PROPERTIES > Programming
LEVEL
Нажатие на уровень или перемещение ползунка отправляет в управляемую переменную число, соответствующее текущему положению ползунка.
1 Создайте переменную, которую нужно регулировать. Настройте ее, как показано в инструкции
2 Создайте уровень, настройте его следующим образом (cм. все настройки):
Type | Level |
---|---|
Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования
|
Min / Max | Пределы регулирования уровня: определяют диапазон значений, в котором перемещается ползунок |
Invert Range | Меняет местами нижнюю и верхнюю часть уровня, т.е. регулирование от 0 до 100 будет происходить не снизу вверх (при вертикальном уровне), а сверху вниз. |
3 Перетащите переменную на уровень, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной значение Value, взятое как текущее положения ползунка уровня в диапазоне Min...Max |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
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м. все настройки):
Type | Up/Down Button |
---|---|
Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования
|
Up/Down Value | шаг инкрементирования (может быть больше либо меньше нуля) |
Min/Max Value | предел инкрементирования (минимальный предел для отрицательного шага, максимальный для положительного) |
Hold Value | шаг инкрементирования при срабатывании события Hold. Команду управления оборудованием можно одновременно привязать на Press и Hold, тогда значение будет прирастать при удержании кнопки |
Hold Time | время удержания кнопки, чтобы сработало событие Hold |
Repeat Time | частота повторения событий On Hold |
3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
Action | Send Token - отправить переменной Value, рассчитанное как сумма текущего значения и величины инкремента |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано рассчитанное значение инкремента
|
Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы инкремент рассчитывался в соответствии с актуальным состоянием переменной |
4 Теперь переменная связана с уровнем. Посмотреть все связи можно в OBJECT PROPERTIES > Programming
RADIO BUTTONS
Радиокнопка (Radio Button) - элемент интерфейса, который позволяет выбрать одну из предварительно настроенных опций. В iRidium радиокнопки не выделены как отдельный тип элемента, вы можете настроить их, взяв за основу Trigger Button. Задача радикнопкок: отправлять переменным значения с разных кнопок, из которых можно выбрать только одну.
Настройки и поведение радиокнопки зависят от того, с какой переменной оборудования вы работаете. Приведем несколько ситуаций и примеров настройки.
вар. 1 Радиокнопки для управления одной переменной с возможностью получения обратной связи. Записывают значения в одну переменную; оборудование возвращает текущее состояние этой переменной.
- Настройте элементы Trigger Button (см. изображение) по числу радиокнопок. В полях
Trigger Value 1
и 2 укажите одинаковые значения, соответствующие тем, что каждая кнопка должна отправлять управляемой переменной - Перетяните команду управления переменной на все радиокнопки. Выберите событие
Press
илиRelease
для отправки, обязательно поставьте галочкуAdd A Feedback Channel
для отображения статуса переменной
настроенная кнопка перейдет в State 2 только когда переменная примет значение, указанное в Trigger Value 1 и 2
вар. 2 Радиокнопки для управления переменными с возможностью получения обратной связи. Записывают значения вкл\выкл в разные переменные; оборудование возвращает текущее состояние этих переменных. Переменные не синхронизированы оборудованием автоматизации для работы в режиме радиокнопок (нужно выключать неактивные режимы на стороне iRidium)
- Настройте элементы Type:
Trigger Button
, Feedback:Channel
, укажитеTrigger Value 1
= неактивное,Trigger Value 2
= активное состояние переменной (например 0/1, 0/100) - Перетяните команды управления переменными на графические элементы. На примере первого элемента группы:
- Отправьте нули во все переменные, которые входят в группу радиокнопок, чтобы отключить текущий активный режим. Для этого в диалоге отправки команды выберите Action:
Send Number
- Добавьте задержку Delay(50) мс через редактор макросов события Press, чтобы дать оборудованию время на отключение активного режима
- Перетяните на элемент команду управления переменной, которая соответствует радиокнопке. Оставьте Action:
Send Token
. Value на событииPress
(или Release), обязательно поставьте галочкуAdd a Feedback Channel
- Отправьте нули во все переменные, которые входят в группу радиокнопок, чтобы отключить текущий активный режим. Для этого в диалоге отправки команды выберите Action:
Если режимы работы оборудования синхронизируются на стороне оборудования автоматизации (при включении одного из режимов остальные автоматически выключаются), вам не нужно отпрвлять нули в отключаемые переменные. Выполните только подпункт 2.3 настроек
Отображение состояния:
Графический элемент может отображать значение переменной, меняя свое состояние или текст:
ИЗМЕНИТЬ СОСТОЯНИЕ
1 Настройте графический элемент так, чтобы он отображал полученные значения:
Выберите в настройках General:
Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).
2 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value
Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.
Шаблон $V, добавленный в текст элемента, позволит вывести полученное значение в текст элемента.
ОТОБРАЗИТЬ В ТЕКСТЕ
1 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Text
Элемент может иметь любое число состояний и настройки. Значение будет выведено в текстовые поля всех состояний элемента.
Добавьте $V, в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value. Это позволит вывести полученное целое число и добавить к нему любой другой текст.
Существуют шаблоны для вывода дробных чисел и др.:
СПИСОК ШАБЛОНОВ
Шаблон | Функция | Шаблон | Функция |
---|---|---|---|
$V | целая часть полученного значения | $P | процента от максимального значения Уровня |
$F1 - 5 | значение с плавающей запятой. От 1 до 5 - число знаков после запятой |
$H | максимальное значение Уровня |
$S | номер выбранного состояния | $A | значение за вычетом минимального значения Уровня |
$R | размах Уровня (максимальное минус минимальное) | $L | минимальное значение Уровня |
$X | текущее значение в формате HEX | $$ | символ "доллар" |
команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME
Время и дата доступны для записи и чтения. Формат записи должен строго совпадать с заданным. Рекомендуется устанавливать время и дату средствами контроллера, а в приложении только отображать полученные данные.
Command:
Type | Value * | |
Time | 24d 20:31:23.647 | тип данных TIME |
Date | 1.1.1970 00:00:00 | тип данных DATE |
Time of Day | 24d 20:31:23.647 | тип данных TIME_OF_DAY (TOD) |
Date Time | 1.1.1970 00:00:00 | тип данных DATE_AND_TIME (DT) |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
* Value - укажите при перетягивании команды на графический элемент
Feedback:
Type | Value * | |
Time | 24d 20:31:23.647 | тип данных TIME |
Date | 1.1.1970 00:00:00 | тип данных DATE |
Time of Day | 24d 20:31:23.647 | тип данных TIME_OF_DAY (TOD) |
Date Time | 1.1.1970 00:00:00 | тип данных DATE_AND_TIME (DT) |
Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
Address | 0...n | номер регистра |
* Value - приходит в канал обратной связи, используйте для отображения на элементах
Управление:
BUTTON
Графический элемент из 1 или 2х состояний. Кнопка, в зависимости от настроек может быть фиксируемой и не фиксируемой. Каждое нажатие на кнопку инициирует отправку одних и тех же команд, заранее к ней привязанных.
1 Создайте переменную, куда нужно записать число или строку. Настройте ее, как показано в инструкции
2 Создайте кнопку, настройте ее следующим образом (cм. все настройки):
Type | Button |
---|---|
Feedback | Реакция кнопки на нажатия пользователя и на получение данных от оборудования
|
3 Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
Action | Send Number - записать в переменную число. Можно переключить на Send String для отпарвки ASCII строки |
---|---|
Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение
|
Value | Значение для записи в переменную. Кнопка отправляет всегда одно и то же, записанное в Value значение |
Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, если нужно, чтобы кнопка не только записала значение в переменную, но и изменила состояние при получении данных из этой же переменной. Полученное значение будет влиять на состояние кнопки (вкл/выкл) и может быть отображено в ее текстовом поле. |
4 Теперь переменная связана с кнопкой. Посмотреть все связи кнопки можно в OBJECT PROPERTIES > Programming
EDITBOX
Элемент для ввода данных с клавиатуры. Введенные данные остаются на элементе, откуда их можно "забрать" - отправить оборудованию или обработать в скрипте.
1 Создайте элемент, настройте его следующим образом (cм. все настройки):
Type | Edit Box |
---|---|
Feedback | Реакция на нажатие
|
2 Поле ввода можно связать с переменной напрямую или через скрипт
При нажатии на поле ввода, выполните команду открытия клавиатуры:
- Object Properties > Programming > Press > «Show Keyboard [keyboard_type]»
По событию Enter
, передайте данные из Editbox элементу или драйверу.
Пример работы:
- Press - открывается виртуальная клавиатура смартфона (планшета)
- Enter - поле ввода отправляет текст как команду драйверу; закрывает клавиатуру; очищает поле ввода.
Чтобы удалить ранее введенные данные, запишите в поле ввода пустую строку:
Отображение состояния:
Графический элемент может отображать значение переменной, меняя свое состояние или текст:
ИЗМЕНИТЬ СОСТОЯНИЕ
1 Настройте графический элемент так, чтобы он отображал полученные значения:
Выберите в настройках General:
Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).
2 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value
Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.
Шаблон $V, добавленный в текст элемента, позволит вывести полученное значение в текст элемента.
ОТОБРАЗИТЬ В ТЕКСТЕ
1 Привяжите канал (Feedback) оборудования к графическому элементу:
Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Text
Элемент может иметь любое число состояний и настройки. Значение будет выведено в текстовые поля всех состояний элемента.
Добавьте $V, в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value. Это позволит вывести полученное целое число и добавить к нему любой другой текст.
Существуют шаблоны для вывода дробных чисел и др.:
СПИСОК ШАБЛОНОВ
Шаблон | Функция | Шаблон | Функция |
---|---|---|---|
$V | целая часть полученного значения | $P | процента от максимального значения Уровня |
$F1 - 5 | значение с плавающей запятой. От 1 до 5 - число знаков после запятой |
$H | максимальное значение Уровня |
$S | номер выбранного состояния | $A | значение за вычетом минимального значения Уровня |
$R | размах Уровня (максимальное минус минимальное) | $L | минимальное значение Уровня |
$X | текущее значение в формате HEX | $$ | символ "доллар" |
команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
Эмулятор: проверка проекта
Эмулятор (Emulator) - приложение для проверки работы проекта в редакторе iRidium Studio.
Режимы работы Эмулятора настраиваем в Tools > Options > Emulator:
- Client Fullscreen - запуск в полноэкранном режиме
- Client Sound On - включить/выключить звук в приложении
- Show log at Emuator Start - автоматически открывать окно лога (иначе лог можно открыть по нажатию F4)
Горячие клавиши:
- F4 - открыть лог
- F5 - запустить Эмулятор
- F7 - открыть меню управления аккаунтом и проектами
- F8 - открыть системные настройки (введите пароль 2007)
Синхронизация с панелью управления
Если вы - интегратор, вы можете быстро запустить созданный интерфейс визуализации на панели управления - смартфоне, планшете или ПК. Установите приложение i3 pro и авторизуйтесь в нем с помощью вашего логина и пароля интегратора с сайта iRidium Mobile.
Используйте i3 pro для iOS, Android, Windows, Mac в тестовом режиме, загружая проекты через iRidium Transfer (возможность доступна только для интеграторов):
Коммерческое использование iRidium возможно толкьо при загрузке проектов визуализации с помощью облачного сервиса iRidium Cloud на сайте iRidium Mobile (см. инструкцию).
iRidium Cloud может настроить только зарегистрированный интегратор. После настройки, доступно приглашение пользователей к управлению объектом автоматизации.