我无法从 Eclipse Milo Client 和 KepServerEx 服务器中的服务器获取价值

Posted

技术标签:

【中文标题】我无法从 Eclipse Milo Client 和 KepServerEx 服务器中的服务器获取价值【英文标题】:I cannot get value from server in Eclipse Milo Client and KepServerEx server 【发布时间】:2021-12-17 05:46:20 【问题描述】:

我正在使用 Eclipse Milo 0.6.3 和 KepServerEx 6。找到与服务器的连接。

Here the server with all groups and tags

我的目标是在 Java 客户端中获取标签值并处理它们;

如果我这样做: client.getAddressSpace().getObjectNode(new NodeId(2,"Codesys.CA1.Application.GVL_OPC_Vars.MDD_a_bArrB1000[x]")).browse()

我得到List<ReferenceDescription> referenceDescriptions 的列表(2000 个变量)

但是当我尝试获取单个标签时出现错误:

UaVariableNode node = client.getAddressSpace().getVariableNode(new NodeId(0, "Codesys.CA1.Application.GVL_OPC_Vars.MDD_a_bArrB1000[x].MDD_a_bArrB1000[1]")); DataValue value = node.readValue();

异常跟踪:

status=Bad_NodeIdUnknown, description=The node id refers to a node that does not exist in the server address space.

在 PLC 中MDD_a_bArrB0000, MDD_a_bArrB1000, MDD_a_bArrB3000, MDD_a_bArrB4000 是数组。

如果有人可以在这方面帮助我。

【问题讨论】:

【参考方案1】:

您正在构建的NodeId 肯定是错误的。命名空间索引 0 保留供 OPC 基金会使用。

【讨论】:

嗨,凯文,通过回复思考。你是对的 nodeId 是错误的。我也试过了:client.getAddressSpace().getObjectNode(new NodeId(2, "Codesys.CA1.Application.GVL_OPC_Vars.MDD_a_bArrB1000[x].MDD_a_bArrB1000[1]")) 但是得到了同样的错误”UaException: status=Bad_NodeIdUnknown, message=The node id refers to a node that does not exist in the server address space. 获取标签变量的正确路径是什么?谢谢 这看起来是正确的,但是您必须遵循一个或多个浏览调用,直到您到达节点才能确定。或者您可以在其他客户端(如 UaExpert)中查看以进行验证。 我认为问题出在 KepServerEx 上。甚至UAExpert 也看不到该节点。我得到 badNodIdUnknown

以上是关于我无法从 Eclipse Milo Client 和 KepServerEx 服务器中的服务器获取价值的主要内容,如果未能解决你的问题,请参考以下文章

opc-ua milo项目的骆驼路线

Eclipse:无法加载 JNI 共享库“C:\Windows\system32\..\jre\bin\client\jvm.dll”

Springboot 实现操作OPC ua Server 的数据读写 | 代码教程

Springboot 实现操作OPC ua Server 的数据读写 | 代码教程

如何将 OPC-UA 数据与 Kafka 连接?

Eclipse 错误:无法加载 JNI 共享库“C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll [重复]