iRidium Studio
Список документации на актуальную версию студии iRidium Studio 2019:
- Драйверы для профессиональных систем;
- Импорт данных в iRidium studio;
- Отправка команд из интерфейса i3 pro, отображение данных;
- Инструменты для создания собственных драйверов.
Редактор интерфейсов "iRidium Studio" включает инструменты для настройки команд и получения данных обратной связи от управляемого оборудования. Позволяет работать с системной информацией устройства, на котором запущен i3 pro и создавать внутренние переменные проекта, не связанные с реальным оборудованием.
Большинство операций по настройке оборудования и переменных проекта производится в "Project Device Panel".
Подробную информацию по работе с системами автоматизации и AV см. в разделе «Управление оборудованием».
В этом разделе справки представлена только общая информация.
Драйверы iRidium
Драйвер обеспечивает отправку и получение данных от оборудования, к которому подключен iRidium. Каждому устройству автоматизации соответствует свой драйвер, он обеспечивает поддержание соединения с устройством и корректный обмен данными.
Настройка драйверов проекта визуализации производится в Project Device Panel.
Device Panel – база данных, хранит все драйверы, устройства и команды, с помощью которых можно управлять оборудованием по TCP/IP, UDP, RS232, ИК, HTTP.
Project Device Panel – хранит драйверы, которые уже добавлены в проект iRidium, а также глобальные и системные переменные (Tokens).
Создание драйвера
создание вручную
Добавьте драйвер из Device Panel в Project Device Panel с помощью Drag&Drop (перетягиванием). Теперь драйвер можно настроить - указать Host, Port и др. параметры подключения к оборудованию.

У каждого устройства есть три типа каналов, сгруппированных по папкам в устройстве:
- Driver tokens - информация о работе драйвера
- Commands - список команд для отправки оборудованию
- Feedbacks - список каналов обратной связи для получения данных
Импорт из файла конфигурации
iRidium поддерживает импорт из файлов:
ETS Project (.pr3, *.pr4, *.pr5, *.knxproj) - импорт групповых адресов из ETS (KNX) Simpl project (.smw) - импорт джоинов Crestron Clipsal project (.xml) - импорт групп Clipsal iRidium Archive Project (.irpz) – импорт драйверов из проектов iRidium iRidium Server Project (.sirpz) – импорт драйвера iRidium Server из проекта iRidium Modbus CSV Files (.csv) - импорт регистров Modbus из csv таблицы
Поиск устройств в локальной сети
iRidium поддерживает сканирование локальной сети для обнаружения оборудования определенного типа. Сканирование позволяет быстро создать список устройств и команд для них:
*HDL-BUS Pro Net (UDP) – оборудование в системе HDL-BUS Pro *Lutron Net (UDP) – оборудование в системе Lutron *DuoTecno (TCP) – оборудование системе DuoTecno *Domintell (UDP) – оборудование в системе Domintell
Подключение к оборудованию
Верхний уровень дерева устройств, определяет адрес и тип устройства, которым нужно управлять.

