Материал из for iRidium developers
Перейти к: навигация, поиск
Other languages:
English • ‎русский

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


Описание

Драйвер iRidium для сетевых адаптеров Global Cache позволяют отправлять ИК и RS232 команды, полученные от панели управления по TCP/IP. Также в линейке адаптеров есть модули сухих контактов и сенсоры.

С помощью Global Cache можно управлять любым оборудованием, оснащенным ИК приемником или управляющим СОМ-портом: DVD/BluRay плейер, коммутатор, матрица, предусилитель и др.

Данные, полученные с СОМ-порта управляемого оборудования, можно обработать с помощью JavaScript в iRidium.


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

  • Deivice License (Global Cache) - лицензия на одну панель управления. Позволяет управлять любым Global Cache
  • Site License (Global Cache) - лицензия с привязкой к Global Cache iTach или GC-100-XX. Ее можно загрузить сразу на несколько панелей управления. Лицензия работает, только когда есть связь с лицензированным Global Cache.
    • Global Cache iTach поддерживает не более 4 одновременно подключенных панелей управления. Если панелей больше 4, обязательна установка дополнительного Global Cache, на который также приобретается Site лицензия. Используйте iRidium Server, чтобы полностью снять ограничения по числу подключенных панелей управления.
    • Global Cache GC-100-XX поддерживает не более 1 одновременно подключенной панели управления. Используйте iRidium Server, чтобы полностью снять ограничения по числу подключенных панелей управления.



Подключение

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


Способы подключения к Global Cache

Оборудование Global Cache включает модули с Ethernet, Wi-Fi, Ethernet + PoE. Общая схема подключения:

AV HowItWorks.png


Линейка поддерживаемого оборудования:

GC-Image-Ico.png

GC-100-06, GC-100-12, GC-100-18, GC-100-18R

  • Ethernet
  • СОМ-порт (1 или 2 шт.)
  • независимый ИК выход / вход датчика (3 или 6 шт.)
  • выход сухих контактов (3 шт.)
GC-iTach-WF-Image.png
GC-iTach-IP-Image.png

iTach WiFi to IR / iTach TCP/IP to IR

  • Wi-Fi или Ethernet
  • независимый ИК выход / вход датчика (3 шт.)
GC-iTach-WF232-Image.png
GC-iTach-IP232-Image.png

iTach WiFi to SL / iTach TCP/IP to SL

  • Wi-Fi или Ethernet
  • СОМ-порт (1 шт.)
GC-iTach-WFRelay-Image.png
GC-iTach-IPRelay-Image.png

iTach WiFi to СС / iTach IP to СС

  • Wi-Fi или Ethernet
  • выход сухих контактов (3 шт.)



Настройка Global Cache

С помощью веб-интерфейса преобразователя настройте:

  1. сетевую конфигурацию Global Cache. Необходимо задать статический IP адрес
  2. режим работы ИК выходов (если имеются). Выход 3,5мм может работать в режиме ИК эммиттера, ИК бластера и сенсора
  3. параметры СОМ-порта, в соответствии с настройками управляемого оборудования


См. видео-уроки по настройке аппаратной части Global Cache


Подключение к Global Cache

Добавьте драйвер Global Cache в PROJECT DEVICE PANEL из DEVICE BASE

GC-AddDriver.png

Параметры подключения:

  • Host - IP адрес Global Cache
  • Port - основной порт (4998). Через него идут системные данные, ИК команды, данные сенсоров и команды реле
  • Module Type - модель преобразователя
  • Send Mode - режим подключения к преобразователю
    • Always Connected - постоянно подключен
    • Connect when Sending - подключен только в момент отправки команды. Не работает обратная связь, но команды можно отправлять с разных устройств, не занимая соединение
  • Confirm IR - отправлять следующую ИК команду только после отправки предыдущей
  • Script Mode - определяет, куда отправлять команды
    • Direct and Script - сразу отправлять команду GC и дублировать ее в скрипт
    • Script Only - отправлять команду только в скрипт (преобразователю, при нажатии на кнопку, команда не отправится)
  • Ping Time - (мс) периодически проверять, есть ли связь с GC. 0 - пинг выключен
  • Disable Queue - выключить очередь отправки команд в iRidium, чтобы данные не копились при проблемах отправки. 0 - false, 1 - true
  • Send Command Attempts - сколько раз пытаться отправить команду, если не было подтверждения доставки, 0 - не повторять отправку
  • Wait for Connection - (мс) время ожидания связи с GC (иначе переподключаемся). Поставьте
  • Wait for Data - (мс) время ожидания ответа от оборудования (иначе повторяем запрос и проверяем связь). Поставьте 0, если нужно, чтобы драйвер не отключался от оборудования при отсутствии данных
  • Control Mode - режим работы устройства (только для iTach)
    • Standart Unit - управление по ИК с помощью ИК эмиттеров
    • Single LED / Dual LED - управление LED освещением через разъемы 3,5мм и контроллер освещения (см. iTach API)


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

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


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

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

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


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


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

