OPC UA数据采集(一)Python 快速搭建一个 OPC UA 服务器

Python 快速搭建一个 OPC UA 服务器

一、安装库opcua

pip install opcua

二、新建文件opcua_server.py

from opcua import Server

# 初始化服务器
server = Server()
server.set_endpoint("opc.tcp://0.0.0.0:4840")  # 监听所有网络接口,端口4840

# 设置服务器名称
server.set_server_name("Python OPC UA Test Server")

# 创建命名空间
uri = "http://example.org/opcua/server"
idx = server.register_namespace(uri)

# 获取根节点
objects = server.get_objects_node()

# 添加一个文件夹节点
my_folder = objects.add_folder(idx, "MyCustomFolder")

# 添加变量节点(可读写)
var_temp = my_folder.add_variable(idx, "Temperature", 25.0)
var_pressure = my_folder.add_variable(idx, "Pressure", 1013.25)
var_status = my_folder.add_variable(idx, "Status", "Running")

# 设置变量为可写
var_temp.set_writable()
var_pressure.set_writable()
var_status.set_writable()

# 启动服务器
try:
    print("OPC UA 服务器已启动,地址:opc.tcp://localhost:4840")
    server.start()
    while True:
        # 模拟动态数据变化(可选)
        import time
        current_temp = var_temp.get_value()
        var_temp.set_value(current_temp + 1)
        time.sleep(1)
finally:
    server.stop()

 

三、运行服务器

python opcua_server.py

四、使用客户端连接

  1. 打开 UA Expert,点击 Add Server
  2. 输入地址:opc.tcp://localhost:4840
  3. 安全策略选择 None(测试用),点击 Connect
  4. 在节点树中浏览:
    • Objects → MyCustomFolder → 查看 TemperaturePressure 等变量。
    • 双击变量 可实时监控数据变化(每2秒自动+0.5)。
    • 右键变量 → Write Value 可修改值(需服务器允许写入)。

posted @ 2025-07-07 15:32  daviyoung  阅读(225)  评论(0)    收藏  举报