Выберите драйвер в дереве устройств и перейдите ко вкладке Properties. Укажите настройки подключения к управляемому оборудованию:
- Name - имя управляемого устройства, произвольно
- Driver Type - тип драйвера, неизменен
- Connection - настройки подключения к оборудованию
Commands - команды оборудованию
Нажатие на кнопку или перемещение ползунка уровня передает значение оборудованию, элемент-дисплей отображает полученные данные.
Используйте Drag&Drop, чтобы связать оборудование с интерфейсом визуализации. Тип элемента определяет, какие команды с него можно отправлять.
Управление:
С помощью графических элементов вы можете записать в переменную выбранное значение:
Графический элемент из 1 или 2х состояний. Кнопка, в зависимости от настроек может быть фиксируемой и не фиксируемой. Каждое нажатие на кнопку инициирует отправку одних и тех же команд, заранее к ней привязанных.
-
Создайте переменную, куда нужно записать число или строку. Настройте ее, как показано в инструкции
-
Создайте кнопку, настройте ее следующим образом (cм. все настройки):
| Feedback | Реакция кнопки на нажатия пользователя и на получение данных от оборудования | *Momentary - кнопка отправляет значение, но не отображает обратную связь | *Channel - отправляет значение и отображает обратную связь | *None - визуально не реагирует на нажатие или получение обратной связи | *Invert Channel - отправляет значение и отображают обратную связь инверсно (false - включена, true - выключена) |
|---|
- Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
| Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение | * Press - отправить по нажатию на кнопку | * Release - отправить при отпускании кнопки | * Hold - отправлять в цикле по удержанию | * Move - не работает с кнопкой (Button) | Одновременно можно использовать несколько событий. Например, отправть [ 100 ] по нажатию и [ 0 ] по отпусканию. | |
|---|---|---|---|---|---|---|---|
| Value | Значение для записи в переменную. Кнопка отправляет всегда одно и то же, записанное в Value значение | ||||||
| Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, если нужно, чтобы кнопка не только записала значение в переменную, но и изменила состояние при получении данных из этой же переменной. Полученное значение будет влиять на состояние кнопки (вкл/выкл) и может быть отображено в ее текстовом поле. |
- Теперь переменная связана с кнопкой. Посмотреть все связи кнопки можно в
OBJECT PROPERTIES > Programming
Триггерное переключение с помощью элемента "Trigger Button" позволяет отправлять попеременно 2 произвольных значения, указанных в Trigger Value 1 и Trigger Value 2. При наличии обратной связи, триггер автоматически принимает соответствующее состояние и при нажатии отправляет значение, противоположное текущему. Триггер нельзя настроить на работу с 3 и более значениями.
-
Создайте переменную, которую нужно переключать между 2 значениями. Настройте ее, как показано в инструкции
-
Создайте кнопку, настройте ее следующим образом (cм. все настройки элемента):
| Feedback | Реакция на нажатия и получение данных от оборудования | *Channel - переключает значение и отображает обратную связь (другие не используются) |
|---|---|---|
| Trigger Value 1 / Trigger Value 2 | значения, которые нужно попеременно отправлять при нажатии на триггер, зависят от типа переменной |
- Перетащите переменную на триггер, в диалоге привязки переменной укажите:
| Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение | * Press - отправить по нажатию | * Release - отправить при отпускании | Одновременно можно использовать только одно событие для триггера | |
|---|---|---|---|---|---|
| Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы триггер знал свое состояние и менял его получении данных из переменной и при нажатии. |
- Теперь переменная связана с триггером. Посмотреть все связи можно в
OBJECT PROPERTIES > Programming
Нажатие на уровень или перемещение ползунка отправляет в управляемую переменную число, соответствующее текущему положению ползунка.
-
Создайте переменную, которую нужно регулировать. Настройте ее, как показано в инструкции
-
Создайте уровень, настройте его следующим образом (cм. все настройки):
| Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования | *Channel - отправляет значение и отображает обратную связь (ползунок перемещается при получении данных) |
|---|---|---|
| Min / Max | Пределы регулирования уровня: определяют диапазон значений, в котором перемещается ползунок | |
| Invert Range | Меняет местами нижнюю и верхнюю часть уровня, т.е. регулирование от 0 до 100 будет происходить не снизу вверх (при вертикальном уровне), а сверху вниз. |
- Перетащите переменную на уровень, в диалоге привязки переменной укажите:
| Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано указанное значение | * Press - отправить Value по нажатию | * Release - отправить Value при отпускании | * Move - отправлять все промежуточные значения Value при перемещении ползунка. * добавляйте команду Delay (100) перед командой на событии Move, чтобы меньше нагружать оборудование (с командой Delay, Move будет срабатывать не чаще, чем раз в 100 мс) | Можно использовать все три события одновременно. | |
|---|---|---|---|---|---|---|
| Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы ползунок уровня перемещался в соответствии с актуальным состоянием переменной |
- Теперь переменная связана с уровнем. Посмотреть все связи можно в
OBJECT PROPERTIES > Programming
Графический элемент из 2х состояний. При каждом нажатии на такую кнопку, рассчитывается значение, большее текущего на "Up/Down Value", но не превышающее "Max/Min Value". Рассчитанное значение отправляется переменной: таким образом реализуется пошаговое приращение переменной. Для работы с элементом нужна обратная связь от переменной в реальном времени.
-
Создайте переменную, которую нужно инкрементировать. Настройте ее, как показано в инструкции
-
Создайте уровень, настройте его следующим образом (cм. все настройки):
Editor_window_Object_Properties_General_Up_Down.png
| Feedback | Реакция уровня на нажатия пользователя и на получение данных от оборудования | *Momentary - кнопка должна визуально нажиматься сразу же, она не отображает обратную связь визуально |
|---|---|---|
| Up/Down Value | шаг инкрементирования (может быть больше либо меньше нуля) | |
| Min/Max Value | предел инкрементирования (минимальный предел для отрицательного шага, максимальный для положительного) | |
| Hold Value | шаг инкрементирования при срабатывании события Hold. Команду управления оборудованием можно одновременно привязать на Press и Hold, тогда значение будет прирастать при удержании кнопки | |
| Hold Time | время удержания кнопки, чтобы сработало событие Hold | |
| Repeat Time | частота повторения событий On Hold |
- Перетащите переменную на кнопку, в диалоге привязки переменной укажите:
| Event for Action | Событие интерфейса, связанное с кнопкой. При возникновении события, в переменную будет записано рассчитанное значение инкремента | * Press - отправить по нажатию | * Hold - при удержании кнопки инкрементировать значение с указанной периодичностью | Можно использовать два события одновременно. | |
|---|---|---|---|---|---|
| Add a feedback channel | (Create a feedback channel) Поставьте эту галочку, т.к. нужно, чтобы инкремент рассчитывался в соответствии с актуальным состоянием переменной |
- Теперь переменная связана с уровнем. Посмотреть все связи можно в
OBJECT PROPERTIES > Programming
Радиокнопка (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)
3. Настройте элементы Type: Trigger Button, Feedback: Channel, укажите Trigger Value 1 = неактивное, Trigger Value 2 = активное состояние переменной (например 0/1, 0/100)
4. Перетяните команды управления переменными на графические элементы. На примере первого элемента группы:
Отправьте нули во все переменные, которые входят в группу радиокнопок, чтобы отключить текущий активный режим. Для этого в диалоге отправки команды выберите Action: Send Number
- Добавьте задержку Delay(50) мс через редактор макросов события Press, чтобы дать оборудованию время на отключение активного режима
Перетяните на элемент команду управления переменной, которая соответствует радиокнопке. Оставьте Action: Send Token. Value на событии Press (или Release), обязательно поставьте галочку Add a Feedback Channel

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

