Eclipse Milo: Как использовать функцию обнаружения OPC UA? - PullRequest
0 голосов
/ 02 января 2019

У меня есть несколько вопросов о функции обнаружения OPC UA:

  1. Как мне зарегистрировать OPC UA-сервер на discovery-сервере? Это возможно только если производитель предоставляет что-то вроде веб интерфейс для этого, или есть стандартизированный способ сделать это?
  2. Как зарегистрировать OPC UA-сервер, созданный с помощью milo, на discovery-сервере?
  3. Можно ли отключить discovery-сервер, который автоматически запускается с milo opc ua-server?
  4. Как получить информацию о зарегистрированных серверах с milo?

1 Ответ

0 голосов
/ 02 января 2019
  1. Как зарегистрировать OPC UA-сервер на сервере обнаружения?Это возможно только в том случае, если производитель предоставляет для этого что-то вроде веб-интерфейса или существует стандартизированный способ сделать это?

Производителю необходимо поддерживать профиль обнаружения.Спецификация OPC UA 11 (свободно доступна после регистрации: https://opcfoundation.org/developer-tools/specifications-unified-architecture/) описывает это более подробно.

Существует три основных понятия для OPC UA Discovery:

  • Локальный сервер обнаружения (LDS):
    Клиенту необходимо знать IP-адрес сервера LDS и затем вызывать услугу RegisterServer или RegisterServer2 через OPC UA.

  • Локальный сервер обнаружения с расширением многоадресной рассылки (LDS-ME):
    Сервер и клиент используют стандартизированные многоадресные запросы mDNS для поиска других экземпляров OPC UA в сети. Как только сервер LDS-ME объявляет о себе, обычный OPC UAсервер знает IP-адрес и вызывает RegisterServer или RegisterServer2

  • Global Discovery Server (GDS):
    В больших системах может быть несколько подсетей, где многоадресные запросы неработа. GDS - это корпоративный сервер обнаружения, который также поддерживает управление сертификатами.

Как зарегистрировать OPC UA-сервер, созданный с помощью milo, на сервере обнаружения?

Eclipse Milo не полностью поддерживает функции обнаружения.Он в основном поддерживает LDS.В настоящее время существует один открытый PR, но, к сожалению, он еще не объединен: https://github.com/eclipse/milo/pull/89

Можно ли отключить сервер обнаружения, который автоматически запускается с помощью ua-сервера milo opc?

Поскольку Eclipse Milo по умолчанию не поддерживает службы обнаружения, он неавтоматически запускаетсяВ любом случае вы можете определить, какие сервисы поддерживаются, добавляя или удаляя соответствующий набор сервисов.Проверьте эту строку:

stackServer.addServiceSet((DiscoveryServiceSet) sessionManager);

https://github.com/eclipse/milo/pull/89/files#diff-6eb416ef6889e36b34b34e32cb78b823R122

Как получить информацию о зарегистрированных серверах с milo?

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

  • FindServers возвращает список зарегистрированных серверов, который называется RegisterServer или RegisterServer2
  • FindServersOnNetwork поддерживается только для серверов LDS-ME и дополнительновозвращает серверы, которые объявили себя через сообщение mDNS, но еще не зарегистрировались.

Если вы ищете стек с открытым исходным кодом, который полностью реализует функции LDS и LDS-ME, вы можетевзгляните на проект open62541, который является реализацией OPC UA на C / C ++: https://github.com/open62541/open62541

Функция GDS в настоящее время разрабатывается для стека open62541.(Отказ от ответственности: я один из основных разработчиков на open62541)

Дополнительные источники:

Вы также можете проверить статью, которую я написал о функции OPC UA LDS-ME Discovery и конкретнойсценарий использования под названием OPC UA для Plug & Produce: автоматическое обнаружение устройств с использованием LDS-ME (https://mediatum.ub.tum.de/node?id=1375255)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...