Поддержка OPC UA

Мы разработали шлюз для трансляции сообщений между MQTT-брокером и системами c поддержкой протокола OPC UA.

Шлюз предназанчен только для Wiren Board 6, предыдущие контролеры не поддерживаются.

Установка

Выполните команды:

echo "deb http://releases.contactless.ru/experimental.5 stretch main" > /etc/apt/sources.list.d/experim.5.list
apt update
apt install wb-mqtt-opcua

При запуске шлюза происходит автоматическое создание конфигурационного файла /etc/wb-mqtt-opcua.conf. При последующих запусках шлюз анализирует доступные MQTT каналы(контролы) и добавляет их в файл. Активировать передачу данных конкретных каналов можно, редактируя /etc/wb-mqtt-opcua.conf, либо воспользовавшись онлайн-редактором настроек.

Шлюз подключается к заданому MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола OPC UA выступает в роли сервера и принимает входящие TCP/IP соединения по указаному в конфигурационном файле локальному интерфейсу и порту.

Для контролов, доступных для записи (подтопик /meta/readonly равный 0), шлюз производит передачу значений, записанных в OPC UA узлы, в соответствующие on-топики.

Интерфейс онлайн-конфигуратора

После установки шлюза его можно настроить в интерфейсе онлайн-конфигуратора, выбрав из списка файл /etc/wb-mqtt-opcua.conf.

Онлайн-конфигуратор позволяет указать параметры подключения к MQTT-брокеру (дополнительные параметры можно выбрать, нажав на кнопку “Properties”) и выбрать локальный IP и порт, по которым шлюз будет ожидать подключения.

Выше расположен интерфейс редактирования списка групп и каналов для трансляции из MQTT в OPC UA. По умолчанию шлюз создаёт отдельную группу для каждого устройства. Список групп расположен слева, его можно самостоятельно редактировать.

При выборе конкретной группы в правой части появится список входящих в неё каналов. Каналы так же можно создавать, удалять и редактировать. Столбец “MQTT device and control” указывает конкретный канал MQTT. Он формируется из названия устройства и канала. Для первого в списке канала соотвествующий топик MQTT будет /devices/hwmon/controls/Board Temperature.

Пример настройки получения данных в MasterScada 3.x

3 Likes

Актуальная ссылка на пример настройки MasterScada 3.x.

Здравствуйте, при настройки OPC возникли проблемы, добавил MAP12h и MSWv3. Один MSW работал без проблем, но после того как добавил MAP, не могу подключиться клиентом а в журнал сыпятся сообщение данного типа

ERROR: [driver] failed to accept new meta “precision” on control

А после служба падает.

Какую версию вы используете? Эта ошибка была исправлена в версии 1.0.0

dpkg -s wb-mqtt-opcua
Package: wb-mqtt-opcua
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 461
Maintainer: Petr Krasnoshchekov <petr.krasnoshchekov@wirenboard.ru>
Architecture: armhf
Version: 0.1.0
Depends: libc6 (>= 2.17), libgcc1 (>= 1:3.5), libjsoncpp1 (>= 1.7.4), libstdc++6 (>= 6), libwbmqtt1 (>= 1.0.10), init-system-helpers (>= 1.18~)
Conffiles:
 /etc/wb-configs.d/18wb-mqtt-opcua 792abf331682a20286f85537d7c61476
Description: Wiren Board MQTT to OPC UA gateway

из репозитория обновлено все

Вам надо установить testing, как написано здесь.

В стабильном релизе это будет где-то в ноябре.

Спасибо, поставил из тестинга 1.0.1 . Пока тоже самое но без ошибок. При добавление мапа сервис постоянно перезагружается, подключиться не удается

Что-то есть в логах про перезагрузку?

Oct 15 11:42:20 wirenboard-AUE63WXO wb-mqtt-opcua[11255]: INFO: [OPCUA] session: SecureChannel 0 | Session g=00000001-0000-0000-0000-000000000000 | AddNode (ns=1;s=wb-map12h_67/Urms L1): Using attributes for f
Oct 15 11:42:20 wirenboard-AUE63WXO wb-mqtt-opcua[11255]: ERROR: [main] FATAL: Variable node ‘wb-map12h_67/Urms L1’ creation failed: BadDeviceFailure

На Напряжение по фазе 1 ругатеся

UDP. Отключил все Urms L стало работать

Можете полный лог со старта сервиса до появления ошибки прислать?

@PeteK
Здравствуйте, вот лог
logopc.txt (16.1 КБ)

Здравствуйте! В версии 1.0.2 сервиса wb-mqtt-opcua ошибка с перезагрузкой сервиса должна быть исправлена. Новая версия доступна в репозитории testing.

Добрый день. Поставил версию 1.0.3 все работает отлично. спасибо!
Такой вопрос, а можно поменять дерево OPCUA. добавить вложений в низ по дереву или собрать в папку по типу датчикам?
изображение

Здравствуйте! Пока, к сожалению, для этого штатных средств нет, возможно только добавление/удаление групп и каналов в группах.

1 Like