问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-21 05:40

我来回答

1个回答

热心网友 时间:2022-06-18 06:57

摘 要 本文通过制作一个日报表的过程,介绍了在本地或远程计算机上如何通过Excel访问WinCC的变量归档数据。
关键词 WinCC、Excel、VBA、脚本、连通性软件包
Key Words WinCC、Excel、VBA、Script、Connectivity Pack

目 录

1 功能说明
2 软件环境
3 WinCC/Connectivity Pack 介绍
3.1 连接字符串
3.2 查询语句
3.3 查询结果
4 本地计算机访问
4.1 WinCC组态
4.1.1 WinCC中创建变量
4.1.2 变量归档组态
4.2 Excel组态
4.2.1 创建Excel模板
4.2.2 在Excel中编写脚本
4.2.3 调用脚本
4.2.4 运行Excel中的脚本
5 远程计算机访问
5.1 OLE-DB接口
5.2 WinCC运行数据库名称的获得

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 2003
3 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 :服务器名称
本地:“.\WinCC” 或者 “<计算机名称>\WinCC”
远程:“<计算机名称>\WinCC”
3.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(协调世界时)时间保存的。
4 本地计算机访问
4.1 WinCC组态
4.1.1WinCC中创建变量
Fan1_T1:进口温度
Fan1_T2:出口温度
Fan1_P1:进口压力
Fan1_P2:出口压力
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 Time Picker Control6.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 HMIRuntime 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:运行结果
DEMO程序请参考附件中的report_demo_local.xls 文件。
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变量归档数据》:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0554
注意,访问远程OPC服务器,需要设置DCOM,请参考《如何配置OPC DCOM》:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0265
2)使用以下脚本也可以获得远程WinCC运行数据库的名称:

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

DEMO程序请参考附件中的report_demo_remote.xls文件。

如果您对该文档有任何建议,请将您的宝贵建议提交至下载中心留言板。
该文档的文档编号:A0567

附录-推荐网址

SIMATIC HMI人机界面
西门子(中国)有限公司
工业自动化与驱动技术与楼宇科技集团 客户服务与支持中心
网站首页:www.4008104288.com.cn
WinCC下载中心:http://www.ad.siemens.com.cn/download/DocList.aspx?TypeId=0&CatFirst=1&CatSecond=9&CatThird=-1
HMI全球技术资源:http://support.automation.siemens.com/CN/view/zh/10805548/130000
“找答案”WinCC版区:http://www.ad.siemens.com.cn/service/answer/category.asp?cid=1032

注意事项

应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。应用示例不表示客户的具体解决方案。它们仅对典型应用提供支持。用户负责确保所述产品的正确使用。这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。当使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。我们保留随时修改这些应用示例的权利,恕不另行通知。如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。

声明

我们已核对过本手册的内容与所描述的硬件和软件相符。由于差错难以完全避免,我们不能保证完全一致。我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。欢迎您提出宝贵意见。
版权© 西门子(中国)有限公司2001-2011 版权保留
复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。侵权者将承担权利人的全部损失。权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...玩网页游戏当输入完用户名,密码 点登入时 网页会自动关闭,就是点下... 一看电影网页游戏就掉线 771天津到无锡在那个火车站上车 天津1469次火车到无锡哪个火车站?求解 天津西到无锡东的G211途经哪些站? k5268次列车途经站点 java.applet描述 小动物之星禁止跳舞成就怎么完成 小动物之星如何解锁禁止跳舞 小动物之星蕉驴不焦虑成就怎么做 小动物之星蕉驴不焦虑成就完成方 小动物之星农场奇遇的完成方法 在WinCC中是如何打开第三方应用程序的文件呢? wincc怎么实现读取excel里的数据到数据库 wincc 如何显示excel表格 如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档 如何在WINCC中在线打开EXCEL文件 四个月宝宝的脚总出汗是怎么回事 小孩手脚出汗有哪些原因 我女儿脚容易出汗,请问什么原因 宝宝的脚总出汗是怎么回事呢 小孩脚手出汗是什么原因? 孩子脚出汗,不知什么原因? 小孩子脚出汗什么原因 小孩子的脚总是出汗,怎么回事? 大虾是什么虾 20个头的虾有多大? 20厘米的虾水煮还是蒸多长时间? 平常说的对虾是什么虾? 20头虾有多大 20公分的大虾怎么做好吃 虾子是什么东西 如何使用Excel通过OPC访问WinCC的实时数据 wincc如何使用按钮启动excel宏 wincc查询excel文件 这个文件是按日期生成的 外国人用用iPhone5贴不贴膜 美团优选怎样选择让微信好友付款 美团预定酒店可以朋友付款吗 美团怎么让好友帮忙支付 美团电单车如何让好友代付? 美团可以他人付款吗 美团外卖找对方付款对方还可以点东西吗 404 Not Found 美团优选可以找人付款吗 美团好友的订单已被别人付款是什么意思 404 Not Found 什么运动可以治痔疮?拜托了各位 谢谢 哪些运动对痔疮有好处 哪些运动可以缓解痔疮 做什么动作可以减轻痔疮 在健身房做哪些运动可以治疗痔疮 治痔疮的运动技巧有哪些?