1、WinCCExcelVBA脚本连通性软件包WinCC、Excel、VBA、脚本、连通性软件包1 功能说明在Microsoft office Excel中访问WinCC的历史数据,实现如下图所示的报表:图1: Excel中访问WinCC的历史数据生成报表选择日期后,可以生成当天的风机参数日报表(报表数据来自WinCC)。2 软件环境本地计算机:Windows XP SP3英文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 2003远程计算机:Windows XP SP3英文版、WinCC7.0 SP2 ASIA、Microsoft office Excel
2、20033 WinCC/Connectivity Pack 介绍WinCC变量归档数据是以压缩的形式存储在数据库中,需要通过 WinCC/Connectivity Pack提供的OLE-DB接口才能够解压并读取这些数据。3.1 连接字符串“Provider=WinCCOLEDBProvider.1; Catalog= *; Data Source= *;“其中:Catalog:WinCC运行数据库的名称注意:当修改项目名称或在其它计算机上打开原项目时, Catalog会发生变化。建议使用WinCC系统变量 “DatasourceNameRT” 获得当前的Catalog。Data Source
3、:服务器名称本地:“.WinCC” 或者 “WinCC”远程:“WinCC”3.2 查询语句“TAG:R,”其中:ValueName:格式为“ArchiveNameValue_Name”,可以使用多个名称。TimeBegin,TimeEnd:时间范围,格式 “YYYY-MM-DD hh:mm:ss.msc”。SQL_Clause:SQL 语法中的过滤标准。3.3 查询结果注意,WinCC的归档数据是使用UTC(协调世界时)时间保存的。4 本地计算机访问4.1 WinCC组态4.1.1 WinCC中创建变量Fan1_T1:进口温度Fan1_T2:出口温度Fan1_P1:进口压力Fan1_P2:出
4、口压力4.1.2 变量归档组态1)对以上变量进行归档,归档周期为1小时:图2: 变量归档2)设置整点归档选择“1小时”定时器,右键,选择“属性”:图3:定时器设置在定时器属性对话框中,设置输入循环起始点为0分0秒:图4:定时器属性设置4.2 Excel组态4.2.1 创建Excel模板创建如下图所示的Excel模板:图5:Excel模板其中,每天整点的参数值从WinCC数据库中直接读取,平均值、最大值、最小值由Excel本身的函数实现。关于如何插入日期控件:第一步,显示控件工具箱:图6:显示“控件工具箱”第二步,在控件工具箱中选择“其它控件”,然后选择“Microsoft Date and T
5、ime Picker Control 6.0”,把控件放到合适的位置并拖拽到合适大小。图7:插入日历控件4.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 HMIRunt
6、ime 1.0 Type Library”对象(2)创建连接字符串:(3)转换查询时间为UTC时间:(4)四个参数值的查询(以查询“进口温度”为例):4.2.3 调用脚本在时间控件Change事件中调用子程序get_wincc_data :4.2.4 运行Excel中的脚本首先要设置宏的安全性为“中”或“低”(不建议使用):图11:“宏”安全性设置1图12:“宏”安全性设置2若宏的安全性为 “低”,脚本将直接运行,没有任何提示;若宏的安全性为 “中”,则打开Excel时将有如下提示:图13 安全提示此时,通过日期控件选择日期后,Excel读取WinCC的数据并写入到不同的单元格中:图14:运行
7、结果DEMO程序请参考附件中的report_demo_local.xls( 31 KB ) 文件。5 远程计算机访问Excel访问远程计算机WinCC的历史数据,需要注意:5.1 OLE-DB接口如果客户端计算机没有安装WinCC或者DataMonitor软件,则需要安装Connectivity Pack软件来提供OLE-DB接口。5.2 WinCC运行数据库名称的获得可以通过以下两种方法在Excel中中读取远程WinCC运行数据库的名称:1)编写OPC客户端脚本WinCC激活后将作为一个标准的OPC服务器,可以在Excel中编写OPC 客户端脚本读取变量“DatasourceNameRT”的值。请参考文档如何在Excel中访问WinCC变量归档数据:774679382)使用以下脚本也可以获得远程WinCC运行数据库的名称:使用以上脚本时需要注意:(1)在Excel计算机用户管理下注册WinCC计算机的(可以登录WinCC/SQL)用户名和密码。(2)修改Excel计算机Windows的hosts文件:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1