Настройка драйверов

В OrangeScada есть два способа организации коммуникации с оконечным оборудованием: при помощи встроенных драйверов (Modbus TCP и OPC DA), либо при помощи универсального драйвера, который позволяет реализовывать собственную обработку коммуникации с контроллерами через механизм REST API. При использовании первого способа нет необходимости выполнять какие-либо настройки в инструменте "Драйвер", можно сразу переходить к настройке устройств в дереве проекта. Если стандартные драйверы не походят для Вашего проекта, то можно воспользоваться универсальным драйвером, установив на клиентскую систему свой обработчик, либо воспользовавшись нашей библиотекой (в настоящий момент доступен драйвер удаленного Modbus-устройства, с течением времени библиотека будет дополняться). Для разработки собственных драйверов воспользуйтесь руководством по использованию функций API.

Далее в этой статье мы подразумеваем, что у нас для примера на клиентской стороне настроен и запущен драйвер удаленного Modbus-устройства. Будем считать, что клиентский драйвер запущен со следующими параметрами:

Хост (orangeScadaHost)
localhost (тестируем драйвер на той же рабочей станции, что и сервер)
Порт (orangeScadaPort)
8892
Шифрование (ssl)
true
Уникальный ID драйвера (uid)
1234
Пароль (password)
password

В настройках OrangeScada (для оконного режима - в меню программы, для режима работы как сервис - при помощи утилиты ConfigOS.exe) выполняем настройку, аналогично параметрам драйвера:

Настройка параметров соединения с драйвером

После окончания настроек соединения можно переходить в меню драйверы для настройки коммуникации с оконечными устройствами:

Инструмент "драйверы"

Добавляем новый драйвер и заполняем форму, указав uid драйвера и пароль (если он задан в драйвере):

Добавление драйвера

При установке соединения, появляется галка в статусе "Коннект", а также отображается номер версии драйвера:

Статус удачного соединения

При отсутствии связи нужно проверить: статус работы драйвера в логе основного окна программы (оконный режим запуска), окно диагностики драйвера, лог клиентской части драйвера.

Диагностика драйвера

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

Настройка отображения диагностики

Для настройки связи с оконечным оборудованием, выберем в строке драйвера иконку "Настройки"

Настройка драйвера

При помощи правой кнопки мыши добавим новый коммуникационный узел:

Добавление коммуникационного узла

В качестве ModbusHost указывается IP-адрес или доменное имя Modbus-устройства в локальной сети клиента. В нашем примере клиентская часть драйвера и коммуникационный узел Modbus находятся на одном устройстве, поэтому в поле ModbusHost мы указываем localhost или 127.0.0.1

Добавление коммуникационного узла

Для добавления Modbus-устройства в коммуникационный узел, выберем последний и при помощи правой кнопки мыши вызовем контекстное меню в котором последовательно выберем "Добавить" и "Устройство".

Добавление устройства

Введем название, ModbusID, время ожидания отклика устройства, разрешение на использование функций мультизаписи регистров:

Добавление устройства

Если коммуникационный узел обслуживает несколько Modbus-устройств(в такой схеме IP-адрес для группы будет одинаковый, а ModbusID разными), то устройства последовательно добавляются в коммуникационный узел. Если у каждого устройства свой IP, то оно представляет из себя одновременно и коммуникационный узел и оконечное Modbus-устройство и в нашей схеме у каждого коммуникационного узла будет только один вложенный элемент.

Для настройки тегов необходимо выбрать Modbus-устройство и перейти при помощи опции "Теги" к списку тегов:

Редактирование тегов устройства

Для добавления тегов воспользуется кнопкой "Добавить" из верхнего меню. Следует отметить, что некоторые драйвера могут не поддерживать ручное добавление тегов и опция "Добавить" будет для них недоступна. Набор параметров как для добавления тегов, так и для узлов определяется внутри самого драйвера и для различных драйверов будет разным.

Добавление тегов для устройства

Для тегов рассматриваемого нами драйвера Modbus-устройства список параметров выглядит так:

Название
Название тега
ID переменной
Идентификатор, определяющий сортировку тегов в списке, может быть не уникальным
Переменная
Тип переменной: bool, int, float, datetime, string
Чтение
Разрешение на чтение тега
Запись
Разрешение на запись тега
Modbus Var Type
Тип modbus переменной: Coil, Discrete Input, Holding Register, Input Register
Modbus Var Address
Номер регистра Modbus
Modbus Display Var Type
Способ отображения значений переменной (применительно к int/float): Int, Unsigned Int, LongInt, Unsigned LongInt, Float, Double. Также, параметром определяется какое количество регистров Modbus будет прочитано/записано при работе с тегом
Modbus bytes order
Параметр определяет порядок следования байтов при считывании/записи регистров тега: Big Endian, Little Endian, Big Endian Bytes Swap, Little Endian Bytes Swap
Length (for string type)
Длина буфера для считывания строк (применительно к строковому типу)
String Encoding
Кодировка текста (применительно к строковому типу): ASCII Code Page 855, ASCII Code Page 866, Windows-1251

В отличии от встроенного драйвера Modbus, в универсальном драйвере нет дополнительных функций, таких как копирование/вставка, импорт/экспорт, групповое редактирование, сдвиг адресации. Однако, продвинутые пользователи смогут выполнять подобные действия, работая напрямую с конфигурационным файлом на стороне клиента (driverConfig.json)

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