5分钟搞定OPC Server ! Python就是这么牛

文摘   2025-01-09 21:03   湖北  



相关阅读:

热门工具推荐↓
国产免费商用!1500+组件的工业物联网平台及可视化大屏工具

很重要 !!! 我是这样读取OPC UA数据的
小孩才选择 !!! OPC UA安全与性能全都要
不只是连接,OPC UA+物联网飞起 !!!

OPC UA是什么

在工业自动化领域,OPC UA(开放平台通信统一架构)已成为一种广泛采用的通信协议。它提供了一种标准化、跨平台的通信方式,允许不同厂商的设备和系统之间进行数据交换。本文将介绍如何使用Python的opcua库来创建一个简单的OPC UA服务器。

创建OPC UA服务器

首先,我们需要安装opcua库。可以通过以下命令进行安装:

pip install opcua

接下来,我们可以使用以下代码创建一个基本的OPC UA服务器:

from opcua import Server

# 创建并配置服务器
server = Server()
server.set_endpoint("opc.tcp://191.168.10.101:4840")  # 设定服务器URI
idx = server.register_namespace("OPCUA_Server")  # 注册命名空间

# 添加对象和变量
objects_node = server.get_objects_node()
myobj = objects_node.add_object(idx, "Sinumerik")
var1 = myobj.add_variable(idx, "RandomValue1"0)
var2 = myobj.add_variable(idx, "RandomValue2"0)
obj = myobj.add_object(idx, "Test")
var3 = obj.add_variable(idx, "RandomValue3"0)

# 启动服务器
server.start()
print("Server started at opc.tcp://0.0.0.0:4840")

# 无限循环,更新变量值
try:
    while True:
        var1.set_value(random.randint(0100))
        var2.set_value(random.randint(0100))
        var3.set_value(random.randint(0100))
        print("Variables updated")
        time.sleep(5)
except KeyboardInterrupt:
    server.stop()

在这个示例中,我们创建了一个名为“Sinumerik”的对象,并在该对象下添加了三个变量(RandomValue1RandomValue2RandomValue3)。这些变量的值会每5秒更新一次,取值为0到100的随机整数。

测试OPC UA服务器

为了测试所创建的UA服务器,建议使用UaExpert客户端。下载并安装后,打开软件,右键点击“Servers”,选择“Add New Connection”,在“Custom Discovery”下输入服务器URI(如opc.tcp://191.168.10.101:4840),然后建立连接。连接成功后,您将能够看到OPC UA规范定义的标准地址空间结构。

结论

通过以上代码,我们创建了一个简单的OPC UA服务器。服务器定期更新变量的值,您可以根据实际需求对代码进行扩展和优化。希望这篇文章能帮助您快速入门OPC UA的Python编程。

近期热文:

别闹 !!! 上位机还是PLC ???
超实用的Modbus TCP转RTU方案
终于有人说清楚了DCS和组态的区别
懂HTTP协议的工控人更厉害 !!!
揭秘 !!! 工控通信为何独宠串口
揭秘 !!! DCS系统:工厂安全的守护神


开源日记
分享10k+Star的优质开源项目。
 最新文章