Skip to content

Cherzing/OPCUA-to-MySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

OPC UA to MySQL 数据采集工具

从 OPC UA 服务器采集数据并存储到 MySQL 数据库的 Python 工具。

功能特性

  • 自动连接 OPC UA 服务器并读取节点数据
  • 多线程并发读取,提高采集效率
  • 节点缓存机制,减少重复扫描
  • 按日期自动创建 MySQL 表
  • 支持从 CSV 文件加载测点单位信息
  • 定时循环采集(默认每分钟)

环境要求

  • Python 3.6+
  • OPC UA 服务器
  • MySQL 数据库

安装依赖

pip install opcua pymysql pytz

配置说明

  1. 复制配置示例文件:
cp config.example.py config.py
  1. 编辑 config.py,填入实际配置:
OPC_URL = "opc.tcp://your-server:4841"
OPC_USER = "username"
OPC_PASS = "password"
DB_HOST = "mysql-host"
DB_USER = "db_user"
DB_PASS = "db_password"
DB_NAME = "database_name"
  1. 准备 CSV 文件(可选):
    • 文件名:measurement_point_data.csv
    • 必需列:TagName, Unit

使用方法

python opcua_to_mysql.py

程序将持续运行,每分钟采集一次数据。

数据库表结构

每天自动创建新表,格式:device_parameters_YYYY-MM-DD

字段 类型 说明
tagname VARCHAR(255) 标签名(主键)
description VARCHAR(500) 描述
unit VARCHAR(50) 单位
data_type VARCHAR(50) 数据类型
value TEXT 时间序列值

注意事项

  • 确保 OPC UA 服务器可访问
  • 确保 MySQL 数据库已创建
  • 缓存文件默认每 0.5 小时刷新一次
  • 程序需要读取 rytongTags 文件夹下的节点

License

MIT

About

从 OPC UA 服务器采集数据并存储到 MySQL 数据库的 Python 工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages