如何用asyncua(Python)判断服务器上是否已经存在特定名称的 node ?
如果它存在,则应该使用它,如果它不存在,则应该创建该 node .
Use case: opcua客户端必须在opcua服务器上写入数据.客户端还为数据创建对象和 node . 如果客户端离线,服务器将保留 node 和对象. 当客户端重新联机时,它必须判断服务器是否有对象或已被重置.
如何用asyncua(Python)判断服务器上是否已经存在特定名称的 node ?
如果它存在,则应该使用它,如果它不存在,则应该创建该 node .
Use case: opcua客户端必须在opcua服务器上写入数据.客户端还为数据创建对象和 node . 如果客户端离线,服务器将保留 node 和对象. 当客户端重新联机时,它必须判断服务器是否有对象或已被重置.
您可以try 从它读取任何属性:
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')