iRidium Server + HDL
Подробнее о драйвере HDL можно прочитать тут: http://wiki2.iridiummobile.ru/HDL-BUS_Pro.
Этапы формирования проектов управления оборудованием HDL при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2. Создание панельного проекта, связанного с серверным. Создание графического интерфейса проекта, связь графического интерфейса с каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
Дать имя новому проекту, либо оставить по-умолчанию.
![Image 8803](/s/attachments/15553/6/2/0783d27cc07b8da5fdf3d9d8fc258279.png)
Для удобства дальнейшей работы заполните поля в разделе Settings:
О назначении других полей прочитайте здесь.
Project Overview позволяет перемещаться между окнами настроек сервера:
![Editor window Server Project Overview.png](http://wiki3.irmob.tmweb.ru/images/3/37/Editor_window_Server_Project_Overview.png)
Project Overview:
Доступ к функции сканирования осуществляется по кнопке на панели DRIVERS:
Если у вас нет возможности произвести сканирование, воспользуйтесь пред-настроенными устройствами в базе iRidium.Сначала добавьте HDL-BUS Pro Network (UDP) , затем в Network добавьте нужные устройства:
![Image 8883](/s/attachments/15553/6/6264/b3f534089467366aac80b231d5d029ba.png)
В него входят:
SendTimeOut - принудительный интервал между командами, которые управляющая панель отправляет IP модулю HDL (помогает снизить нагрузку на IP модуль и шину HDL)
Broadcast - 255.255.255.255 – броадкаст адрес для обмена данными с HDL
![Image 8884](/s/attachments/15553/6/6264/b9c768c2da53ebc07e436e69fecb8d67.png)
Поля, которые можно настроить у серверного канала (для записи):
![Image 8885](/s/attachments/15553/6/6264/226ee6730edf83486c518a94f8dcdcba.png)
![Image 8886](/s/attachments/15553/6/6264/a18e5d7cde016a5d37719e909364fa0b.png)
Для примера, создадим 2 виртуальных серверных канала (с именами External Modbus IP и Internal Modbus IP), которые при активации будут вызывать функцию SetParameters и переключать настройки драйвера с внешних на внутренние и наоборот. А также виртуальный серверный тег "Status", в который мы будем записывать текст из скрипта:
1. Создайте 2 виртуальный канала и 1 виртуальный тег по ПКМ:
![Image 8801](/s/attachments/15553/6/2/f998e8615640ef4072b13d8d07b6d36c.png)
2. Перейдите в редактор JS-скриптов. Создайте файл скрипта с необходимыми функциями:
1. Создать панельный проект из серверного проекта
1. Откройте ваш серверный проект. Правой кнопкой мыши нажмите на его имя и выберите пункт меню "Create Panel Project"
![Image 8889](/s/attachments/15553/6/6264/f17ce136b02194c763e189803d1297b0.png)
2. Дайте имя панельному проекту.
3. В панельном проекте в "Project Device Panel" находится драйвер iRidium Server, который содержит настройки подключения к серверному проекту (если вы их заранее настроили), а так же все каналы и теги.
1. Открыть в iRidium Studio ваш серверный проект.
2. Создать в iRidium Studio новый или открыть существующий панельный проект.
3. В панельный проект добавить драйвер iRidium Server:
![Image 8817](/s/attachments/15553/6/2/51a54c1eb15c629c799d5683b86c18d1.png)
Этапы формирования проектов управления оборудованием HDL при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2. Создание панельного проекта, связанного с серверным. Создание графического интерфейса проекта, связь графического интерфейса с каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
1. Создать серверный проект
Подробнее о создании Серверного проекта описано тут.1. Создать файл серверного проекта
В Меню выбрать пункт меню "New Server Project"![Image 8767](/s/attachments/15553/6/2/6d8b17544907419b80414691ab9cc219.png)
2. Назвать проект.
Дать имя новому проекту, либо оставить по-умолчанию.3. Указать настройки подключения к серверу.
Внесите основную информацию о проекте, а так же указать настройки подключения к серверу (можно указать позже).![Image 8803](/s/attachments/15553/6/2/0783d27cc07b8da5fdf3d9d8fc258279.png)
Для удобства дальнейшей работы заполните поля в разделе Settings:
- Server host - IP адрес сервера
- Server port - порт подключения к серверу (по-умолчанию: 30464)
- Login (функционал в разработке) - логин для подключения панелей к серверу
- Password (бфункционал в разработке) - пароль для подключения панелей к серверу
- System ID (функционал в разработке) - уникальный идентификатор сервера, будет использован в системе push нотификаций и DDNS сервере
О назначении других полей прочитайте здесь.
4. Перейти в рабочую вкладку I/O
(подробнее о назначении вкладок здесь):Project Overview позволяет перемещаться между окнами настроек сервера:
![Editor window Server Project Overview.png](http://wiki3.irmob.tmweb.ru/images/3/37/Editor_window_Server_Project_Overview.png)
Project Overview:
- I/O - входы/выходы; открывает для редактирования теги сервера и теги драйвера
- Config - настройки серверного проекта
5. Добавить драйвер HDL в проект
Чаще всего добавление HDL драйвера в проект происходит при помощи функции Сканирование.Доступ к функции сканирования осуществляется по кнопке на панели DRIVERS:
![Image 8881](/s/attachments/15553/6/6264/1f4d5ee561eb2cf3e08c2644034ec67a.png)
![Image 8882](/s/attachments/15553/6/6264/2bb8380335298fddb6a3ae36742ac507.png)
![Image 8883](/s/attachments/15553/6/6264/b3f534089467366aac80b231d5d029ba.png)
6. Указать настройки подключения к оборудованию:
Если вы сканировали драйвера,то настройки удрайверов уже будут заполнены, остается только заполнить настойки самого Network'a.В него входят:
SendTimeOut - принудительный интервал между командами, которые управляющая панель отправляет IP модулю HDL (помогает снизить нагрузку на IP модуль и шину HDL)
Broadcast - 255.255.255.255 – броадкаст адрес для обмена данными с HDL
![Image 8884](/s/attachments/15553/6/6264/b9c768c2da53ebc07e436e69fecb8d67.png)
7. Настроить команды управления оборудованием и каналы обратной связи:
На панели IRIDIUM SERVER для каждой команды и канала обратной связи драйвера формируется серверный канал (для записи) или тег (для чтения). На их основе будет сформирован драйвер iRidium Server, и каждая панель управления, которая будет подключаться к этому серверу, будет обращаться именно к этим каналам и тегам.Поля, которые можно настроить у серверного канала (для записи):
![Image 8885](/s/attachments/15553/6/6264/226ee6730edf83486c518a94f8dcdcba.png)
- Name - короткое имя (по-умолчанию: имя команды драйвера)
- Full Name - полное имя серверного канала для обращения из скрипта
- Description - описание (опционально)
- Script - выполнить JavaScript функцию без аргументов каждый раз при активации канала
![Image 8886](/s/attachments/15553/6/6264/a18e5d7cde016a5d37719e909364fa0b.png)
- 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 виртуальный тег по ПКМ:
![Image 8801](/s/attachments/15553/6/2/f998e8615640ef4072b13d8d07b6d36c.png)
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 необходимой команды выберите нужную функцию для обеих команд.
![Image 8887](/s/attachments/15553/6/6264/3d3a64f91a16924438c77101eb47f1ae.png)
9. Написать необходимые скрипты (опционально).
Как обращаться к каналам и тегам серверного проекта описано тут .10. Сохранить проект.
HDL Server2. Создать панельный проект
1. Добавить в панельный проект каналы и теги серверного проекта
Существует несколько способов:1. Создать панельный проект из серверного проекта
1. Откройте ваш серверный проект. Правой кнопкой мыши нажмите на его имя и выберите пункт меню "Create Panel Project"![Image 8889](/s/attachments/15553/6/6264/f17ce136b02194c763e189803d1297b0.png)
2. Дайте имя панельному проекту.
3. В панельном проекте в "Project Device Panel" находится драйвер iRidium Server, который содержит настройки подключения к серверному проекту (если вы их заранее настроили), а так же все каналы и теги.
2. Синхронизировать драйвер iRidium Server с существующим панельным проектом
1. Открыть в iRidium Studio ваш серверный проект.2. Создать в iRidium Studio новый или открыть существующий панельный проект.
3. В панельный проект добавить драйвер iRidium Server:
![Image 8817](/s/attachments/15553/6/2/51a54c1eb15c629c799d5683b86c18d1.png)
- 4. Выбрать в качестве источника для драйвера iRidium Server ваш серверный проект:
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать в на ... в строке Source Project в настройках драйвера.
- Выбрать из списка необходимый серверный проект
- Нажать ОК.
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать на иконку синхронизации.
- Согласиться с запросом синхронизации.
![Image 8890](/s/attachments/15553/6/6264/a51a9dfaaceecce81ee50d15d4a24215.png)
![Image 8891](/s/attachments/15553/6/6264/f564ec10ffd140e8d4c364e06946dfa4.png)
![Image 8892](/s/attachments/15553/6/6264/26564ff18017c6dee954296d7022d226.png)
- 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 с пустым значение поля:
![Image 8829](/s/attachments/15553/6/2/6d2c8d1b675827e17ed2b55a10e56d92.png)
Виртуальные серверные теги привязываются, как As Value или As Text, в зависимости от целей.
3. Синхронизация серверного и панельного проектов в процессе работы
Если вы будете исправлять серверный проект уже в процессе работы над панельным проектом, появится необходимость синхронизации этих проектов.В текущей версии iRidium Studio синхронизация может:
+ добавлять новые каналы и теги из серверного проекта;
Не может:
- обновлять имена драйвера, канала и тега сервера (если вы измените имя существующего канала или тега, он добавится вновь с новым именем);
- удалять каналы и теги в панельном проекте, если они удалены из серверного;
Процесс синхронизации:
1. Измените серверный проект и сохраните его
2. Перейдите в связанный с ним панельный проект и:
![Image 8819](/s/attachments/15553/6/2/ece3ca3dad1f60eff09cf759221773e2.png)
После того, как серверный и панельные проекты будут полностью готовы, необходимо загрузить их на сервер и панели.
> > Как загрузить серверный проект на iRidium Server
Сервис поддержки клиентов работает на платформе UserEcho