一、系统架构图WinCC 启用OPC UA Server自带无需额外软件Telegraf 使用inputs.opcua插件直接读 WinCC OPC UA 变量Telegraf 输出到outputs.influxdb_v2InfluxDB 3.0二、环境准备WinCCV7.5 支持 OPC UA ServerTelegraf1.38.2Windows x64与 WinCC 同机InfluxDB 3.0 CoreWindows 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 [::]:81814创建数据库必须带 --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 你复制的token3.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 Nonesecurity_mode Noneauth_method Anonymousnodes [ { namealarm1, namespace2, identifier_types, identifiert|Alarm1 },{ namealarm2, namespace2, identifier_types, identifiert|Alarm2 } ]#winCC的两个变量信息特别注意namespace、identifier_type以及identifier一定和WinCC中的变#量对应可以通过第三方工具核对。tags { deviceWINCC_SERVER }[[outputs.influxdb_v2]]urls [http://127.0.0.1:8181] #Influxdb的地址token 你的INFLUXDB_TOKENorganization dummybucket wincc_historical #上面创建的数据库特别注意变量的信息必须一致。3启动Telegraf在Powershell中运行如下指令./telegraf --config telegraf.conf看到类似以下内容说明启动成功I! Starting TelegrafI! Loaded inputs: opcuaI! Loaded outputs: influxdb_v2I! Tags enabled: host...4.验证数据是否转存到Influxdb通过执行命令.\influxdb3 query --database wincc_historical --host http://127.0.0.1:8181 --token 你的TOKEN SELECT * FROM opcua如果看到以下数据说明大功告成恭喜你。