function Internal_1() {
IR.GetDevice("Global Cache").SetParameters({Host: "192.168.0.100", Port: 4998, SendMode: IR.ALWAYS_CONNECTED, ScriptMode: IR.DIRECT_AND_SCRIPT, IrConfirm: 0, SerialPort1: 4999, SerialPort2: 5000});
}
function External_1() {
IR.GetDevice("Global Cache").SetParameters({Host: "215.110.10.10", Port: 4998, SendMode: IR.ALWAYS_CONNECTED, ScriptMode: IR.DIRECT_AND_SCRIPT, IrConfirm: 0, SerialPort1: 4999, SerialPort2: 5000});
}

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


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

Script call internal-external.png

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


Настройка выходов и команд

В зависимости от типа модуля Global Cache, вам доступен разный набор выходов:


IR output

Выход для отправки ИК команд с помощью ИК эмиттеров и ИК бластеров.

GC-DriverOutput.png
Commandsettings GC.png

Настройка ИК выхода:

  • Mode - 3,5мм выход Global Cache может работать в одном из режимов:
    • IR Output - режим отправки ИК команд чеерз ИК-эмиттер или ИК-бластер
    • Sensor Notify - режим сенсора
  • Frequency (Гц) - частота отправки ИК команд с выбранного ИК выхода. Ее можно изменить для всего выхода, для папки с командами или для отдельной команды.

Настройка ИК команды:

  • Delay (мс) - задержка перед отправкой команды, отсчитывается от предыдущей команды на выходе
  • Change Frequency - позволяет выбрать частоту отправки команды: по умолчанию или уникальную для этой команды
    • Frequency (Гц) - частота отправки команды, если Change Frequency: True
  • Repeat - сколько раз повторить ИК команду (повторение выполняется на стороне Global Cache)
  • Offset - используется только если Repeat > 1 для ИК команд с преамбулой. Преамбула - это часть команды, которую не нужно повторять несколько раз. Offset - это длина преамбулы, которая измеряется в парах пульс-пауза, составляющих ИК команду. Это всегда нечетное число. Подробнее см. Global Cache API
  • Data - ИК команда в формате Global Cache. Если команда добавлена из базы Global Cache, поле Data скрыто


Настройка обратной связи:

  • Обратная связь от ИК выходов не поддерживается


Sensor Notify

Выход Sensor Notify доступен, если выбрать "Mode: Sensor Notify" в настройках IR output модуля Global Cache. К нему можно подключить сенсоры GC.

GC SensNotifySettings.png

Настройка выхода. Выберите ИК выход и смените параметр Mode:

  • Mode: Sensor Notify - использовать выход в режиме сенсора


Настройка обратной связи о состоянии сенсора:

  • Use Timer - принудительно запрашивать состояние сенсора с интервалом, указанным в Timer (ms)
  • Timer (ms) - как часто запрашивать состояние сенсора


Serial

Выход для отправки команд на COM-порт оборудования (RS232)

GC COMOutSettings.png
GC COMDataSettings.png

Настройка RS232 выхода:

  • Port - TCP порт для передачи команд, которые должны быть отправлены с Global Cache через RS232 выход. Командыотправляются на разные ТСР порты, чтобы GC мог определить СОМ-порт их назначения:
    • 4999 - Serial port 1 модуля GC-100-ХХ и iTach
    • 5000 - Serial port 2 модуля GC-100-ХХ

Настройка RS232 команды:

  • Data - строка данных, которую нужно отправить через СОМ-порт. Строку данных можно передать в формате HEX, ASCII, DEC. Синтаксис оформления данных описан далее


Настройка обратной связи от RS232:

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


Relay

Сухой контакт (реле), позволяющий замыкать и размыкать управляющие контакты оборудования.

