iRidium Server + HDL

Подробнее о драйвере HDL можно прочитать тут: http://wiki2.iridiummobile.ru/HDL-BUS_Pro.

Этапы формирования проектов управления оборудованием 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 позволяет перемещаться между окнами настроек сервера:

Editor window Server Project Overview.png

Project Overview:








5. Добавить драйвер HDL в проект

Чаще всего добавление HDL драйвера в проект происходит при помощи функции Сканирование.

Доступ к функции сканирования осуществляется по кнопке на панели DRIVERS:
Если у вас нет возможности произвести сканирование, воспользуйтесь пред-настроенными устройствами в базе iRidium.Сначала добавьте HDL-BUS Pro Network (UDP) , затем в Network добавьте нужные устройства:



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 - переменные, доступные для чтения
    Работа с Virtual идентична работе с Project Tokens, использует те же правила и функции API.

    Для примера, создадим 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 Server

    2. Создать панельный проект


    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 ваш серверный проект:

    1. Выделить драйвер iRidium Server на панели "Project Device Panel"
    2. Нажать в на ... в строке Source Project в настройках драйвера.
    3. Выбрать из списка необходимый серверный проект
    4. Нажать ОК.
    5. Синхронизировать драйвер с серверным проектом:



    1. Выделить драйвер iRidium Server на панели "Project Device Panel"
    2. Нажать на иконку синхронизации.
    3. Согласиться с запросом синхронизации.
    Расположение каналов и тегов в драйвере iRidium Server:

    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 - версия сервера
    2. Виртуальные серверные каналы.
    3. Каналы управления драйверов, управляемых через сервер.
    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. Перейдите в связанный с ним панельный проект и:


    1. Выделить драйвер iRidium Server на панели "Project Device Panel"
    2. Нажать на иконку синхронизации.
    3. Согласиться с запросом синхронизации.

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

    > > Как загрузить серверный проект на iRidium Server

Dit artikel is nuttig voor 3 personen. Is dit artikel nuttig voor u?