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

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


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


Трансляция организовывается с помощью сервиса [https://github.com/wirenboard/wb-mqtt-opcua wb-mqtt-opcua], который нужно настроить перед использованием.
Трансляция организовывается с помощью сервиса [https://github.com/wirenboard/wb-mqtt-opcua wb-mqtt-opcua].
 
Сервис уже установлен на контроллере и доступен стабильном релизе, подробнее о релизах в статье [[Wiren_Board_Software | Программное обеспечение Wiren Board]].
 
== Принцип работы ==
При запуске шлюза происходит автоматическое создание конфигурационного файла <code>/etc/wb-mqtt-opcua.conf</code>. При последующих запусках шлюз анализирует доступные MQTT каналы (контролы) и добавляет их в файл. Активировать передачу данных конкретных каналов можно, редактируя <code>/etc/wb-mqtt-opcua.conf</code>, либо воспользовавшись онлайн-редактором настроек.
 
Шлюз подключается к заданному MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола OPC UA выступает в роли сервера и принимает входящие TCP/IP соединения по указанному в конфигурационном файле локальному интерфейсу и порту.
 
Для контролов, доступных для записи (подтопик <code>/meta/readonly</code>равный <code>0</code>), шлюз производит передачу значений, записанных в OPC UA узлы, в соответствующие <code>on</code>-топики.
 
== Настройка в веб-интерфейсе контроллера Wiren Board ==
[[Image: OPC UA Settihgs.png |300px|thumb|right| Настройка OPC UA в веб-интерфейсе контроллера Wiren Board]]
 
Шлюз можно настроить в веб-интерфейсе, для этого перейдите в раздел '''Settings''' → '''Configs''' → '''MQTT to OPC UA gateway configuration'''.
 
В конфигураторе можно указать:
* параметры подключения к MQTT-брокеру;
* дополнительные параметры, которые можно выбрать,нажав на кнопку '''Properties''';
* локальный IP и порт, по которым шлюз будет ожидать подключения.
 
По умолчанию шлюз создаёт отдельную группу для каждого устройства. Список групп расположен слева, его можно самостоятельно редактировать.
 
При выборе конкретной группы в правой части появится список входящих в неё каналов. Каналы так же можно создавать, удалять и редактировать.
 
Столбец '''MQTT device and control''' указывает конкретный канал MQTT, который формируется из названия устройства и канала: для первого в списке канала соответствующий топик MQTT будет <code>/devices/hwmon/controls/Board Temperature</code>.
 
== Пример настройки получения данных в MasterScada 3.x ==
Рассмотрим процесс настройки получения данных по протоколу OPC UA на примере работы с  MasterScada 3.x:
#Создайте новый проект, в нём вставьте компьютер, далее '''Вставить OPC UA сервер'''
#:[[Image: Scada Insert OPC UA Server.png |300px| Вставить OPC UA сервер ]]
#В настройках измените '''Настройки подключения'''
#:[[Image: Scada OPC UA Server Setting.png |300px|| Настройки подключения OPC UA сервера ]]
#Укажите адрес и порт OPC-сервера контроллера.
#:[[Image: Scada OPC UA Server Settings Ip_Port.png |300px| Настройки адреса и порта OPC-сервера контроллера ]]
#После нажатия кнопки '''Подключиться''', будут загружены доступные узлы. Выберите те, с которыми будете работать, и нажмите '''Применить'''. Они появятся в дереве слева.
#:[[Image: Scada OPC UA Server Connect.png |300px| Соединение с OPC-сервером ]]
#Проверить получаемые данные можно, запустив проект.
#:[[Image: Scada OPC UA Server Data.png |300px| Получение даннных от OPC-сервера ]]


Настройки сервиса хранятся в файле <code>/etc/wb-mqtt-opcua.conf</code> и могут быть изменены через веб-интерфейс, для этого в веб-интерфейсе перейдите в раздел '''Settings''' → '''Configs''' → '''MQTT to OPC UA gateway configuration'''.
== Полезные ссылки ==
* [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-сервера

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