GC ССCommandSettings.png

Настройка выхода:

  • не требуется


Настройка команды:

  • не требуется. Чтобы замкнуть и разомкнуть реле, нужно с помощью команды "Relay 1 (2)" отправить число 1 и 0 на выход модуля. Команду можно отправить с помощью обычной кнопки или триггера.


Настройка обратной связи о состоянии реле:

  • Use Timer - принудительно запрашивать состояние реле с интервалом, указанным в Timer (ms)
  • Timer (ms) - как часто запрашивать состояние реле


Создание команд

Правила оформления ИК команд и данных для отправки по RS232. Управление реле.


IR output

Global Cache нужно отправлять ИК команды, преобразованные в формат, представляющий их как последовательность пульсов и пауз инфракрасного сигнала. База ИК команд, встроенная в редактор iRidium Studio, хранит заранее преобразованные команды, поэтому ее легко использовать.

Преобразовать ИК команды, которых нет в базе данных, из формата НЕХ (CCF) в Global Cache можно с помощью программы iConvert.

ИК команды можно "выучить", считав их с ИК пульта прямо в редакторе iRidium Studio или с помощью программы iLearn. Полученные таким образом ИК команды будут автоматически преобразованы в нужный формат.


Где взять ИК команды:

  • Команды в формате Global Cache хранятся в базе ИК команд, в iRidium Studio
  • Команды в HEX (CCF) предоставляет производитель оборудования, их можно найти на спец. ресурсах
  • GC-IRL IR Learner позволяет выучить ИК команды с оригинального пульта



База ИК команд Global Cache

Онлайн-база ИК команд Global Cache не работает без подключения к интернету. Эти команды сохранены в специальный формат ИК команд Global Cache и не будут работать с другими преобразователями TCP/IP-to-IR.

GCDB 1.png
GCD 11.png

Нажмите '"Обновить"', чтобы загрузить список команд. Перетащите папку с командами на ИК выход Global Cache в вашем проекте. Команды не требуют настройки.

  • Brands - производители оборудования
  • Device Types - категории оборудования у производителя
  • Codesets & Commands - модели оборудования и наборы ИК команд, которые могут ими управлять



Обучение через GC-IRL IR Learner

GC-IRL IR Learner - это устройство считыватель ИК команд для для Global Cache. Его можно подключить к СОМ-порту вашего ПК или СОМ-порту Global Cache GC-100-06(12,18,18R). Через iTach IP2SL(WF2SL) обучение с помощью GC-IRL не поддерживается

Global Cache iTach IP2IR и WF2IR оснащены встроенными считывателями ИК команд. Излучатель ИК пульта нужно направлять в отверстие для перезагрузки модуля. Считыватель преобразует команду в формат Global Cache и передаст на ПК.


Learning Presets.png
  1. Поставьте курсор на ИК выход Global Cache в iRidium Studio
  2. Нажмите "(+) > добавить папку" ИК команд
  3. Нажмите "(+) > добавить команду" несколько раз, по числу кнопок считываемого пульта
  4. Назовите добавленные команды в соответствии с назначением кнопок
  5. Встаньте на первую команду в папке и нажмите кнопку "Learning..."
  6. Выберите тип устройства (Learner Type): GC-IRL > GC-IRL IR Learner, GC iTach > iTach IP2IR / WF2IR
  7. Выберите интерфейс обучения и настройки исходя из подключения считывателя:
    1. TCP/IP, Port: 4998 - iTach IP2IR / WF2IR
    2. TCP/IP, Port: 4999 - СОМ1 GC-100-(06,12,18,18R)
    3. TCP/IP, Port: 5000 - СОМ2 GC-100-(12,18,18R)
    4. RS232 - если GC-IRL подключен к СОМ-порту вашего ПК
  8. Нажмите клавишу Learn чтобы запустить режим обучения
  9. Направьте излучатель ИК пульта на считыватель GC-IRL и нажимайте на кнопку, которая соответствует текущему имени команды на экране. Если обучение успешно, имя команды будет меняться на следующее автоматически.


Learning Presets LearningProcess.png

Если при нажатии кнопки на ИК пульте, имя команды в окне не поменялось на следующее - обучение не идет! Чтобы выяснить причину проблемы, используйте программу iLearn от Global Cache. Она покажет ошибки при подключении. Проверьте связь с преобразователем.


Конвертация HEX (CCF)

