OPC UA: различия между версиями

Материал из Wiren Board
 
(не показано 10 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Шлюз OPC UA }}
{{DISPLAYTITLE: Шлюз OPC UA }}
== Описание ==
== Описание ==
Шлюз работает на контроллерах [[Wiren Board 6]] и [[Wiren Board 7]], предыдущие версии не поддерживаются.
Шлюз работает на контроллерах Wiren Board 6, а также Wiren Board 7 и новее, предыдущие версии не поддерживаются.


Контроллеры Wiren Board могут транслировать сообщения из выбранных MQTT-топиков по протоколу OPC UA.  
Контроллеры Wiren Board могут транслировать сообщения из выбранных MQTT-топиков по протоколу OPC UA.  
Строка 7: Строка 7:
Функцию можно использовать для экспорта данных во внешнее программное обеспечение например, SCADA-системы с поддержкой OPC UA.
Функцию можно использовать для экспорта данных во внешнее программное обеспечение например, SCADA-системы с поддержкой OPC UA.


Трансляция организовывается с помощью сервиса [https://github.com/wirenboard/wb-mqtt-opcua wb-mqtt-opcua], который нужно настроить перед использованием в веб-интерфейсе, для этого перейдите в раздел '''Settings''' → '''Configs''' → '''MQTT to OPC UA gateway configuration'''.
Трансляция организовывается с помощью сервиса [https://github.com/wirenboard/wb-mqtt-opcua wb-mqtt-opcua].


Сервис уже установлен на контроллере и доступен в любом стабильном [[Wiren_Board_Firmware_Update | релизе]].
Сервис уже установлен на контроллере и доступен стабильном релизе, подробнее о релизах в статье [[Wiren_Board_Software | Программное обеспечение Wiren Board]].


== Принцип работы ==
== Принцип работы ==
Строка 18: Строка 18:
Для контролов, доступных для записи (подтопик <code>/meta/readonly</code>равный <code>0</code>), шлюз производит передачу значений, записанных в OPC UA узлы, в соответствующие <code>on</code>-топики.
Для контролов, доступных для записи (подтопик <code>/meta/readonly</code>равный <code>0</code>), шлюз производит передачу значений, записанных в OPC UA узлы, в соответствующие <code>on</code>-топики.


== Интерфейс онлайн-конфигуратора ==
== Настройка в веб-интерфейсе контроллера Wiren Board ==
После установки шлюза его можно настроить в интерфейсе [https://wirenboard.com/wiki/Wiren_Board_Web_Interface#Settings_-.3E_Configs_.28.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_-.3E_.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.29  онлайн-конфигуратора], выбрав из списка файл <code>/etc/wb-mqtt-opcua.conf</code>.
[[Image: OPC UA Settihgs.png |300px|thumb|right| Настройка OPC UA в веб-интерфейсе контроллера Wiren Board]]


Онлайн-конфигуратор позволяет указать параметры подключения к MQTT-брокеру (дополнительные параметры можно выбрать, нажав на кнопку “Properties”) и выбрать локальный IP и порт, по которым шлюз будет ожидать подключения.
Шлюз можно настроить в веб-интерфейсе, для этого перейдите в раздел '''Settings''' → '''Configs''' → '''MQTT to OPC UA gateway configuration'''.


[[Image: OPC UA Settihgs.png |500px|center| Настройка OPC UA ]]
В конфигураторе можно указать:
* параметры подключения к MQTT-брокеру;
* дополнительные параметры, которые можно выбрать,нажав на кнопку '''Properties''';
* локальный IP и порт, по которым шлюз будет ожидать подключения.


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


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


== Пример настройки получения данных в MasterScada 3.x ==
== Пример настройки получения данных в MasterScada 3.x ==
Рассмотрим процесс настройки получения данных по протоколу OPC UA на примере работы с  MasterScada 3.x:
Рассмотрим процесс настройки получения данных по протоколу OPC UA на примере работы с  MasterScada 3.x:
#Создайте новый проект, в нём вставьте компьютер, далее <code>Вставить OPC UA сервер</code>
#Создайте новый проект, в нём вставьте компьютер, далее '''Вставить OPC UA сервер'''
#:[[Image: Scada Insert OPC UA Server.png |300px| Вставить OPC UA сервер ]]
#:[[Image: Scada Insert OPC UA Server.png |300px| Вставить OPC UA сервер ]]
#В настройках измените <code>Настройки подключения</code>
#В настройках измените '''Настройки подключения'''
#:[[Image: Scada OPC UA Server Setting.png |300px|| Настройки подключения OPC UA сервера ]]
#:[[Image: Scada OPC UA Server Setting.png |300px|| Настройки подключения OPC UA сервера ]]
#Укажите адрес и порт OPC-сервера контроллера.
#Укажите адрес и порт OPC-сервера контроллера.
#:[[Image: Scada OPC UA Server Settings Ip_Port.png |300px| Настройки адреса и порта OPC-сервера контроллера ]]
#:[[Image: Scada OPC UA Server Settings Ip_Port.png |300px| Настройки адреса и порта OPC-сервера контроллера ]]
#После нажатия кнопки <code>Подключиться</code>, будут загружены доступные узлы. Выберите те, с которыми будете работать, и нажмите <code>Применить</code>. Они появятся слева в дереве.
#После нажатия кнопки '''Подключиться''', будут загружены доступные узлы. Выберите те, с которыми будете работать, и нажмите '''Применить'''. Они появятся в дереве слева.
#:[[Image: Scada OPC UA Server Connect.png |300px| Соединение с OPC-сервером ]]
#:[[Image: Scada OPC UA Server Connect.png |300px| Соединение с OPC-сервером ]]
#Проверить получаемые данные можно, запустив проект.
#Проверить получаемые данные можно, запустив проект.
Строка 43: Строка 48:


== Полезные ссылки ==
== Полезные ссылки ==
* [https://support.wirenboard.com/t/podderzhka-opc-ua/6927 Тема на форуме]
* [https://support.wirenboard.com/t/podderzhka-opc-ua/6927 Тема на портале поддержки]
* [https://github.com/wirenboard/wb-mqtt-opcua Репозиторий wb-mqtt-opcua на Github]
* [https://github.com/FreeOpcUa/opcua-client-gui Simple OPC-UA GUI client]

Текущая версия на 11:52, 21 декабря 2023

Описание

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

Контроллеры Wiren Board могут транслировать сообщения из выбранных MQTT-топиков по протоколу OPC UA.

Функцию можно использовать для экспорта данных во внешнее программное обеспечение например, SCADA-системы с поддержкой OPC UA.

Трансляция организовывается с помощью сервиса wb-mqtt-opcua.

Сервис уже установлен на контроллере и доступен стабильном релизе, подробнее о релизах в статье Программное обеспечение Wiren Board.

Принцип работы

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

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

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

Настройка в веб-интерфейсе контроллера Wiren Board

Настройка OPC UA в веб-интерфейсе контроллера Wiren Board

Шлюз можно настроить в веб-интерфейсе, для этого перейдите в раздел SettingsConfigsMQTT to OPC UA gateway configuration.

В конфигураторе можно указать:

  • параметры подключения к MQTT-брокеру;
  • дополнительные параметры, которые можно выбрать,нажав на кнопку Properties;
  • локальный IP и порт, по которым шлюз будет ожидать подключения.

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

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

Столбец MQTT device and control указывает конкретный канал MQTT, который формируется из названия устройства и канала: для первого в списке канала соответствующий топик MQTT будет /devices/hwmon/controls/Board Temperature.

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

Рассмотрим процесс настройки получения данных по протоколу OPC UA на примере работы с MasterScada 3.x:

  1. Создайте новый проект, в нём вставьте компьютер, далее Вставить OPC UA сервер
    Вставить OPC UA сервер
  2. В настройках измените Настройки подключения
    Настройки подключения OPC UA сервера
  3. Укажите адрес и порт OPC-сервера контроллера.
    Настройки адреса и порта OPC-сервера контроллера
  4. После нажатия кнопки Подключиться, будут загружены доступные узлы. Выберите те, с которыми будете работать, и нажмите Применить. Они появятся в дереве слева.
    Соединение с OPC-сервером
  5. Проверить получаемые данные можно, запустив проект.
    Получение даннных от OPC-сервера

Полезные ссылки