簡體   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