iRidium Server + Modbus
Подробнее о драйвере Modbus можно прочитать тут: http://wiki2.iridiummobile.net/Modbus
Этапы формирования проектов управления оборудованием Modbus при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2. Создание панельного проекта, связанного с серверным. Создание графического интерфейса проекта, связь графического интерфейса с каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
Modbus Server.sirpz
Дать имя новому проекту, либо оставить по-умолчанию.
Для удобства дальнейшей работы заполните поля в разделе Settings:
О назначении других полей прочитайте здесь.
Project Overview позволяет перемещаться между окнами настроек сервера:
Project Overview:
Доступ к функции импорта осуществляется из меню File->Import и по кнопке на панели DRIVERS:
Шаблон файла csv для драйвера Modbus (TCP):
Зеленым выделены места, разрешенные для правки. Пожалуйста, не удаляйте строки и колонки. Добавляйте необходимое количество команд и фитбеков после существующих.
Примеры готовых шаблонов для импорта всех типов Modbus: modbus csv.zip
В тестовом примере мы взяли готовый проект с WIKI2, сделанный в старой версии iRidium GUI Editor
Укажите настройки подключения к управляемому оборудованию во вкладке DRIVERS:
Если вы импортировали ранее созданный проект, то команды и каналы обратной связи уже настроены.
На панели IRIDIUM SERVER для каждой команды и канала обратной связи драйвера формируется серверный канал (для записи) или тег (для чтения). На их основе будет сформирован драйвер iRidium Server, и каждая панель управления, которая будет подключаться к этому серверу, будет обращаться именно к этим каналам и тегам.
Поля, которые можно настроить у серверного канала (для записи):
Для примера, создадим 2 виртуальных серверных канала (с именами External Modbus IP и Internal Modbus IP), которые при активации будут вызывать функцию SetParameters и переключать настройки драйвера с внешних на внутренние и наоборот. А также виртуальный серверный тег "Status", в который мы будем записывать текст из скрипта:
1. Создайте 2 виртуальный канала и 1 виртуальный тег по ПКМ:
2. Перейдите в редактор JS-скриптов. Создайте файл скрипта с необходимыми функциями:
В тестовом проекте добавлены примеры, как сделать функции SetParameters и Connect, Disconnect к драйверу.
1. Создать панельный проект из серверного проекта
1. Откройте ваш серверный проект. Правой кнопкой мыши нажмите на его имя и выберите пункт меню "Create Panel Project"
2. Дайте имя панельному проекту.
3. В панельном проекте в "Project Device Panel" находится драйвер iRidium Server, который содержит настройки подключения к серверному проекту (если вы их заранее настроили), а так же все каналы и теги.
1. Открыть в iRidium Studio ваш серверный проект.
2. Создать в iRidium Studio новый или открыть существующий панельный проект.
3. В панельный проект добавить драйвер iRidium Server:
4. Выбрать в качестве источника для драйвера iRidium Server ваш серверный проект:
1 - Driver Tokens - переменные драйвера. Отображают статус подключения к серверу. Переменные драйвера доступны только на чтение:
3. Виртуальные серверные каналы.
4. Токены драйвера, управляемого через сервер.
5. Теги обратной связи драйверов, управляемых через сервер.
6. Виртуальные серверные теги.
!Не создавайте в панельном проекте в драйвере iRidium Server новых команд и каналов обратной связи. При синхронизации они не будут созданы в серверном проекте и не будут работать.
Параметры серверной команды в панельном проекте:
Name - Имя канала. Формат имени "Имя_драйвера.Имя канала"
Параметры серверного тега в панельном проекте:
Name - Имя тега. Формат имени "Имя_драйвера.Имя тега"
Save Value When Disconnect - сохранение последнего полученного значения тега на кнопке, когда оборвалась связь панели с сервером (True - сохранять значение на элементе; False - сбрасывать значение в 0);
Виртуальные серверные каналы привязываются как SendNumber с пустым значение поля:
Виртуальные серверные теги привязываются, как As Value или As Text, в зависимости от целей.
В текущей версии iRidium Studio синхронизация может:
+ добавлять новые каналы и теги из серверного проекта;
Не может:
- обновлять имена драйвера, канала и тега сервера (если вы измените имя существующего канала или тега, он добавится вновь с новым именем);
- удалять каналы и теги в панельном проекте, если они удалены из серверного;
Процесс синхронизации:
1. Измените серверный проект и сохраните его
2. Перейдите в связанный с ним панельный проект и:
После того, как серверный и панельные проекты будут полностью готовы, необходимо загрузить их на сервер и панели.
> > Как загрузить серверный проект на iRidium Server
Этапы формирования проектов управления оборудованием Modbus при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2. Создание панельного проекта, связанного с серверным. Создание графического интерфейса проекта, связь графического интерфейса с каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
Modbus Server.sirpz
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. Добавить драйвер Modbus в проект
Чаще всего добавление Modbus драйвера в проект происходит при помощи функции Импорт. Импортировать можно проект, созданный в Excel и имеющий формат *.csv, а так же *.irpz, созданный в iRidium GUI Editor, если у вас уже есть готовая настроенная инсталляция на оборудовании Modbus.Доступ к функции импорта осуществляется из меню File->Import и по кнопке на панели DRIVERS:
Шаблон файла csv для драйвера Modbus (TCP):
Зеленым выделены места, разрешенные для правки. Пожалуйста, не удаляйте строки и колонки. Добавляйте необходимое количество команд и фитбеков после существующих.
Примеры готовых шаблонов для импорта всех типов Modbus: modbus csv.zip
6. Указать настройки подключения к оборудованию:
Если вы импортировали драйвера из проекта *.irpz, ранее созданного в iRidium GUI Editor, настройки уже будут заполнены.В тестовом примере мы взяли готовый проект с WIKI2, сделанный в старой версии iRidium GUI Editor
Укажите настройки подключения к управляемому оборудованию во вкладке DRIVERS:
- Name - имя управляемого устройства, произвольно
- Debug Level - какие уведомления следует выводить в лог сервера
- Local Connection - заполните список настроек подключения, он уникален для каждого драйвера
7. Настроить команды управления оборудованием и каналы обратной связи:
Настройте команды и каналы обратной связи на панели DRIVERS, точно так же, как и во вкладке Project Device Panel панельного проекта. Инструкции по драйверу Modbus можно найти на Wiki V2Если вы импортировали ранее созданный проект, то команды и каналы обратной связи уже настроены.
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 ExternalModbus() { IR.Log("External Modbus IP"); //выводит в лог сервера IR.GetDevice("ModBus TCP").SetParameters({Host: "192.168.0.93", Port: "502", UpdateTime: "500"}); // меняет настройки подключения к драйверу IR.SetVariable("Server.Tags.Status Modbus","We try to connect to External Modbus IP"); //записывает в виртуальный тег Status текст }; function InternalModbus() { IR.Log("Internal Modbus IP"); //выводит в лог сервера IR.GetDevice("ModBus TCP").SetParameters({Host: "213.114.30.30", Port: "502", UpdateTime: "500"}); // меняет настройки подключения к драйверу IR.SetVariable("Server.Tags.Status Modbus","We try to connect to Internal Modbus IP"); //записывает в виртуальный тег Status текст };3. В поле Script необходимой команды выберите нужную функцию для обеих команд.
В тестовом проекте добавлены примеры, как сделать функции SetParameters и Connect, Disconnect к драйверу.
9. Написать необходимые скрипты (опционально).
Как обращаться к каналам и тегам серверного проекта описано тут .10. Сохранить проект.
Modbus Server.sirpz2. Создать панельный проект
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. Виртуальные серверные каналы.
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 на панели "Project Device Panel"
- Нажать на иконку синхронизации.
- Согласиться с запросом синхронизации.
После того, как серверный и панельные проекты будут полностью готовы, необходимо загрузить их на сервер и панели.
> > Как загрузить серверный проект на iRidium Server
Customer support service by UserEcho