2

我刚刚检查了 Eclipse Milo 项目 ( https://projects.eclipse.org/proposals/milo ),对于“开放”的 OPC UA 客户端/服务器来说,这似乎是一个很棒的项目,即使已经实现了 OPC 堆栈。github ( https://github.com/eclipse/milo ) 上的项目包含一个 Hello World 示例,其中启动了 OPC 服务器并从客户端发送和接收示例节点。一切正常!

但在下一步中,我想检查服务器是否配置正确。因此,我安装了 Matrikon Explorer,但 Explorer 在启动后立即显示“此机器上未安装 OPC 服务器”(当然,运行 OPC 服务器的 hello world 示例正在运行)。

还检查了 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");
    }
}
4

1 回答 1

2

Matrikon Explorer 是一个 OPC-COM/DA 客户端,可能正在询问 OPC Enum 服务以查找已注册的 COM 客户端。

OPC-UA 是一种完全不同的、独立于平台的技术。注册的概念仍然存在,但默认情况下不是强制的。

尝试使用像 UaExpert 这样的 OPC-UA 客户端进行连接。鉴于您复制的配置,您需要将 UaExpert 指向端点 URL opc.tcp://localhost:12686/test-server

我猜一旦你连接到部分实现的“hello world”命名空间就会出现问题。我将确保本周提交一个完全可用的命名空间示例。

您还可以查看 OpcUaClientIT 集成测试类以了解各种客户端功能以及设置服务器的另一个示例。

于 2016-08-08T13:33:48.830 回答