В OrangeScada есть два способа организации коммуникации с оконечным оборудованием: при помощи встроенных драйверов (Modbus TCP и OPC DA), либо при помощи универсального драйвера, который позволяет реализовывать собственную обработку коммуникации с контроллерами через механизм REST API. При использовании первого способа нет необходимости выполнять какие-либо настройки в инструменте "Драйвер", можно сразу переходить к настройке устройств в дереве проекта. Если стандартные драйверы не походят для Вашего проекта, то можно воспользоваться универсальным драйвером, установив на клиентскую систему свой обработчик, либо воспользовавшись нашей библиотекой (в настоящий момент доступен драйвер удаленного Modbus-устройства, с течением времени библиотека будет дополняться). Для разработки собственных драйверов воспользуйтесь руководством по использованию функций API.
Далее в этой статье мы подразумеваем, что у нас для примера на клиентской стороне настроен и запущен драйвер удаленного Modbus-устройства. Будем считать, что клиентский драйвер запущен со следующими параметрами:
В настройках OrangeScada (для оконного режима - в меню программы, для режима работы как сервис - при помощи утилиты ConfigOS.exe) выполняем настройку, аналогично параметрам драйвера:
После окончания настроек соединения можно переходить в меню драйверы для настройки коммуникации с оконечными устройствами:
Добавляем новый драйвер и заполняем форму, указав uid драйвера и пароль (если он задан в драйвере):
При установке соединения, появляется галка в статусе "Коннект", а также отображается номер версии драйвера:
При отсутствии связи нужно проверить: статус работы драйвера в логе основного окна программы (оконный режим запуска), окно диагностики драйвера, лог клиентской части драйвера.
В настройках диагностики драйвера есть возможность выбрать типы событий для отображения:
Для настройки связи с оконечным оборудованием, выберем в строке драйвера иконку "Настройки"
При помощи правой кнопки мыши добавим новый коммуникационный узел:
В качестве ModbusHost указывается IP-адрес или доменное имя Modbus-устройства в локальной сети клиента. В нашем примере клиентская часть драйвера и коммуникационный узел Modbus находятся на одном устройстве, поэтому в поле ModbusHost мы указываем localhost или 127.0.0.1
Для добавления Modbus-устройства в коммуникационный узел, выберем последний и при помощи правой кнопки мыши вызовем контекстное меню в котором последовательно выберем "Добавить" и "Устройство".
Введем название, ModbusID, время ожидания отклика устройства, разрешение на использование функций мультизаписи регистров:
Если коммуникационный узел обслуживает несколько Modbus-устройств(в такой схеме IP-адрес для группы будет одинаковый, а ModbusID разными), то устройства последовательно добавляются в коммуникационный узел. Если у каждого устройства свой IP, то оно представляет из себя одновременно и коммуникационный узел и оконечное Modbus-устройство и в нашей схеме у каждого коммуникационного узла будет только один вложенный элемент.
Для настройки тегов необходимо выбрать Modbus-устройство и перейти при помощи опции "Теги" к списку тегов:
Для добавления тегов воспользуется кнопкой "Добавить" из верхнего меню. Следует отметить, что некоторые драйвера могут не поддерживать ручное добавление тегов и опция "Добавить" будет для них недоступна. Набор параметров как для добавления тегов, так и для узлов определяется внутри самого драйвера и для различных драйверов будет разным.
Для тегов рассматриваемого нами драйвера Modbus-устройства список параметров выглядит так:
В отличии от встроенного драйвера Modbus, в универсальном драйвере нет дополнительных функций, таких как копирование/вставка, импорт/экспорт, групповое редактирование, сдвиг адресации. Однако, продвинутые пользователи смогут выполнять подобные действия, работая напрямую с конфигурационным файлом на стороне клиента (driverConfig.json)
Выполнив настройку драйвера, Вы сможете использовать его в проектах, как шаблон для устройств. Как выполняется подключение, описано в статье Дерево проекта, устройства, настройка связи