excel制作wincc报表

上传人:第*** 文档编号:38742130 上传时间:2018-05-07 格式:PDF 页数:9 大小:871.32KB
返回 下载 相关 举报
excel制作wincc报表_第1页
第1页 / 共9页
excel制作wincc报表_第2页
第2页 / 共9页
excel制作wincc报表_第3页
第3页 / 共9页
excel制作wincc报表_第4页
第4页 / 共9页
excel制作wincc报表_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《excel制作wincc报表》由会员分享,可在线阅读,更多相关《excel制作wincc报表(9页珍藏版)》请在金锄头文库上搜索。

1、最近在网上看了些关于 WINCC 报表的资料,发现大多是西门子官网上的教材。大多数 编程基础较弱的同仁们, 估计很难达到预想的效果。 下面我将用一个实例为大家详细的讲解 下教材上的实现方法。 一 软件环境: 1. OFFICE2003 完整版。 2. WINCC 7.0 SP2 亚洲版。 3. 如果没有安装 WINCC 或者 DataMonitor ,就必须安装 Connectivety Pack。 二 实现思路 1. 在 WINCC 中新建测试项目。 2. 编辑 Excel 模板。 3. 编写宏。 (重点) 下面开始具体解析: 第一步: 在 WINCC 中新建测试项目,具体如何新建项目就不详

2、细讲解。在新建的项目中 要达到如下要求: 1. 新建四个内部变量(test1, test2, test3, test4). 2. 将上面四个变量添加到变量记录中,归档周期为 1 分钟。将 1 分钟定时器 设置成如下图: 3. 在全局脚本中新建全局动作, 全局动作使 test1, test2, test3, test4 每分钟到发 生变化(如: ) 4. 将新建项目激活,产生数据记录。 WINCC 的准备工作就完成了。 第二步: 编辑 EXCEL 如下模板: 在上图红色标注的部分是微软的日历控件,添加方法如下: 在控件工具箱中选择“其它控件” ,进行如下操作: 把控件放到合适的位置并拖拽到合适的

3、大小。 第三步:编写宏。 1 进入 VBA 的编辑界面: 2 新建两个子函数 子函数: Set_Null 代码如下: Sub Set_Null() For m = 4 To 27 For n = 1 To 5 Sheet1.Cells(m, n) = Null Next Next End Sub 该函数主要是用来初始化表格。 子函数: get_wincc_data 代码如下: Sub get_wincc_data() sDsn = “CC_opc_test_14_08_25_16_31_51R“ sPro = “Provider=WinCCOLEDBProvider.1;“ sDsn = “C

4、atalog=“ “ sSer = “Data Source=DUPANGFEIWinCC“ sCon = sPro “ _ “ _ “ _ “ sDsn = “Catalog=“ “ sSer = “Data Source=DUPANGFEIWinCC“ sCon = sPro “ _ “ _ “ _ “ _ “ _ “ _ “ _ “ _ “ _ & “ProcessValueArchivetest4), 查询多个变量名。& sStart & 查询的起始时间,& sStop & 查询的终止时间, order by datetime ,TimeStep = 3600,1“查询排序和查询时间间

5、隔(单位:秒) 。 在其它项目中使用时,上述代码中只需要更改变量名就可以了。 数据查询和处理: oCom.CommandText = sSql Set oRs = oCom.Execute If (oRs.EOF) Then oRs.Close Else oRs.MoveFirst i = 0 j = 2 Value_Old = oRs.Fields(“ValueID“).Value Do While Not oRs.EOF Value_New = oRs.Fields(“ValueID“).Value If Value_Old Value_New Then j = j + 1 i = 0 V

6、alue_Old = Value_New End If Sheet1.Cells(i + 4, j) = oRs.Fields(“RealValue“).Value Get_time = oRs.Fields(“TimeStamp“).Value Sheet1.Cells(i + 4, 1) = Hour(DateAdd(“h“, 8, CDate(Get_time) & “:“ & Minute(DateAdd(“h“, 8, CDate(Get_time) oRs.MoveNext i = i + 1 Loop oRs.Close End If Sheet1.Cells(1, 6) = m End Sub 对数据做出处理,将数据放到表格中。在这段代码中有一些关于 VBA 的知识和 VBA 一 些语法。还有就是数据放到表格中的什么地方。亲们好好看下,很简单,很容易明白。这段 代码很灵活,可以根据实现需求更改。 调试完成运行效果图如下:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号