使用 opcua-asyncio 从 OPC UA 读取多个值

read multiple values from OPC UA with opcua-asyncio

我正在寻找一种方法来一次从多个节点读取值而不是使用循环。

我用 CSV 文件中的节点对象创建了一个列表。

for index, row in force_list.iterrows():
            tag = client.get_node(row['Address'])
            forces.append(tag)

我在循环中使用此列表来检索值以及时间戳和节点名称。

 for i in self.forces:
       self.force_values.append((ts, str(i).split(".", 3)[-1], await i.read_value()))

这可行,但由于对服务器的多次请求,速度很慢。 python?

您可以使用 read_values 从客户端读取一个网络请求中的所有值。

示例:

vals = await client.read_values(self.forces)