Выберите в настройках General:
Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).
Этот тип обратной связи позволяет элементу обрабатывать данные, полученные от переменных
- Привяжите канал (Feedback) оборудования к графическому элементу:

Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value
Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.
Шаблон $V , добавленный в текст элемента, позволит вывести полученное значение в текст элемента.
- Привяжите канал (Feedback) оборудования к графическому элементу:

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

Добавьте $V , в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value . Это позволит вывести полученное целое число и добавить к нему любой другой текст.
Существуют шаблоны для вывода дробных чисел и др.:
| $V | целая часть полученного значения |
| $F1 ... $F5 | значение с плавающей точкой. От 1 до 5 - это число знаков после точки |
| $F,1 ... $F,5 | значение с плавающей запятой. От 1 до 5 - это число знаков после запятой |
| $S | номер выбранного состояния |
| $X | значение в формате HEX |
| $$ | символ "доллар" |
| $P | (только уровни) процент от максимального значения Уровня |
| $H | (только уровни) максимальное значение Уровня |
| $A | (только уровни) текущее значение минус минимальное значение Уровня |
| $L | (только уровни) минимальное значение Уровня |
| $R | (только уровни) размах Уровня: максимальное минус минимальное |
Шаблон вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
Feedbacks - обратная связь
Канал обратной привяжите к графическому элементу с указанием, на какой параметр графического элемента он должен влиять:
- In Value - менять состояние графического элемента, переключая его из неактивного в активное или перемещая ползунок уровня
- In Text - заменять текст, который был на элементе по умолчанию
- More... - выберите любой параметр элемента, на который нужно влиять, например, прозрачность
Графический элемент может отображать значение переменной, меняя свое состояние или текст:
- Настройте графический элемент так, чтобы он отображал полученные значения:

Выберите в настройках General:
Feedback: Channel (если 0 = false) или
Feedback: Invert Channel (если 0 = true).
Этот тип обратной связи позволяет элементу обрабатывать данные, полученные от переменных
- Привяжите канал (Feedback) оборудования к графическому элементу:

Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value
Для корректной работы элемент должен иметь 2 состояния. Первое состояние соответствует значению 0, второе - любому значению, отличному от нуля.
Шаблон $V , добавленный в текст элемента, позволит вывести полученное значение в текст элемента.
- Привяжите канал (Feedback) оборудования к графическому элементу:

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

