如何使用asyncua检查特定的opc ua节点是否已经存在?

问题描述 投票:0回答:1

如何使用 asyncua (python) 检查服务器上是否已存在具有特定名称的节点?

如果存在,则应使用它;如果不存在,则应创建该节点。

用例: opcua-client 必须在 opcua-server 上写入数据。客户端还为数据创建对象和节点。 如果客户端离线,服务器将保留节点和对象。 当客户端重新上线时,它必须检查服务器是否有对象或已重置。

python opc-ua
1个回答
0
投票

您可以尝试从中读取任何属性:

async def check_if_node_exists(client, node_id):
    node = client.get_node(node_id)
    try:
        _ = await node.read_browse_name()
        return True
    except BadNodeIdUnknown as e:
        return False

node_id = "ns=4;s=ABC"
if(check_if_node_exists(client, node_id)):
   print('found')
else:
   print('not found')
 
© www.soinside.com 2019 - 2024. All rights reserved.