当前位置: 首页 > news >正文

WinCC7.5+Telegraf+Influxdb 3.0 Core:通过OPC UA方式WinCC数据直接同步数据到Influxdb

一、系统架构图

  • WinCC 启用OPC UA Server(自带,无需额外软件)
  • Telegraf 使用inputs.opcua插件直接读 WinCC OPC UA 变量
  • Telegraf 输出到outputs.influxdb_v2(InfluxDB 3.0)

二、环境准备

  • WinCC:V7.5 (支持 OPC UA Server)
  • Telegraf:1.38.2(Windows x64,与 WinCC 同机)
  • InfluxDB 3.0 Core:Windows x64
  • 网络:WinCC ↔ Telegraf 开放OPC UA端口;Telegraf ↔ InfluxDB 开放对应端口

三、实操步骤

1.WinCC 7.5默认已经启动OPC UA服务,可以通过第三方OPC UA Client测试,我用的是Softing OPC UA Client,直接连接测试WinCC OPC UA Server的状态和可用性。依据客户或者安全部门对安全的要求,确认到底用哪一个OPC Server,我选择的是无需认证的。

2.Influxdb 3.0安装与配置,由于3.0必须启用安全认证,所以在启动前必须先生成Tocken文件。从官网下载Influxdb 3.0 开源版以及Telegraf 3.28,依据安装操作系统的不同,选择对应的安装文件,我是在windows 10环境下安装,所以下载Windows安装包,这个安装包路径不好找。

(1)下载后放在某个盘符根目录下,解压出来,文件名称最好不要太长或者带特殊字符和空格。

(2)需要首先生成管理员 token 文件,以管理员运行Powershell,输入如下命令:

cd C:\influxdb3\influxdb3.exe create token --admin --name admin --offline --output-file admin-token.json这会在 C:\influxdb3生成 admin-token.json,打开这个文件里面的 token 就是唯一能通过认证的 key(3)启动 InfluxDB 3.0(必须带 token 文件)
cd C:\influxdb3 .\influxdb3.exe serve --node-id wincc --object-store file --data-dir C:\influxdb3\data --http-bind 0.0.0.0:8181 --admin-token-file admin-token.json看到类似这样的内容,说明Influxdb启动成功。Listening for HTTP requests on [::]:8181

(4)创建数据库(必须带 --token)

先打开admin-token.json复制token字段的值。

然后执行:

cd C:\influxdb3 .\influxdb3.exe create database wincc_historical --host http://127.0.0.1:8181 --token "从admin-token.json复制的token"

查看数据库,验证数据库是否创建成功

\influxdb3.exe show databases --host http://127.0.0.1:8181 --token "你复制的token"

3.Telegraf 1.38.2开源版的安装与配置,从官网下载安装文件,记得以及自己安装环境选择对应下载请求指令,我的是Windows的环境,所以选择windows版本。

(1)下载后的文件,建议放到某个盘符根目录下,解压出来,文件名称最好不要太长或者带特殊字符和空格。

(2)对conf配置文件进行编辑,主要配置需要转移的WinCC 变量信息以及存放Influxdb数据库的访问和安全信息:

[agent]

interval = "1s" #采集周期

flush_interval = "1s" #存放周期

[[inputs.opcua]]

endpoint = "opc.tcp://127.0.0.1:4840" #WinCC OPC UA Server地址

security_policy = "None"

security_mode = "None"

auth_method = "Anonymous"

nodes = [ { name="alarm1", namespace="2", identifier_type="s", identifier="t|Alarm1" },

{ name="alarm2", namespace="2", identifier_type="s", identifier="t|Alarm2" } ]

#winCC的两个变量信息,特别注意namespace、identifier_type以及identifier一定和WinCC中的变#量对应,可以通过第三方工具核对。

tags = { device="WINCC_SERVER" }

[[outputs.influxdb_v2]]

urls = ["http://127.0.0.1:8181"] #Influxdb的地址

token = "你的INFLUXDB_TOKEN"

organization = "dummy"

bucket = "wincc_historical" #上面创建的数据库

特别注意:变量的信息必须一致。

(3)启动Telegraf,在Powershell中运行如下指令:

./telegraf --config telegraf.conf

看到类似以下内容说明启动成功

I! Starting Telegraf

I! Loaded inputs: opcua

I! Loaded outputs: influxdb_v2

I! Tags enabled: host=...

4.验证数据是否转存到Influxdb,通过执行命令:

.\influxdb3 query --database wincc_historical --host http://127.0.0.1:8181 --token "你的TOKEN" "SELECT * FROM opcua"

如果看到以下数据,说明大功告成,恭喜你。

http://www.cnnetsun.cn/news/1833160.html

相关文章:

  • Ubuntu 22.04 + PyTorch 2.3 环境:PyG 2.5+ 一键安装与版本兼容性实战
  • 从手机充电器到电动车BMS:图解多电源系统中电流回路的3个关键设计原则
  • 我用 AI 辅助开发了一系列小工具():文件提取工具邮
  • 如何轻松玩转怀旧Flash游戏?这个免费工具帮你搞定一切!
  • Mysql的行级锁到底是怎么加的?谌
  • CSS变量与自定义属性
  • 我们为什么放弃了ActiveMQ,转向了Pulsar?
  • RAG详解:让大模型看见你的私有知识
  • 整合素家族核心靶点解析:CD51(Integrin αv)的分子机制与药物研发技术前瞻
  • Pandas显示设置全攻略:如何让数据表格在Jupyter Notebook中更美观(附常见问题解决)
  • 事件驱动化技术中的事件发布事件订阅与事件处理
  • 计算机毕业设计:Python空气质量智能评估与预测平台 Django框架 Spark 线性回归 可视化 大数据 机器学习 深度学习(建议收藏)✅
  • Upscayl图像放大GPU加速深度优化:告别Vulkan兼容性困扰
  • Gemma-3-270m应用场景:政务公文润色、政策文件要点速读生成案例
  • 酷安UWP桌面客户端:Windows平台上的酷安社区完整体验指南
  • 日本Shopify消费趋势分析:樱花季与新生活季正在带火哪些品类?
  • 打字不如说话,说话不如截图——AI 代码助手的多模态输入实践兑
  • 2026届必备的五大降重复率平台解析与推荐
  • LeetCode 删除无效的括号:python 题解檀
  • 【仅限首批200位架构师开放】:可运行的AI原生配置中心参考实现(含Kubernetes Operator + WASM沙箱 + 配置Diff-AI比对引擎)
  • 从零构建 嵌入式AT指令解析器 与命令行控制台
  • ESP居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现竟
  • Ostrakon-VL-8B智能Agent设计:自动化餐饮供应链巡检机器人
  • gitru:一个由 Rust 打造的零依赖 Git 提交信息校验工具强
  • 3步掌握OCAuxiliaryTools:让黑苹果配置从复杂到简单的智能解决方案
  • 如何用Illustrator脚本集合在5分钟内提升设计效率300%?设计师必备的22个免费神器
  • 不用装软件!这款MicroPython浏览器 IDE :让你在手机上也能调试树莓派 Pico晌
  • 2026最权威的五大降重复率工具解析与推荐
  • 技术判断力之AI三问嘶
  • Python FastAPI 异步接口优化方法