Добавьте $V , в текст элемента. Перетяните канал обратной связи или переменную на элемент, в диалоге привязки выберите In Value . Это позволит вывести полученное целое число и добавить к нему любой другой текст.
Существуют шаблоны для вывода дробных чисел и др.:
| $V | целая часть полученного значения |
| $F1 ... $F5 | значение с плавающей точкой. От 1 до 5 - это число знаков после точки |
| $F,1 ... $F,5 | значение с плавающей запятой. От 1 до 5 - это число знаков после запятой |
| $S | номер выбранного состояния |
| $X | значение в формате HEX |
| $$ | символ "доллар" |
| $P | (только уровни) процент от максимального значения Уровня |
| $H | (только уровни) максимальное значение Уровня |
| $A | (только уровни) текущее значение минус минимальное значение Уровня |
| $L | (только уровни) минимальное значение Уровня |
| $R | (только уровни) размах Уровня: максимальное минус минимальное |
Шаблон вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
- Максимальное значение, которое можно записать в канал обратной связи, 128 кбайт
Шаблоны отображения данных
| $V | целая часть полученного значения |
| $F1 ... $F5 | значение с плавающей точкой. От 1 до 5 - это число знаков после точки |
| $F,1 ... $F,5 | значение с плавающей запятой. От 1 до 5 - это число знаков после запятой |
| $S | номер выбранного состояния |
| $X | значение в формате HEX |
| $$ | символ "доллар" |
| $P | (только уровни) процент от максимального значения Уровня |
| $H | (только уровни) максимальное значение Уровня |
| $A | (только уровни) текущее значение минус минимальное значение Уровня |
| $L | (только уровни) минимальное значение Уровня |
| $R | (только уровни) размах Уровня: максимальное минус минимальное |
Шаблон вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)
Макрокоманды
К одному графическому элементу можно привязать несколько команд, они будут отправлены оборудованию по порядку, сверху вниз, без задержки. Канал обратной связи можно привязать только 1, иначе входящие данные будут обработаны некорректно.
Чтобы привязать несколько команд к 1 графическому элементу, перетяните их, одну за другой, на этот элемент. Выберите подходящие события (Press, Release, Move) в диалоге привязки:

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

Уведомления о событиях в системе
Уведомление - это сообщение, звук или действие, информирующее пользователя об изменениях в системе. Уведомления работают, когда приложение "i2 Control" запущено и развернуто на панели управления. Они настраиваются с помощью iRidium Script, и могут выполнять любые действия, доступные в iRidium Script.
На данный момент, уведомления для фонового режима (свернутого или закрытого приложения) не поддерживаются.
Для уведомления пользователя о важных и потенциально опасных ситуациях, система уведомлений iRidium НЕ ДОЛЖНА использоваться в качестве основной! Уведомления iRidium могут быть использованы в качестве дублирующей системы к СМС, e-mail, уведомлениям службы охраны (эксплуатации) объекта или др.
В качестве уведомления можно:
- показать текстовое сообщение на графическом элементе;
- показать окно или страницу с уведомлением
- воспроизвести звуковой сигнал;
- автоматически вызвать команду для управляемой системы (включить свет, выключить радио при звонке в домофон,...)
С помощью iRidium Script вы можете сформировать список любых условий и действий, которые нужно выполнить при возникновении этих условий.
Примеры использования:
- показать диалоговое окно видео-домофона при получении входящего вызова;
- показать уведомление, когда сработал датчик протечки.

