【问题标题】:How can I on browsing Nodes with Milo OPCUA Client, chek the Datatyp如何使用 Milo OPCUA 客户端浏览节点,检查数据类型
【发布时间】:2018-02-05 12:03:05
【问题描述】:

我正在使用 Milo OPCUA Client 浏览节点:

//get my baseNodes
List<ReferenceDescription> references = toList(browseResult.getReferences());

    for (ReferenceDescription rd : references) {

            //check all nodes under Basenodes
            rd.getNodeId().local().ifPresent(nodeId -> browseNode(indent + "  ", client, nodeId));

            if ((rd.getNodeClass().getValue() == 2)){
                    referencesChilds.add(rd);
            }
        }

我想让他检查这个变量,如果它是一个数组,然后添加到我的 referencesChilds 列表中。

if ((rd.getNodeClass().getValue() == 2)){
     referencesChilds.add(rd);
}

我该怎么做,任何想法,ReferenceDescription 对象都没有检查数据类型的方法。

【问题讨论】:

    标签: java opc-ua milo


    【解决方案1】:

    浏览后的下一步通常是调用读取服务并读取每个节点的DataTypeValueRankArrayDimensions 属性。

    【讨论】:

    • 是的,这样做:ReadValueId readValueId = new ReadValueId(nodeId, AttributeId.Value.uid(), null, QualifiedName.NULL_VALUE); 在此之后我订阅了节点。但是如果我订阅,我会检查它是否是一个数组,但我不知道如何。
    猜你喜欢
    • 2017-05-04
    • 2018-08-03
    • 2021-01-14
    • 1970-01-01
    • 2012-08-28
    • 2012-06-14
    • 2020-02-18
    • 2011-11-12
    • 2016-07-28
    相关资源
    最近更新 更多