繁体   English   中英

如何在 Eclipse Milo 中获取 OPC UA 节点名称?

[英]How can I get OPC UA node name in Eclipse Milo?

我跟着 ManagedSubscriptionDataExample.java ( https://github.com/eclipse/milo/blob/master/milo-examples/client-examples/src/main/java/org/eclipse/milo/examples/client/ManagedSubscriptionDataExample.java ) github 页面上的示例,用于从 PLC S7-1200 读取 OPC 节点。

节点的值正在更新,但我无法获得名称。

对于代码:

subscription.addDataChangeListener((items, values) -> {
                for (int i = 0; i < items.size(); i++) {
                    logger.info(
                            "subscription value received: item={}, value={}, valueID={}",
                            items.get(i).getNodeId(), values.get(i).getValue(), items.get(i).getReadValueId());
                }

我得到回应:

信息:收到的订阅值:item=NodeId{ns=4, id=4}, value=Variant{value=false}, valueID=ReadValueId(nodeId=NodeId{ns=4, id=4}, attributeId=13, indexRange =null, dataEncoding=QualifiedName{name=null, namespaceIndex=0})

我看到该名称为空,并且没有方法可以获取节点名称。 但是如果我使用 OPC 客户端“OPC Expert”,我也可以获得节点的名称,就像它们在 PLC 上一样: 在此处输入图片说明

还有其他选项可以获取变量的名称吗?

UaExpert 做的记账比你做的多。 您应该知道您为哪些节点创建了 MonitoredItems,并且能够从这些节点获取 BrowseName 或 DisplayName 属性。

在该回调中,您可以访问 NodeId - 这应该是您访问 Node 和您感兴趣的任何属性的关键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM