WinCCExcelVBA脚本连通性软件包.docx

上传人:b****8 文档编号:10915368 上传时间:2023-02-23 格式:DOCX 页数:13 大小:662.99KB
下载 相关 举报
WinCCExcelVBA脚本连通性软件包.docx_第1页
第1页 / 共13页
WinCCExcelVBA脚本连通性软件包.docx_第2页
第2页 / 共13页
WinCCExcelVBA脚本连通性软件包.docx_第3页
第3页 / 共13页
WinCCExcelVBA脚本连通性软件包.docx_第4页
第4页 / 共13页
WinCCExcelVBA脚本连通性软件包.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

WinCCExcelVBA脚本连通性软件包.docx

《WinCCExcelVBA脚本连通性软件包.docx》由会员分享,可在线阅读,更多相关《WinCCExcelVBA脚本连通性软件包.docx(13页珍藏版)》请在冰豆网上搜索。

WinCCExcelVBA脚本连通性软件包.docx

WinCCExcelVBA脚本连通性软件包

WinCC、Excel、VBA、脚本、连通性软件包

1功能说明

在MicrosoftofficeExcel中访问WinCC的历史数据,实现如下图所示的报表:

图1:

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

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

2软件环境

本地计算机:

WindowsXPSP3英文版、WinCC7.0SP2ASIA、MicrosoftofficeExcel2003

远程计算机:

WindowsXPSP3英文版、WinCC7.0SP2ASIA、MicrosoftofficeExcel2003

3WinCC/ConnectivityPack介绍

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

3.1连接字符串

“Provider=WinCCOLEDBProvider.1;Catalog=***;DataSource=***;“

其中:

Catalog:

WinCC运行数据库的名称

注意:

当修改项目名称或在其它计算机上打开原项目时,Catalog会发生变化。

建议使用WinCC系统变量“@DatasourceNameRT”获得当前的Catalog。

DataSource:

服务器名称

本地:

“.\WinCC”或者“<计算机名称>\WinCC”

远程:

“<计算机名称>\WinCC”

3.2查询语句

“TAG:

R,,,[,][,]”

其中:

ValueName:

格式为“ArchiveName\Value_Name”,可以使用多个名称。

TimeBegin,TimeEnd:

时间范围,格式“YYYY-MM-DDhh:

mm:

ss.msc”。

SQL_Clause:

SQL语法中的过滤标准。

3.3查询结果

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

4本地计算机访问

4.1WinCC组态

4.1.1WinCC中创建变量

Fan1_T1:

进口温度

Fan1_T2:

出口温度

Fan1_P1:

进口压力

Fan1_P2:

出口压力

4.1.2变量归档组态

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

图2:

变量归档

2)设置整点归档

选择“1小时”定时器,右键,选择“属性”:

图3:

定时器设置

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

图4:

定时器属性设置

4.2Excel组态

4.2.1创建Excel模板

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

图5:

Excel模板

其中,每天整点的参数值从WinCC数据库中直接读取,平均值、最大值、最小值由Excel本身的函数实现。

关于如何插入日期控件:

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

图6:

显示“控件工具箱”

第二步,在控件工具箱中选择“其它控件”,然后选择“MicrosoftDateandTimePickerControl6.0”,把控件放到合适的位置并拖拽到合适大小。

图7:

插入日历控件

4.2.2在Excel中编写脚本

1)VBA编辑器

点击“工具”菜单“宏”“VisualBasic编辑器”,打开ExcelVBA编辑器:

图8:

打开VBA编辑器

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

图9:

get_wincc_data

脚本包括以下几部分:

(1)获得WinCC运行数据库名称

以上脚本只能读取本地WinCC的变量值,并且需要插入“WinCCHMIRuntime1.0TypeLibrary”对象:

图10:

插入“WinCCHMIRuntime1.0TypeLibrary”对象

(2)创建连接字符串:

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

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

4.2.3调用脚本

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

 

4.2.4运行Excel中的脚本

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

图11:

“宏”安全性设置1

图12:

“宏”安全性设置2

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

图13安全提示

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

图14:

运行结果

DEMO程序请参考附件中的 report_demo_local.xls (31KB)文件。

5远程计算机访问

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

5.1OLE-DB接口

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

5.2WinCC运行数据库名称的获得

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

1)编写OPC客户端脚本

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

请参考文档《如何在Excel中访问WinCC变量归档数据》:

77467938

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

使用以上脚本时需要注意:

(1)在Excel计算机用户管理下注册WinCC计算机的(可以登录WinCC/SQL)用户名和密码。

(2)修改Excel计算机Windows的hosts文件:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1