Документация к AV оборудованию содержит ИК команды для этого оборудования в формате HEX (CCF), их нужно конвертировать в формат Global Cache и добавить в свою базу ИК команд.

Конвертировать команды можно с помощью программы iConvert. Она обеспечивает конвертацию ИК команд между форматами Global Cache и HEX (CCF). Рассмотрим пример:


Пример переноса ИК команд к телевизору Panasonic в базу ИК команд Global Cache:

Имеется документация Panasonic Plasma TV Remote control (IR). Исходная ИК команда HEX (CCF):

POWER ON
0000 0071 0000 0032 0080 003F 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010
0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010
0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010
0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030
0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010
0030 0010 0030 0010 0010 0010 0030 0010 0A98

Конвертируем её с помощью iConvert:

IConvert.png

Мы получили команду в формате Global Cache, но она еще не готова к использованию. Нужно убрать заголовок ИК команды, который редактор iRidium Studio добавит автоматически:

sendir,<mod-addr>:<conn-
addr>,1,37000,<repeatcount>,1,128,63,16,16,16,48,16,16,256,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,48,16,48,16,16,16,16,16,16,16,
48,16,48,16,48,16,48,16,48,16,16,16,48,16,2712
  • Красным выделена часть, которую НЕ нужно копировать в iRidium. Это параметры до 6й запятой
  • Синим выделена часть, которую нужно скопировать в iRidium. Это тело команды после 6й запятой
  • Сохраните параметр после третьей запятой, 37000 - требуемая частота отправки команды (Гц). Частоту отправки нужно указать в настройках ИК выхода Global Cache. Если частота отличается не более чем на 100 Гц, можно привести её к общему значению для всех команд на выходе


Сохраните отмеченную синим цветом часть ИК команды в базу ИК команд (как при работе с GC-IRL)

AV IR Commands Adding Manually.png

Добавьте ИК устройство из базы в проект, и укажите в его настройках, поле Frequency, частоту, которую скопировали из программы iConvert.


Добавление команд в Device Base

В общей базе "DEVICE BASE" вы можете создать список устройств и команд, которые можно быстро добавить в любой новый проект iRidium. Создать ИК устройство можно только в своей базе, стандартная закрыта для редактирования.

Создайте пользовательскую базу данных:

AV Database New.png

Добавьте в нее ИК устройство (это не физическое устройство, а папка для набора ИК команд)

AV Add IR Device.png

Во вкладке Commands & Feedbacks создайте список пустых ИК команд, выберите их имена:

AV IR Device Settings.png
  1. Встаньте на первую команду в папке и нажмите кнопку "Learning..."
  2. Выберите тип устройства (Learner Type): GC-IRL > GC-IRL IR Learner, GC iTach > iTach IP2IR / WF2IR
  3. Выберите интерфейс обучения и настройки исходя из подключения считывателя:
    1. TCP/IP, Port: 4998 - iTach IP2IR / WF2IR
    2. TCP/IP, Port: 4999 - СОМ1 GC-100-(06,12,18,18R)
    3. TCP/IP, Port: 5000 - СОМ2 GC-100-(12,18,18R)
    4. RS232 - если GC-IRL подключен к СОМ-порту вашего ПК
  4. Нажмите клавишу Learn чтобы запустить режим обучения
  5. Направьте излучатель ИК пульта на считыватель GC-IRL и нажимайте на кнопку, которая соответствует текущему имени команды на экране. Если обучение успешно, имя команды будет меняться на следующее автоматически.


Обученная ИК команда выделена в базе полужирным шрифтом. Закройте редактор базы, сохранив изменения.


Добавьте готовое ИК устройство в свой проект: выберите в списке DEVICE BASE свою базу данных, перетащите ИК устройство на ИК выход Global Cache

GC IRLearner-MyOwn-base.png

Задайте Frequency (Гц) - частоту отправки команд с ИК выхода для всего ИК выхода или только для выбранного устройства.



Serial

Serial выход устройства Global Cache позволяет отправлять команды по RS232. Этим командам нельзя обучиться, их необходимо добавить в iRidium из документации к оборудованию. Команды RS232 могут храниться в одном из форматов:

  • ASCII - строка
  • HEX - шестнадцатеричный
  • DEC - десятичный


iRidium должен опередить, в каком формате команду вы добавили. Поэтому команду нужно оформить в соответствии с синтаксисом iRidium.


