如何在Excel中访问WinCC变量归档数据

1 功能说明
在Microsoft office Excel中访问WinCC的历史数据,实现如下图所示的报表:

图片

图1: Excel中访问WinCC的历史数据生成报表

选择日期后,可以生成当天的风机参数日报表(报表数据来自WinCC)。

2 WinCC/Connectivity Pack 介绍
WinCC变量归档数据是以压缩的形式存储在数据库中,需要通过 WinCC/Connectivity Pack提供的OLE-DB接口才能够解压并读取这些数据。

2.1 连接字符串
“Provider=WinCCOLEDBProvider.1; Catalog= ***; Data Source= ***;“
其中:
Catalog:WinCC运行数据库的名称
注意:当修改项目名称或在其它计算机上打开原项目时, Catalog会发生变化。
建议使用WinCC系统变量 “@DatasourceNameRT” 获得当前的Catalog。
Data Source :服务器名称
本地:“.\WinCC” 或者 “<计算机名称>\WinCC”
远程:“<计算机名称>\WinCC”

2.2 查询语句
“TAG:R,<ValueID or ValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>][,<TimeStep>]”
其中:
ValueName:格式为“ArchiveName\Value_Name”,可以使用多个名称。
TimeBegin,TimeEnd:时间范围,格式 “YYYY-MM-DD hh:mm:ss.msc”。
SQL_Clause:SQL 语法中的过滤标准。

3.3 查询结果

图片

注意,WinCC的归档数据是使用UTC(协调世界时)时间保存的。


3 本地计算机访问

3.1 WinCC组态

3.1.1 WinCC中创建变量
Fan1_T1:进口温度
Fan1_T2:出口温度
Fan1_P1:进口压力
Fan1_P2:出口压力

3.1.2 变量归档组态

1)对以上变量进行归档,归档周期为1小时:

图片

图2: 变量归档

2)设置整点归档
选择“1小时”定时器,右键,选择“属性”:

图片

图3:定时器设置

在定时器属性对话框中,设置输入循环起始点为0分0秒:

图片

图4:定时器属性设置

3.2 Excel组态

3.2.1 创建Excel模板
创建如下图所示的Excel模板:

图片

图5:Excel模板

其中,每天整点的参数值从WinCC数据库中直接读取,平均值、最大值、最小值由Excel本身的函数实现。
关于如何插入日期控件:

第一步,显示控件工具箱:

图片

图6:显示“控件工具箱”

第二步,在控件工具箱中选择“其它控件”,然后选择“Microsoft Date and Time Picker Control 6.0”,把控件放到合适的位置并拖拽到合适大小。

图片

图7:插入日历控件

3.2.2 在Excel中编写脚本

1)VBA编辑器
点击“工具”菜单“宏”“Visual Basic 编辑器”,打开Excel VBA编辑器:

图片

图8:打开VBA编辑器

2)创建读取WinCC历史数据的VBA子程序get_wincc_data:

图片

图9:get_wincc_data

脚本包括以下几部分:
(1)获得WinCC运行数据库名称

图片

以上脚本只能读取本地WinCC的变量值,并且需要插入“WinCC HMIRuntime 1.0 Type Library”对象:

图片

图10:插入“WinCC HMIRuntime 1.0 Type Library”对象

(2)创建连接字符串:

图片

(3)转换查询时间为UTC时间:

图片

(4)四个参数值的查询(以查询“进口温度”为例):

图片

3.2.3 调用脚本
在时间控件Change事件中调用子程序get_wincc_data :

图片

3.2.4 运行Excel中的脚本
首先要设置宏的安全性为“中”或“低”(不建议使用):

图片

图11:“宏”安全性设置1

图片

图12:“宏”安全性设置2

若宏的安全性为 “低”,脚本将直接运行,没有任何提示;若宏的安全性为 “中”,则打开Excel时将有如下提示:

图片

图13 安全提示

