Python访问OPCUA服务器,订阅一个变量标签

本文介绍如何使用Python访问OPCUA服务器,演示获取变量值及注册变量变更回调函数的过程。通过自定义SubHandler类实现变量逢变触发,利用Client类连接服务器,展示变量订阅与数据变化监听的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from opcua import Client
from opcua import ua
import time
#By Weloveut:Python访问OPCUA服务器,展示get变量的方法和注册逢变触发的回调函数
#自定义回调函数
class SubHandler(object):
	def data_change(self, handle, node, val, attr):
		print("Python: New data change event", handle, node, val, attr)
#创建UA的客户端,包含IP地址和端口号
client = Client("opc.tcp://172.32.1.82:4840/")
#建立到服务器连接
client.connect()
#获取object对象
objects = client.get_objects_node()
#获取根对象
root = client.get_root_node()
#依据变量地址创建变量对象
myvar = client.get_node('ns=3;s="clocl0.5hz"."tags"[0]')
#获取变量当前值
valuetmp=myvar.get_value()
print(valuetmp)
#注册到服务器的变量订阅,变量逢变触发
handler = SubHandler()
sub = client.create_subscription(500, handler)
sub.subscribe_data_change(myvar)
time.sleep(100000)
client.disconnect()
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值