Настройка уведомлений:
- Создайте проект визуализации, настройте его пользовательский интерфейс и работу с драйверами (согласно инструкции для своего оборудования)
- Создайте файл скрипта
- Сформируйте в файле скрипта обработчики событий драйвера, при возникновении которых должны появляться уведомления
Уведомить о подключении к оборудованию (Online)
Событие : :успешная установка соединения с оборудованием ("My Driver"). Оборудование - любой драйвер проекта визуализации.
Действие : :вывести на графический элемент ("Item 1"), находящийся на странице ("Page 1"), текстовую информацию о событии (например, " System Online") и время возникновения события в 24-часовом формате ("System.Time.24"). Изменить цвет выводимого текста на зеленый.
Пример: :
/* * * * * online notification ****/
IR.AddListener(IR.EVENT_ONLINE, IR.GetDevice("My Driver"), function()
{
// notification
IR.GetItem("Page 1").GetItem("Item 1").Text = IR.GetVariable("System.Time.24") + " Online";
// text color
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).TextColor = 0x00FF00FF;
});
Уведомить об отключении от оборудования (Offline)
Событие : :отключение от оборудования ("My Driver"). Оборудование - любой драйвер проекта визуализации.
Действие : :вывести на графический элемент ("Item 1"), находящийся на странице ("Page 1"), текстовую информацию о событии (например, " System Offline") и время возникновения события в 24-часовом формате ("System.Time.24"). Изменить цвет выводимого текста на красный.
Пример :
/* * * * * offline notification ****/
IR.AddListener(IR.EVENT_OFFLINE, IR.GetDevice("My Driver"), function()
{
// notification
IR.GetItem("Page 1").GetItem("Item 1").Text = IR.GetVariable("System.Time.24") + " Offline";
// text color
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).TextColor = 0xFF0000FF;
});
Автоматически открыть попап при активации канала
Событие : :получение значения (1 и 2) из канала ("Channel 10") драйвера ("My Driver"). Оборудование - любой драйвер проекта визуализации.
Действие :
-
При получении 1 - открыть всплывающее окно ("Popup 1"), вывести в текстовое поле ("Item_Display") этого окна информацию о событии (например, " Lamp in Garden broken") и время возникновения события в 24-часовом формате ("System.Time.24").
-
При получении 2 - открыть всплывающее окно ("Popup 1"), вывести в текстовое поле ("Item Display") этого окна информацию о событии (например, " Lamp in Garden Response Failed. Please Check") и время возникновения события в 24-часовом формате ("System.Time.24").
Пример: :
/* * * * * event notification (Tag Change) ****/
<!--T:54-->
var old_value1 = -1; // do not show notification if the previous state is the same
var old_value2 = -1;
<!--T:55-->
IR.AddListener(IR.EVENT_START, 0, function()
{
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("My Driver"), function(name, value)
{
if (name == 'Channel 10' && value == 1 && value != old_value1) // Check the Value: 1 in "Channel 10"
{
IR.ShowPopup("Notify_danger");
IR.GetItem("Popup 1").GetItem("Item_Display").Text = IR.GetVariable("System.Time.24") + " Lamp in Garden Broken";
old_value1 = value;
}
else if (name == 'Channel 10' && value == 2 && value != old_value2) // Check the feedback "Channel 10'"
{
IR.ShowPopup("Notify_important");
IR.GetItem("Popup 1").GetItem("Item_Display").Text = IR.GetVariable("System.Time.24") + " Lamp in Garden Failed";
old_value2 = value;
}
});
});
Воспроизвести звук при активации канала
Событие : :получение значения (1) из канала ("Channel 11") драйвера ("My Driver"). Оборудование - любой драйвер проекта визуализации.
Действие :
- При получении 1 воспроизвести звук уведомления и вывести в текстовое поле графического элемент ("Item 5") на странице ("Page 1") информацию о событии (например, " Incoming Call") и время возникновения события в 24-часовом формате ("System.Time.24").
Пример :
/* * * * * event notification (Tag Change) ****/
IR.AddListener(IR.EVENT_START, 0, function()
{
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("My Driver"), function(name, value)
{
if (name == 'Channel 11' && value == 1) // Check the Value = 1 in Feedback "Channel 11"
{
IR.PlaySound('BEEP1.WAV',1,70); // Play Sound ('name',slot,volume)
IR.GetItem("Page 1").GetItem("Item 5").Text = IR.GetVariable("System.Time.24") + " Incoming Call";
}
});
});
скачать:
пример уведомлений для KNX: простые уведомления, центр уведомлений
Переменные iRidium (Tokens)
Особый тип переменных в дереве устройств проекта iRidium. Различают 3 вида токенов:
-
System Tokens - системные переменные. В основном, работают только на чтение, хотя некоторые можно записать. Позволяют получать параметры панели урпавления, где работает i3 pro: системное время, заряд батареи, состояние сети и др.
-
Project Tokens - переменные проекта. Работают на чтение и запись. В токен проекта можно записать число, строку или массив, затем использовать его в проекте. Токены не стираются при перезапуске проекта, если чекбокс "Clear Token" в Project Properties не активен.
-
Driver Tokens - переменные драйвера. Работают только на чтение. Позволяют получать параметры драйвера: статус подключения, хост и порт подключения и др.
System Tokens - системные токены
Системные токены находятся в Project Device Panel. Возвращают параметры устройства, на котором запущен проект. Некоторые из них доступны на запись, остальные - только на чтение.
Токен можно привязать к графическому элементу.
Список системных токенов, их назначение и использование см. в Tokens API
Project Tokens - токены проекта
Переменная проекта хранит данные, которые доступны для записи и чтения. Записать и прочитать данные может графический элемент, драйвер или скрипт.
- Переменные хранятся в Дереве устройств проекта (Project Device Panel)
- В переменную можно записать число или строку (DEC или ASCII).
- Переменные можно объявлять, удалять, делать копии, сортировать и группировать по папкам.
- Данные в переменных можно сохранять (или не сохранять) после закрытия приложения iRidium.
- Записать данные в переменную можно командой с элемента, командой от драйвера или командой из iRidium Script
Записать данные в Project Tokens можно с помощью группы макросов Send to Token в Macros Editor графического элемента:

