iRidium Server + HDL
Подробнее о драйвере HDL можно прочитать тут: http://wiki2.iridiummobile.ru/HDL-BUS_Pro.
Этапы формирования проектов управления оборудованием HDL при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2. Создание панельного проекта, связанного с серверным. Создание графического интерфейса проекта, связь графического интерфейса с каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
Дать имя новому проекту, либо оставить по-умолчанию.
Для удобства дальнейшей работы заполните поля в разделе Settings:
О назначении других полей прочитайте здесь.
Project Overview позволяет перемещаться между окнами настроек сервера:
Project Overview:
Доступ к функции сканирования осуществляется по кнопке на панели DRIVERS:
Если у вас нет возможности произвести сканирование, воспользуйтесь пред-настроенными устройствами в базе iRidium.Сначала добавьте HDL-BUS Pro Network (UDP) , затем в Network добавьте нужные устройства:
В него входят:
SendTimeOut - принудительный интервал между командами, которые управляющая панель отправляет IP модулю HDL (помогает снизить нагрузку на IP модуль и шину HDL)
Broadcast - 255.255.255.255 – броадкаст адрес для обмена данными с HDL
Поля, которые можно настроить у серверного канала (для записи):
Для примера, создадим 2 виртуальных серверных канала (с именами External Modbus IP и Internal Modbus IP), которые при активации будут вызывать функцию SetParameters и переключать настройки драйвера с внешних на внутренние и наоборот. А также виртуальный серверный тег "Status", в который мы будем записывать текст из скрипта:
1. Создайте 2 виртуальный канала и 1 виртуальный тег по ПКМ:
2. Перейдите в редактор JS-скриптов. Создайте файл скрипта с необходимыми функциями:
1. Создать панельный проект из серверного проекта
1. Откройте ваш серверный проект. Правой кнопкой мыши нажмите на его имя и выберите пункт меню "Create Panel Project"
2. Дайте имя панельному проекту.
3. В панельном проекте в "Project Device Panel" находится драйвер iRidium Server, который содержит настройки подключения к серверному проекту (если вы их заранее настроили), а так же все каналы и теги.
1. Открыть в iRidium Studio ваш серверный проект.
2. Создать в iRidium Studio новый или открыть существующий панельный проект.
3. В панельный проект добавить драйвер iRidium Server:
Этапы формирования проектов управления оборудованием HDL при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2. Создание панельного проекта, связанного с серверным. Создание графического интерфейса проекта, связь графического интерфейса с каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
1. Создать серверный проект
Подробнее о создании Серверного проекта описано тут.1. Создать файл серверного проекта
В Меню выбрать пункт меню "New Server Project"
2. Назвать проект.
Дать имя новому проекту, либо оставить по-умолчанию.3. Указать настройки подключения к серверу.
Внесите основную информацию о проекте, а так же указать настройки подключения к серверу (можно указать позже).Для удобства дальнейшей работы заполните поля в разделе Settings:
- Server host - IP адрес сервера
- Server port - порт подключения к серверу (по-умолчанию: 30464)
- Login (функционал в разработке) - логин для подключения панелей к серверу
- Password (бфункционал в разработке) - пароль для подключения панелей к серверу
- System ID (функционал в разработке) - уникальный идентификатор сервера, будет использован в системе push нотификаций и DDNS сервере
О назначении других полей прочитайте здесь.
4. Перейти в рабочую вкладку I/O
(подробнее о назначении вкладок здесь):Project Overview позволяет перемещаться между окнами настроек сервера:
Project Overview:
- I/O - входы/выходы; открывает для редактирования теги сервера и теги драйвера
- Config - настройки серверного проекта
5. Добавить драйвер HDL в проект
Чаще всего добавление HDL драйвера в проект происходит при помощи функции Сканирование.Доступ к функции сканирования осуществляется по кнопке на панели DRIVERS:
6. Указать настройки подключения к оборудованию:
Если вы сканировали драйвера,то настройки удрайверов уже будут заполнены, остается только заполнить настойки самого Network'a.В него входят:
SendTimeOut - принудительный интервал между командами, которые управляющая панель отправляет IP модулю HDL (помогает снизить нагрузку на IP модуль и шину HDL)
Broadcast - 255.255.255.255 – броадкаст адрес для обмена данными с HDL
7. Настроить команды управления оборудованием и каналы обратной связи:
На панели IRIDIUM SERVER для каждой команды и канала обратной связи драйвера формируется серверный канал (для записи) или тег (для чтения). На их основе будет сформирован драйвер iRidium Server, и каждая панель управления, которая будет подключаться к этому серверу, будет обращаться именно к этим каналам и тегам.Поля, которые можно настроить у серверного канала (для записи):
- Name - короткое имя (по-умолчанию: имя команды драйвера)
- Full Name - полное имя серверного канала для обращения из скрипта
- Description - описание (опционально)
- Script - выполнить JavaScript функцию без аргументов каждый раз при активации канала
- Name - короткое имя (по-умолчанию: имя канала обратной связи драйвера)
- Full Tag Name - полное имя серверного тега для обращения из скрипта
- Description - описание (опционально)
- Store In DB - сохранение всех измененных значений в базу данных
- Access - тип переменной: Public - можно изменить с панели управления, Private - можно изменить только с сервера
- Deadband - погрешность изменения, которую не нужно учитывать при построении графика на основании данных тега. Например, при Deadband: 0.5, изменение переменной на 0.3 не отобразится на графике в приложении-клиенте.
- Script - выполнить JavaScript функцию каждый раз при активации тега.
!В текущей версии iRidium Studio beta нет возможности синхронизировать имена драйвера, каналов и тегов - т.о. дайте им окончательные имена при текущей настройке. Т.е., если вы уже начнете настраивать панельный проект, а после этого решите переименовать драйвер, каналы или теги в панели IRIDIUM SERVER, то при синхронизации они добавятся как новый драйвер, или как новый канал или фитбек и вам придется заново связывать их с элементами графического интерфейса.
8. Создать виртуальные переменные (опционально):
Виртуальные переменные (Virtual) - переменные, в которые можно записывать любые данные, полученные в результате работы скриптов (числа, строки, массивы). Виртуальные переменные доступны для изменения с панели управления.- VIrtual > Channels - переменные, доступные для записи
- VIrtual > Tags - переменные, доступные для чтения
Для примера, создадим 2 виртуальных серверных канала (с именами External Modbus IP и Internal Modbus IP), которые при активации будут вызывать функцию SetParameters и переключать настройки драйвера с внешних на внутренние и наоборот. А также виртуальный серверный тег "Status", в который мы будем записывать текст из скрипта:
1. Создайте 2 виртуальный канала и 1 виртуальный тег по ПКМ:
2. Перейдите в редактор JS-скриптов. Создайте файл скрипта с необходимыми функциями:
function ChangeHDLBroadcastTrue() { IR.Log("Change HDL Broadcast (True)"); IR.GetDevice("HDL-BUS Pro Network (UDP)").SetParameters({Broadcast: "255.255.255.255"}); IR.SetVariable("Server.Tags.Status HDL", "True") } function ChangeHDLBroadcastFalse() { IR.Log("Change HDL Broadcast (False)"); IR.GetDevice("HDL-BUS Pro Network (UDP)").SetParameters({Broadcast: "255.255.255.200"}); IR.SetVariable("Server.Tags.Status HDL", "False") }3. В поле Script необходимой команды выберите нужную функцию для обеих команд.
9. Написать необходимые скрипты (опционально).
Как обращаться к каналам и тегам серверного проекта описано тут .10. Сохранить проект.
HDL Server2. Создать панельный проект
1. Добавить в панельный проект каналы и теги серверного проекта
Существует несколько способов:1. Создать панельный проект из серверного проекта
1. Откройте ваш серверный проект. Правой кнопкой мыши нажмите на его имя и выберите пункт меню "Create Panel Project"2. Дайте имя панельному проекту.
3. В панельном проекте в "Project Device Panel" находится драйвер iRidium Server, который содержит настройки подключения к серверному проекту (если вы их заранее настроили), а так же все каналы и теги.
2. Синхронизировать драйвер iRidium Server с существующим панельным проектом
1. Открыть в iRidium Studio ваш серверный проект.2. Создать в iRidium Studio новый или открыть существующий панельный проект.
3. В панельный проект добавить драйвер iRidium Server:
- 4. Выбрать в качестве источника для драйвера iRidium Server ваш серверный проект:
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать в на ... в строке Source Project в настройках драйвера.
- Выбрать из списка необходимый серверный проект
- Нажать ОК.
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать на иконку синхронизации.
- Согласиться с запросом синхронизации.
- 1 - Driver Tokens - переменные драйвера. Отображают статус подключения к серверу. Переменные драйвера доступны только на чтение:
- Online - состояние подключения к серверу (Online/Offline = 1/0)
- Status - статус подключения к серверу (Offline/Connecting/Online/Waiting = 0...3)
- Host - доменное имя удаленной системы
- IP - IP-адрес управляющей панели
- Port - локальный порт клиента, через который осуществляется связь с удаленным устройством
- HostIP - IP-адрес удаленной системы, к которой подключено iRidium App
- HostPort - порт на удаленной системе, к которому подключается iRidium App
- ServerName - имя сервера
- ServerModel - модель сервера
- ServerHWID - идентификатор сервера
- ServerFamily - код семейства операционной системы
- ServerArch - код архитектуры (1 - x86; 2 - x64-86; 3 - ARM32)
- ServerFamillyName - имя семейства операционной системы
- ServerArchName - имя архитектуы операционной системы
- ServerOsName - полное имя операционной системы
- ServerVersion - версия сервера
- 3. Каналы управления драйверов, управляемых через сервер.
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать на иконку синхронизации.
- Согласиться с запросом синхронизации.
4. Токены драйвера, управляемого через сервер.
5. Теги обратной связи драйверов, управляемых через сервер.
6. Виртуальные серверные теги.
!Не создавайте в панельном проекте в драйвере iRidium Server новых команд и каналов обратной связи. При синхронизации они не будут созданы в серверном проекте и не будут работать.
Параметры серверной команды в панельном проекте:
Name - Имя канала. Формат имени "Имя_драйвера.Имя канала"
Параметры серверного тега в панельном проекте:
Name - Имя тега. Формат имени "Имя_драйвера.Имя тега"
Save Value When Disconnect - сохранение последнего полученного значения тега на кнопке, когда оборвалась связь панели с сервером (True - сохранять значение на элементе; False - сбрасывать значение в 0);
2. Привязать команды к графическим элементам
Команды и обратная связь драйверов, а также Токены драйвера привязываются аналогично уже существующим инструкциям работы с драйверами, описанными на iRidiumWiki.Виртуальные серверные каналы привязываются как SendNumber с пустым значение поля:
Виртуальные серверные теги привязываются, как As Value или As Text, в зависимости от целей.
3. Синхронизация серверного и панельного проектов в процессе работы
Если вы будете исправлять серверный проект уже в процессе работы над панельным проектом, появится необходимость синхронизации этих проектов.В текущей версии iRidium Studio синхронизация может:
+ добавлять новые каналы и теги из серверного проекта;
Не может:
- обновлять имена драйвера, канала и тега сервера (если вы измените имя существующего канала или тега, он добавится вновь с новым именем);
- удалять каналы и теги в панельном проекте, если они удалены из серверного;
Процесс синхронизации:
1. Измените серверный проект и сохраните его
2. Перейдите в связанный с ним панельный проект и:
После того, как серверный и панельные проекты будут полностью готовы, необходимо загрузить их на сервер и панели.
> > Как загрузить серверный проект на iRidium Server
Customer support service by UserEcho