2016-08-08 4 views
2

Я только что проверил проект Eclipse Milo (https://projects.eclipse.org/proposals/milo), который, кажется, отличный проект для «открытого» OPC UA Client/Server даже с реализованным стеком OPC. Проект github (https://github.com/eclipse/milo) содержит пример Hello World, в котором запускается OPC-сервер, и примерный узел отправляется и принимается от клиента. Все работает отлично!Конфигурация OPC UA Server (Milo)?

Но на следующем шаге я хотел проверить, правильно ли настроен сервер. Поэтому я установил Matrikon Explorer, но Explorer указывает «Нет OPC-серверов, установленных на этом компьютере» сразу после запуска (хотя пример приветствия с работающим OPC-сервером работает, конечно).

Также проверяется, если SAP Plant Connectivity является признание OPC-сервер (который является целью моего проекта) -> «не найдено ни одного OPC-сервера в вашей системе/локальный»

Где моя проблема, что мне должны ли они правильно установить и настроить сервер?

Вот пример Hello World:

public static void main(String[] args) throws Exception { 
    // Start server 

    int port = 12686; 
    String serverName = "test-server"; 
    OpcUaServerConfig serverConfig = OpcUaServerConfig.builder() 
     .setBindPort(port) 
     .setCertificateManager(new DefaultCertificateManager()) 
     .setCertificateValidator(new DefaultCertificateValidator(createTempDir())) 
     .setServerName(serverName) 
     .setUserTokenPolicies(singletonList(USER_TOKEN_POLICY_ANONYMOUS)) 
     .build(); 

    OpcUaServer server = new OpcUaServer(serverConfig); 

    server.getNamespaceManager().registerAndAdd(
     "urn:eclipse:milo:opcua:test-namespace", 
     idx -> new HelloNamespace()); 

    server.startup(); 

    while(true){ 
     System.out.println("server running"); 
    } 
} 

ответ

2

Matrikon Проводник является клиентом OPC-COM/DA, и, вероятно, опрашивая услугу OPC Enum для того, чтобы найти зарегистрированных COM-клиентов.

OPC-UA - совершенно другая, независимая от платформы технология. Концепция регистрации все еще существует, но по умолчанию она не принудительно.

Попробуйте использовать клиент OPC-UA, например UaExpert для подключения. Учитывая конфигурацию, которую вы скопировали, вы хотите указать UaExpert на URL-адрес конечной точки. Opc.tcp: // localhost: 12686/test-server

Я предполагаю, что возникнет проблема после подключения к частично реализовано пространство имен «hello world». Я убеждаюсь, что мы получим полностью используемый пример пространства имен, зафиксированный на этой неделе.

Вы также можете посмотреть класс тестирования интеграции OpcUaClientIT для различных клиентских функций и еще один пример настройки сервера.

+0

Спасибо за очень быстрый и полезный ответ. Как вы можете заметить, я вроде как новичок @ OPC-архитектуры. Некоторые исследования OPC-COM/DA и OPC-UA теперь ... – Martin

+0

... Моя текущая проблема: я настроил OPC-сервер как исходную систему в SAP Plannt Connectivity (он поддерживает общие операционные системы как источник системы). Я сконфигурировал конечную точку сервера как «opc.tcp: // localhost: 12686/test-server». Проверяя соединение, сервер, похоже, распознается, но он заявляет: «Сервер не возвратил EndpointDescription, который соответствовал тому, который использовался для создания защищенного канала». Является ли это проблемой с моей конфигурацией сервера Milo или является более вероятной проблемой на стороне SAP? Вы знаете такую ​​ошибку или какие-либо предложения по ее устранению? – Martin

+0

Ошибки, подобные этому, обычно можно фиксировать с обеих сторон. В принципе, вы установили свой пример для привязки к localhost, но SAP подключается через какой-то другой IP-адрес и замечает несоответствие. Иногда этого нельзя избежать, например, когда вы подключаетесь к удаленному серверу, на котором используется внешний IP-адрес, который вы не можете связать. В этом случае вы, вероятно, можете просто изменить конфигурацию Milo, чтобы включить дополнительные адреса для привязки. Вызывайте 'setBindAddresses' при создании конфигурации сервера. –