如何从PLC访问所有数据库中的所有变量(不指定数据库或变量的名称)?

  • 本文关键字:数据库 变量 PLC 访问 python plc opc-ua
  • 更新时间 :
  • 英文 :


在plc数据库中,我有一个名为"status"的数据库,它有一个名为"Temperature"的变量。由于我知道名称,因此我像这样访问此变量的值:

from opcua import Client
client = Client("url")
client.connect()
temperature = client.get_node("ns=3;s="status"."Temperature"").get_value()

现在,如何在不知道数据库或变量名称的情况下获取此信息?我想要一个通用代码,它从给定的 PLC url 获取所有内容。

您正在寻找Browse服务。

查看您正在使用的任何工具包的文档或示例。

找到答案:

from opcua import Client
client = Client("url")
client.connect()
node = client.get_objects_node()
def walk(node):
a = node.get_children()
for child in a:
if child.get_children():
walk(child)
else:
try:
print(type(child.get_browse_name()), child.get_value())
except:
pass

相关内容

  • 没有找到相关文章

最新更新