You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python OPC UA客户端通过变量访问指定节点?

Python OPC UA客户端:通过变量动态访问指定节点

实现步骤

  • 先安装OPC UA Python依赖库:

    pip install opcua
    
  • 核心思路是把用户输入的变量动态嵌入节点ID字符串,再通过客户端完成节点的连接与操作。

完整代码示例

from opcua import Client

# 1. 获取用户输入的reg_conf值
reg_conf = input("请输入reg_conf的值: ")
# 若节点ID的i部分要求整数类型,可添加类型转换
# reg_conf = int(reg_conf)

# 2. 拼接目标节点的ID字符串
node_id = f"ns=1;i={reg_conf}"

# 3. 连接OPC UA服务器并访问节点
try:
    # 替换为你的实际OPC UA服务器地址
    client = Client("opc.tcp://localhost:4840/freeopcua/server/")
    client.connect()
    
    # 获取指定节点
    target_node = client.get_node(node_id)
    
    # 读取节点值(可根据需求改为写入操作)
    node_value = target_node.get_value()
    print(f"节点{node_id}的值为: {node_value}")
    
finally:
    # 确保断开服务器连接
    client.disconnect()

关键说明

  • 节点ID格式ns=1;i=xxx中,ns代表命名空间索引,i代表节点的整数ID,通过f-string将用户输入的reg_conf动态替换,实现变量化访问。
  • 如果你的节点ID是字符串标识(比如ns=1;s=reg_conf),只需把节点ID拼接逻辑改成f"ns=1;s={reg_conf}"即可。
  • 实际使用时需替换服务器地址,还可根据需求添加输入验证、连接异常捕获等逻辑。

内容的提问来源于stack exchange,提问作者Giuliano Stirparo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 23:27:27