关于OPC UA的发现特性,我有一些疑问:
发布于 2019-01-02 09:47:32
制造商需要支持发现概要文件。OPC规范第11部分(注册后可自由雪崩:https://opcfoundation.org/developer-tools/specifications-unified-architecture/)更详细地描述了这一点。
OPC UA发现有三个主要概念:
RegisterServer或RegisterServer2服务。RegisterServer或RegisterServer2。Eclipse Milo并不完全支持这一发现特性。它基本上支持LDS。目前有一个开放的PR由我自己,但不幸的是,它还没有合并:https://github.com/eclipse/milo/pull/89
由于Eclipse默认不支持发现服务,所以它不会自动启动。无论如何,您都可以通过添加或移除相应的服务集来定义支持哪些服务。请看这一行:
stackServer.addServiceSet((DiscoveryServiceSet) sessionManager);https://github.com/eclipse/milo/pull/89/files#diff-6eb416ef6889e36b34b34e32cb78b823R122
在另一台服务器通过RegisterServer或RegisterServer2注册自己之后,客户端可以通过两个服务调用检索已注册服务器的列表。
FindServers返回已注册服务器的列表,称为RegisterServer或RegisterServer2FindServersOnNetwork只支持LDS服务器,并且还返回通过mDNS消息宣布自己但尚未注册的服务器。如果您正在寻找一个完全实现LDS和LDS-ME特性的开源堆栈,您可以查看open62541项目,它是OPC UA:https://github.com/open62541/open62541的C/C++实现。
目前正在为open62541堆栈开发GDS功能。(免责声明:我是open62541的核心开发人员之一)
其他资源来源:
您还可以查看我写的一篇关于OPC UA LDS-ME发现特性的论文,以及一个名为OPC UA for Plug & Produce:使用LDS-ME (https://mediatum.ub.tum.de/node?id=1375255)的自动设备发现的专用用例。
https://stackoverflow.com/questions/54003001
复制相似问题