- Send Number - Записать в токен десятичное число (формат DEC)
- Send Text - Записать в токен текст (формат ASCII)
- Send Token - Записать в токен данные, извлеченные из параметров графического элемента (Value, координаты, размеры, текст и т.д. – переменные значения, определяемые текущими свойствами объекта)
Читать данные из Project Tokens можно натащив Token на графический элемент:
- In Text - запись значения токена в свойство элемента Text . Данные отобразятся на элементе в независимости от типа (строка или число).
- In Value - запись значения токена в свойство элемента Value . В зависимости от того какое число содержит глобальная переменная, именно в такое состояние (отсчет состояний начинается с нуля) перейдет графический элемент. В этом случае глобальная переменная обязательно должна содержать в себе число. Если в свойство Text графического элемента записан шаблон отображения значения $V - то значение глобальной переменной также отобразится на элементе.
- More - запись значения токена в произвольное свойство графического элемента выбранное пользователем. В этом случае глобальная переменная должна содержать в себе число.
К примеру, значение токена проекта Menu нужно записать в свойство графического элемента Opacity:
Токены проекта могут хранить данные после завершения приложения iRidium .
Если требуется что бы токены проекта очищали свои значения после завершения приложения - перейдите в Project / Project Properites / System и поставьте галочку у параметра Clear Token .
Типичные задачи:
- связь между кнопками без использования драйвера (оборудования) или скрипта
- создание радио-кнопок (меню Radio-Buttons)
- демо-режим работы проекта (команды и обратные связи, не привязанные к реальному оборудованию)
- сохранение полезных данных между перезапусками проекта
Пример создания навигационного меню с помощью токенов проекта (взаимодействие кнопок будет происходить по принципу радио-кнопок: в единицу времени активен только один из связанных элементов):
-
Создайте три графических элемента и задайте им следующие параметры в панели Свойства (Object Properties) во вкладке Programming :
-
Создайте токен Menu и перенесите его на графические элементы выбрав связь In Value .
-
Для каждого графического элемента создайте макрос Send Number записывавший порядковый номером графического элемента (1, 2, 3) в глобальную переменную Menu.

скачать:
Пример использования Токенов, Radio Buttons
Driver tokens - токены драйвера
Отображают статус подключения к оборудованию. Доступны только на чтение. Перетащите токен на графический элемент, как канал обратной связи - значение токена можно вывести в текстовое поле или изменить с его помощью состояние элемента.

- Online - состояние подключения к управляемой системе (Online/Offline = 1/0)
- Status - статус подключения к системе (Offline/Connecting/Online/Waiting = 0...3)
- Host - доменное имя удаленной системы
- HostPort - порт на удаленной системе, к которому подключается i3 pro
- IP - IP-адрес управляющей панели
- HostIP - IP-адрес удаленной системы, к которой подключен i3 pro
- Port - локальный порт клиента, через который осуществляется связь с удаленным устройством