2022年在WinCC中如何使用VBS读取变量归档数据到EXCEL .pdf
《2022年在WinCC中如何使用VBS读取变量归档数据到EXCEL .pdf》由会员分享,可在线阅读,更多相关《2022年在WinCC中如何使用VBS读取变量归档数据到EXCEL .pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、文档类型 常问问题 , 条目 ID:77940055 , 文档发布日期2013 年 7 月 23 日(4)评估在 WinCC 中如何使用 VBS 读取变量归档数据到EXCEL 推荐文档 : 西门子工程师推荐本文档!?文献?涉及产品1 概述介绍如何在 WinCC 项目中使用 VBS 脚本读取变量归档值,并把获取的数据保存成新的Excel 文件。文中示例代码仅适用于以绝对时间间隔方式访问。2 软件环境Windows XP SP3中文版、 WinCC7.0 SP2 ASIA、Microsoft office Excel 2007 3 访问原理WinCC 变量归档数据是以压缩的形式存储在数据库中,需要
2、通过WinCC 连通性软件包提供的OLE-DB 接口才能够解压并读取这些数据。关于WinCC 连通性软件包的详细信息请参考连接:37436159当使用OLE-DB 方式访问数据库时关键需要注意连接字符串的写法和查询语句的格式。连接字符串格式为“Provider=WinCCOLEDBProvider.1; Catalog= *; Data Source= *;”,其中 Catalog 为 WinCC 运行数据库的名称,当修改项目名称或在其它计算机上打开原项目时, Catalog 会发生变化。 建议使用 WinCC 内部变量“DatasourceNameRT” 获得当前项目的Catalog 。Da
3、ta Source 为服务器名称,格式为“WinCC ”。31 查询语句格式数据的查询语句的格式要求如下:8 字节长ValueID 的请求:TAG_LLVID:R, 4 字节长ValueID 的请求:TAG:R, 其中:ValueID :过程值归档变量的唯一标识符。ValueName :过程值归档变量的名称,格式为“ArchiveNameValue_Name”,可以使用多个名称。TimeBegin,TimeEnd:时间范围,格式“YYYY-MM-DD hh:mm:ss.msc”。SQL_Clause :SQL 语法中的过滤标准。TimeStep :时间间隔。使用 时,必须将 指定为绝对时间。禁
4、止使用相对语句“ 0000-00-00 00:00:00.000”。其中 ValueID 和 ValueName的对应关系如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 图 1 ValueID和 ValueName的对应关系32 几种常用的查询需求和语句1)绝对时间间隔2)相对时间间隔请注意,查询不能包含任何空格。习惯上,执行绝对时间查询时需要将查询的时间条件转换成UTC (协调世界时 )时间。执行相对时间查询时请一
5、定要注意相对时间的格式。建议使用MsgBox 或者HMIRuntime.Trace等方式输出数值以检查格式是否正确。33 查询结果查询结果作为记录集返回。过程值归档的记录集结构如下表所示:表 1 记录集结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 注意, WinCC 的归档数据是使用UTC(协调世界时)时间保存的。因此在对数据进行查询和显示时,需要对时间进行适当的转换。4 组态介绍(以绝对时间间隔为例)41 准备工作1)创
6、建变量其中: NewTag 用于创建过程值归档,strBeginTime 和 strEndTime用于存储查询条件。sVal 是时间间隔参数。如下图所示:图 2 变量2) 创建过程值归档创建归档周期为一分钟的过程值归档。如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 图 3 归档配置3)创建 Excel 模板在特定的路径下预先创建一个Excel 文件作为模板,这样可以很好的控制输出格式。本例中在D:WinCCWrit
7、eExcel下创建一个名称为abc.xlsx 的 Excel 文件。如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 图 4 Excel 模板42 组态查询界面画面上新建三个输入/输出域,分别用于输入开始时间、结束时间和间隔时间。按钮中执行用于访问变量归档数据的 VBS 脚本。图 5 查询界面43 关键脚本介绍1)打开 Excel 模板以后台方式打开之前创建好的Excel 模板。其中sheetname作为变量可以定义E
8、xcel 中 Sheet 的名字。Set objExcelApp = CreateObject(Excel.Application) objExcelApp.Visible = False objExcelApp.Workbooks.Open D:WinCCWriteExcelabc.xlsx objExcelApp.Worksheets(sheetname).Activate 2)准备查询条件主要是确定和格式化Catalog 、UTC 开始时间、 UTC 结束时间、时间间隔等查询条件。因为北京时间和UTC(协调世界时)时间相差8 个小时,所以直接在程序中写入固定的时间差值。Set tagDS
9、NName = HMIRuntime.Tags(DatasourceNameRT) tagDSNName.Read Set LocalBeginTime = HMIRuntime.Tags(strBeginTime) LocalBeginTime.Read Set LocalEndTime = HMIRuntime.Tags(strEndTime) LocalEndTime.Read 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - -
10、- UTCBeginTime = DateAdd(h ,-8,LocalBeginTime.Value) UTCEndTime= DateAdd(h ,-8,LocalEndTime.Value) UTCBeginTime = Year(UTCBeginTime) & - & Month(UTCBeginTime) & - & Day(UTCBeginTime) & & Hour(UTCBeginTime) & : & Minute(UTCBeginTime) & : & Second(UTCBeginTime) UTCEndTime = Year(UTCEndTime) & - & Mont
11、h(UTCEndTime) & - & Day(UTCEndTime) & & Hour(UTCEndTime) & : & Minute(UTCEndTime) & : & Second(UTCEndTime) HMIRuntime.Trace UTC Begin Time: & UTCBeginTime & vbCrLf HMIRuntime.Trace UTC end Time: & UTCEndTime & vbCrLf Set sVal = HMIRuntime.Tags(sVal) sVal.Read 另外,因为 WinCC 中对访问数据库的时间格式有特殊的要求。所以程序中增加了格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年在WinCC中如何使用VBS读取变量归档数据到EXCEL 2022 WinCC 如何 使用 VBS 读取 变量 归档 数据 EXCEL
限制150内