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

Other languages:

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


Описание

iRidium для EPSNET - это набор инструментов, позволяющий создать интерфейс для управления домом или офисом на базе оборудования Teco (Tecomat) или iNELS с поддержкой протокола EPSNET.


Лицензирование iRidium для EPSNET (подробно):

  • Deivice License (EPSNET) - лицензия на одну панель управления позволяет управлять любым совместимым контроллером


Подключение

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


Способы подключения к ПЛК

Разные способы связи с обеспечивают локальную работу и работу через Интернет:

Tecomat HowItWorks.png

1. Локальное соединение

Tecomat Inet scheme.png

2. Интернет соединение


1. Локальное соединение работает только в локальной сети объекта автоматизации. Использует протокол UDP. Соединение устанавливается между панелью управления и контроллером через сетевой маршрутизатор.


2. Интернет соединение позволяет подключиться к контроллеру через Интернет. Для работы в этом режиме, маршрутизатор сети должен иметь статический IP адрес или использовать службу DDNS.


Добавление драйвера EPSNET в iRidium

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

Teco connection.png
Перетяните выбранный драйвер из DEVICE BASE в PROJECT DEVICE PANEL.


  • Host - IP-адрес контроллера
  • Port - UDP порт управления, 61682
  • Update Time (мс) - частота обновления данных


Команды для драйвера EPSNET удобно формировать на основе файла экспорта в формате *.PUB, который формируется в программах Mosaic (TECO) и IDM (iNELS).

1(а). Подготовьте Mosaic:

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

MosaicPUBexport.png

1(б). Подготовьте IDM iNELS:

Убедитесь, что программа IDM подключена к контроллеру, иначе, экспорт невозможен.

INelsExport1.png

2. Выберите переменные для экспорта в управляющей программе устройства: "Unit/Device Manager" (Менеджер Модуля/Устройства), обязательно указывайте ИМЕНА экспортируемых переменных:

INelsExport2.png
INelsExport3.png

3. Откройте "Project Setup" (Общие настройки) и укажите путь сохранения файла экспорта. Вкладка может называться '...Of SCADA' или 'RELI':

INelsExport4.png

4. Чтобы *.pub файл экспортировался на ПК, нужно заново загрузить конфигурацию на контроллер:

INelsExport5.png

5. Откройте *.pub файл в текстовом редакторе, он содержит список адресов, в формате, поддерживаемом iRidium:

INelsExport6.png


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:

EPSNET register.png
  • 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) (правая кнопка: "Сохранить объект как..."), добавьте шаблон в редактор скриптов Icon Scripts.png клавишей (+) 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 и добавьте ее двойным кликом. Выберите имя функции, которую вызовет кнопка:

Script call internal-external.png

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


Управление регистрами

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

SendValue.png

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


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м. все настройки):

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

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


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м. все настройки):

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 освещение

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)


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м. все настройки):

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

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




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м. все настройки):

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

EDITBOX

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


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

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

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

Editor window Object Properties Programming Edit Box show.png

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

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


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


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

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


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

Editor window Object Properties Programming Edit Box hide.png
Editor window Object Properties Programming Edit Box Clean.png
С помощью JavaScript можно формировать значение даты и времени на основе текущего времени панели управления

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

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

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

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

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


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

Эмулятор (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 может настроить только зарегистрированный интегратор. После настройки, доступно приглашение пользователей к управлению объектом автоматизации.