我无法从 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 服务器中的服务器获取价值的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse:无法加载 JNI 共享库“C:\Windows\system32\..\jre\bin\client\jvm.dll”
Springboot 实现操作OPC ua Server 的数据读写 | 代码教程
Springboot 实现操作OPC ua Server 的数据读写 | 代码教程
Eclipse 错误:无法加载 JNI 共享库“C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll [重复]