此时,通过日期控件选择日期后,Excel读取WinCC的数据并写入到不同的单元格中:

图片

图14:运行结果

4 远程计算机访问
Excel访问远程计算机WinCC的历史数据,需要注意:

4.1 OLE-DB接口
如果客户端计算机没有安装WinCC或者DataMonitor软件,则需要安装Connectivity Pack软件来提供OLE-DB接口。

4.2 WinCC运行数据库名称的获得
可以通过以下两种方法在Excel中中读取远程WinCC运行数据库的名称:

1)编写OPC客户端脚本
WinCC激活后将作为一个标准的OPC服务器,可以在Excel中编写OPC 客户端脚本读取变量“@DatasourceNameRT”的值

2)使用以下脚本也可以获得远程WinCC运行数据库的名称:

图片

使用以上脚本时需要注意:
(1)在Excel计算机用户管理下注册WinCC计算机的(可以登录WinCC/SQL)用户名和密码。
(2)修改Excel计算机Windows的hosts文件:

图片

组态王与PLC的无线4G通讯

工控人如何用云组态做手机APP实现PLC远程监控

如何实现PLC短信微信报警

两台PLC之间的4G远程无线通讯

如何远程读取wincc数据

WinCC Professional 变量掉电保持

如何快速实现互联网远程监控plc?

S7-400H和WINCC通讯

WinCC 画面中浏览 PDF 文件

WinCC V7.5 SP1VBS全局变量的使用

200smart怎么通过4G网络与wincc通讯

WINCC中比较实际趋势曲线和设定值(理想)曲线的实现方法

西门子1500PLC怎样异地远程监控

经典WinCC移植到WinCC Professional

WinCC 数据使用MQTT传送到云端

NET421/NET431西门子plc与ABplc通讯网关

S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器

如何在 WinCC Runtime Professional 中自动调整画面分辨率适应窗口的大小?

如何实现简单的 WinCC 项目分屏?

s7-1200通过4G网连接中控室

WinCC C/S结构快速入门

如何防止多个WinCC客户机同时操作或更改数值?

精智Comfort屏如何周期性调用脚本

巨控协议转换网关GRM321GRM322GRM323应用场景

精智面板/二代精简PN面板如何使用Modbus TCP/IP 通信组态

如何快速实现OPC DA转为WEBSEVER

200smart数据日志的功能

HMI如何通过PLC变量控制开始和停止数据记录

WinCC flexible配方与PLC的同步

HMI面板与S7-1500 R/H 冗余PLC的通信

WinCC Flexible Smart快速导入 Smart PLC变量

巨控OPC560系列远程智能控制终端

S7_1200配方功能快速入门

PLC远程调试监控模块-巨控GRM530

PN IO设备ET 200SP将支持R1模式

SCL 常见问题

PLC协议转换网关:巨控NET400

如何判断S7通信中断

S7-1500R/H PROFIBUS DP 通信

如何实现PLC短信报警

WinCC  Modbus TCP 通信

wincc 远程和PLC通讯方案

1500PLC与wincc通过4G网络远程通讯

WINCC中自定义 XY 轴的多功能曲线的实现方法

wincc报警如何通过短信发送给手机

在WinCC(TIA Portal)项目中,如何正确的使用面板,模板,弹出窗口和滑入窗口?

通过巨控GRM532Y-C远程调试下载国外PLC

巨控GRM远程模块配置使用流程简介

巨控远程模块微信报警配置方法

TIA中如何将数据块的实际值转到初始值中

wincc 远程和PLC通讯方案

如何使用EXCEL访问WinCC中的实时数据实现报表

西门子PLC无线通讯解决方案

巨控无线通讯模块在带式输送机行业的应用

WinCC激活故障排除及解决思路

Wincc在手机端监控_巨控OPC560解决方案

PLC之间的Profibus 通讯

怎么远程控制国外的PLC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值