ASCII (строка)

Оформление ASCII строки на выходе Serial:

  • обособьте строку 'одинарными кавычками'
  • в конце строки добавьте
    ,$0D - возврат каретки <CR>
    ,$0A - конец строки<LF>


Оформление команды:

В документации: PWR01 <CR> VOLUME 50 <CR> <LF>
Формат: ASCII ASCII
В iRidium (поле Data): 'PWR01',0x0D 'VOLUME 50',0x0D,0x0A


Оформление возврата каретки <CR> и конца строки <LF>:

В документации: <CR> <CR> <CR> <LF> <LF> <LF>
Формат: HEX HEX DEC HEX HEX DEC
В iRidium (поле Data): ,0x0D ,$0D ,13 ,0x0A ,$0A ,10



HEX (шестнадцатеричный)

Оформление HEX символов на выходе Serial:

  • Перед каждым HEX символом поставьте 0x или $
  • Уберите лишние обозначения перед НЕХ кодами, например: 0Ah >> $0A
  • Разделите НЕХ символы запятыми, уберите все пробелы
  • в конце строки добавьте
    ,$0D - возврат каретки <CR>
    ,$0A - конец строки<LF>


В документации: 16 8A FF 81 <CR> 19h EEh A1h 00h <CR> <LF>
Формат: HEX HEX
В iRidium(поле Data): 0x16,0x8A,0xFF,0x81,0x0D $19,$EE,$A1,$00,0x0D,0x0A


Оформление возврата каретки <CR> и конца строки <LF>:

В документации: <CR> <CR> <CR> <LF> <LF> <LF>
Формат: HEX HEX DEC HEX HEX DEC
В iRidium (поле Data): ,0x0D ,$0D ,13 ,0x0A ,$0A ,10


DEC (десятичный)

Оформление десятичных чисел на выходе Serial:

  • Разделите числа запятыми, уберите все пробелы
  • в конце строки добавьте
    ,$0D - возврат каретки <CR>
    ,$0A - конец строки<LF>


В документации: 01 255 255 15 <CR> 01 10 25 255 <CR> <LF>
Формат: DEC DEC
В iRidium(поле Data): 01,255,255,15,13 01,10,25,255,13,10


Оформление возврата каретки <CR> и конца строки <LF>:

В документации: <CR> <CR> <CR> <LF> <LF> <LF>
Формат: HEX HEX DEC HEX HEX DEC
В iRidium (поле Data): ,0x0D ,$0D ,13 ,0x0A ,$0A ,10


Добавление команд в Device Base

В общей базе "DEVICE BASE" вы можете создать список устройств и команд, которые можно быстро добавить в любой новый проект iRidium. Создать RS232 устройство можно только в своей базе, стандартная закрыта для редактирования.

Создайте пользовательскую базу данных:

AV Database New.png

Добавьте в нее RS232 устройство (это не физическое устройство, а папка для набора команд)

RS232 1.png

Во вкладке Commands & Feedbacks создайте список команд:

RS232 4.png

Двойным кликом откройте Command Properties и добавьте команду в поле Command:

RS232 5.png

Добавьте готовый набор RS232 команд в свой проект: выберите в списке DEVICE BASE свою базу данных, перетащите RS232 устройство на Serial output Global Cache.



Relay

Сухой контакт (реле), позволяет замыкать и размыкать управляющие контакты оборудования.

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

BUTTON

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


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

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

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

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

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


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

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

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

TRIGGER BUTTON

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


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

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

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

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

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



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

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

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


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

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

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

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

SetUpItemToDisplayValue.png

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

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

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

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

SetUpItemToDisplayValue2.png

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

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

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

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

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

DragChannelToDisplayTxt.png

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

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

DragChannelToDisplayValue.png

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

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

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

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

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



Отправка команд

Отправить команду с IR output

Отправить ИК команду можно только с помощью кнопки "Button" или через скрипт.


1 Для однократной отправки команды, привяжите ее на событие Press или Release:

AV IR Command Dragging to item.png

2 Для создания макро-команды добавьте несколько команд на Press или Release :

AV IR Command Action Dragging Macro.png

Между командами можно добавить задержку Delay(), чтобы регулировать скорость их отправки

3 Для циклической отправки команды при удержании кнопки Выберите Press и Hold :

AV IR Command Hold Creating.png

