当前位置: 首页 > 知识库问答 >
问题:

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

牟子真
2023-03-14

我遵循了ManagedSubscriptionDataExample。爪哇(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})

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

共有1个答案

厉高逸
2023-03-14

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

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

 类似资料:
  • 每个人 使用SoapUI 5.2.1和Groovy TestCase有2个测试步骤: SOAP请求“创建” Groovy脚本 请求内: 内部脚本: 此脚本返回: 我应该在脚本中更改什么,以便脚本可以返回我:

  • 我想在Android Studio中获取isSeen节点的值。M6F2mJjQ8uGPXAynZzV是消息的id,并将消息更改为消息。我想在适配器类中获得这个值。

  • 在C#中,我发现了一个非常可爱的方法,它允许您从指定的控件中获取所有后代及其所有后代。 我正在寻找一种类似的JavaFX方法。 我看到<code>Parent</code>类是我想要使用的,因为它是派生所有节点类的子类。 这就是我到目前为止所拥有的(我还没有在谷歌上找到任何像“JavaFX从场景中获取所有节点”这样的搜索): 那么,如何判断N是否是父级(或从父级扩展)?我这样做对吗?它似乎不起作用

  • 问题内容: 在C#中,我发现了一种非常可爱的方法,该方法使您可以从指定控件中获取所有后代和所有THEIR后代。 我正在寻找JavaFX的类似方法。 我看到了我要使用的类,因为它是派生所有带有孩子的Node类的类。 到目前为止,这是我所拥有的(并且我还没有在Google上通过“ JavaFX从场景中获取所有节点”之类的搜索真正找到任何东西): 那么,如何确定N是否是父母(或从父母继承)呢?我说的对吗

  • 我已经复制了某个节点的xpath Chrome返回 //*[@id=“\uuuuuw2\u cEfEsuQ\u列表项目”]/div/div[2]/div/div[1]/div[2]/a[1] 在Chrome控制台中执行此操作将返回 0可以扩展并包含许多子节点(我删除了其中的大部分,因为我在问题中抱怨代码太多),如下所示: 我需要返回和节点的xpath。我在上尝试了不同的变体,但都没有成功。我该怎么

  • 我可以使用以下方法获取第一个