如何实现wincc用VBS做报表.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何实现 wincc 用 VBS做报表 概述 介绍如何在 WinCC 项目中使用 VBS 脚本读取变量归档值,并把获取的数据保存成新的 Excel 文件。文中示例代码仅适用于以绝对时间间隔方式访问。 软件环境 Windows XP SP3 中文版、 WinCC7.0 SP2 ASIA 、Microsoft office Excel 2007 访问原理 WinCC 变量归档数据是以压缩的形式存储在数据库中,需要通过 WinCC 连通性软件包提供的 OLE-DB 接口才能够解压并读取这些数据。关于 WinCC 连通性软件包的详细信息请参考连接:当使用 OLE-DB 方式访问数据库时关键需要注意连接字符串的写法和查询语句的格式。连接字 符串格式为“ Provider=WinCCOLEDBProvider.1; Catalog= ***; Data Source= ***; ”其,中 Catalog 为 WinCC 运行数据库的名称, 当修改项目名称或在其它计算机上打开原项目时 , Catalog 会发 生变化。建议使用 WinCC 内部变量 “@DatasourceNameRT ”获得当前项目的 Catalog 。 Data Source 为服务器名称,格式为“ 计算机名称 \WinCC ”。 3. 1 查询语句格式 数据的查询语句的格式要求如下: 8 字节长 ValueID 的请求: TAG_LLVID:R,ValueID 或 ValueName,TimeBegin,TimeEnd[,SQL_clause][,TimeStep] 4 字节长 ValueID 的请求: TAG:R,ValueID 或 ValueName,TimeBegin,TimeEnd[,SQL_clause][,TimeStep] 其中: ValueID :过程值归档变量的唯一标识符。 ValueName :过程值归档变量的名称, 格式为“ArchiveName\Value_Name ”,可以使用多个名称。 TimeBegin,TimeEnd :时间范围,格式 “YYYY-MM-DD hh:mm:ss.msc ”。 SQL_Clause : SQL 语法中的过滤标准。 TimeStep :时间间隔。使用 TimeStep 时,必须将 TimeBegin 指定为绝对时间。禁止使 用相对语句“ 0000-00-00 00:00:00.000 ”。 其中 ValueID 和 ValueName 的对应关系如下图所示: 图 1 ValueID 和 ValueName 的对应关系 3. 2 几种常用的查询需求和语句 1)绝对时间间隔 2)相对时间间隔 请注意,查询不能包含任何空格。习惯上,执行绝对时间查询时需要将查询的时间条件转换成 UTC ( 协调世界时 )时间。 执行相对时间查询时请一定要注意相对时间的格式。 建议使用 MsgBox 或者 HMIRuntime.Trace 等方式输出数值以检查格式是否正确。 3. 3 查询结果 查询结果作为记录集返回。过程值归档的记录集结构如下表所示: 表 1 记录集结构 注意, WinCC 的归档数据是使用 UTC (协调世界时)时间保存的。因此在对数据进行查询和显 示时,需要对时间进行适当的转换。 组态介绍(以绝对时间间隔为例) 4. 1 准备工作 1)创建变量 其中: NewTag 用于创建过程值归档,  strBeginTime  和  strEndTime  用于存储查询条件。  sVal 是时间间隔参数。如下图所示: 图2 变量 2) 创建过程值归档 创建归档周期为一分钟的过程值归档。如下图所示: 图 3 归档配置 3)创建 Excel 模板 在特定的路径下预先创建一个 Excel 文件作为模板,这样可以很好的控制输出格式。本例中在 D:\WinCCWriteExcel 下创建一个名称为 abc.xlsx 的 Excel 文件。如下图所示: 图 4 Excel 模板 4. 2 组态查询界面 画面上新建三个输入 /输出域,分别用于输入开始时间、结束时间和间隔时间。按钮中执行用于 访问变量归档数据的 VBS 脚本。 图 5 查询界面 4. 3 关键脚本介绍 1)打开 Excel 模板 以后台方式打开之前创建好的 Excel 模板。其中 sheetname 作为变量可以定义 Excel 中 Sheet 的名字。 Set objExcelApp = CreateObject(Excel.Application) objExcelApp.Visible = False objExcelApp.Workbooks.Open D:\WinCCWriteExcel\abc.xlsx o

文档评论(0)

150****0902 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档