Настройки Hold находятся в Object Properties > General:

  • Hold Time (мс) - время, через которое активируется Hold при удержании элемента
  • Repeat Time (мс) - интервал повторения команд из события Hold.

4 Для циклической отправки команды средствами Global Cache при удержании кнопки, укажите параметр команды Repeat; 50 (или другое большое число), привяжите ее на Press; на Relese привяжите команду Stop IR.

AV IR Command Hold+StopIR Creating.png

При нажатии на кнопку, ИК излучатель GC начнет выполнять команду указанное число раз, а при отпускании прекратит отправку. Действие аналогично команде Hold, но не требует постоянно отправлять повтор команды на GC


5 ИК команды можно отправить через JavaScript. Используйте для отправки метод .Set и .Send из Drivers API:

var device = IR.GetDevice("Global Cache");
var CommandString = 'sendir,1:1,1,36127,1,1,96,31,17,16,16,16,16,32,16,32,49,32,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,16,16,16,16,16,16,16,32,32,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,4624';
var CommandName = "COMMAND";
IR.AddListener(IR.EVENT_ONLINE , device, function() 
{
    device.Set(CommandName, "");            // .Set command by name
    device.Send([CommandString,0x0D]);        // .Send command as string
});

Оформление ИК команды для метода Send подробно описано в iTach API.


Отправить команду с Serial output

Отправить RS232 команду можно с помощью кнопки "Button" или через скрипт.

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


1 Для однократной отправки команды, привяжите ее на событие Press или Release:

AV GC232 Command Dragging to item.png

2 Для создания макро-команды добавьте несколько команд на Press или Release :

AV IR Command Action Dragging Macro.png

Между командами можно добавить задержку Delay(), чтобы регулировать скорость их отправки

3 Для циклической отправки команды при удержании кнопки Выберите Press и Hold :

AV GC232 Command Hold Creating.png

Настройки Hold находятся в Object Properties > General:

  • Hold Time (мс) - время, через которое активируется Hold при удержании элемента
  • Repeat Time (мс) - интервал повторения команд из события Hold.


4 RS232 команды можно отправить через JavaScript. Используйте для отправки метод .Set и .Send из Drivers API:

var device = IR.GetDevice("Global Cache");
var CommandString = "PON";
var CommandName = "COMMAND 1";
 
IR.AddListener(IR.EVENT_ONLINE , device, function() 
{
    device.Set(CommandName, "");            // .Set command by name
    device.Send([CommandString, '\r\n'], 1);        // .Send command as string
    // device.Send([<data>], <transport_id>)
    // <data> - command string
    // <transport_id>  0 - port 4998, 1 - port 4999, 2 - port 5000
});

Отправить команду Relay

Реле принимает значения 0 - разомкнуто и 1 - замкнуто. Команду вы можете отправить с помощьюː

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

Чтобы отправить команду реле через JavaScript, используйте пример: Для комады Relay необходимо указать состояние реле:

IR.GetDevice("Global Cache").Set("Relay 1", 1) 
// close Relay 1
IR.GetDevice("Global Cache").Set("Relay 1", 0) 
// open Relay 1


Обратная связь

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


Sensor Notify, Relay

Сенсоры и реле отдают в iRidium значение 1 - замкнут, 0 - разомкнут. Это значение можно вывести в текст или визуально отобразить на элементе.

AV Sensor State In Value.png

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

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

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

SetUpItemToDisplayValue.png

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

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

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

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

SetUpItemToDisplayValue2.png

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

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

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

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

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

DragChannelToDisplayTxt.png

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

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

DragChannelToDisplayValue.png

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

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

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

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

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


Serial

СОМ-порт модуля Global Cache возвращает в iRidium данные о состоянии управляемого оборудования, но их можно обработать только с помощью JavaScript, т.к. заранее не известно, какие данные будут получены.

См. руководство по работе с JavaScript, API управления драйверами.
Обработчик обратной связи от COM-портов GC:

IR.AddListener(IR.EVENT_RECEIVE_TEXT, IR.GetDevice("Global Cache"), function(text, id)
{
   if (id == 1)
   {
      IR.Log("COM1 data: "+ text); 
   }
   else if (id == 2)
   {
      IR.Log("COM2 data: "+ text); 
   }
});
// id - is a transport id of GC device, 1 - COM port 1, 2 - COM port 2

Готовые драйверы с обратной связью от AV оборудования вы можете найти на сайте, в разделе JS модули



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

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