WinCC数据报表实现的方法总结

上传人:冰*** 文档编号:126092626 上传时间:2020-03-21 格式:PDF 页数:34 大小:3.33MB
返回 下载 相关 举报
WinCC数据报表实现的方法总结_第1页
第1页 / 共34页
WinCC数据报表实现的方法总结_第2页
第2页 / 共34页
WinCC数据报表实现的方法总结_第3页
第3页 / 共34页
WinCC数据报表实现的方法总结_第4页
第4页 / 共34页
WinCC数据报表实现的方法总结_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《WinCC数据报表实现的方法总结》由会员分享,可在线阅读,更多相关《WinCC数据报表实现的方法总结(34页珍藏版)》请在金锄头文库上搜索。

1、 WinCC 数据报表实现方法介绍数据报表实现方法介绍 How use WinCC create data report Getting started Edition 2010 年 年 6 月月 摘摘 要要 本文对数据报表的需求进行了分析 结合 WinCC 就复杂数据报表的实现进行了介 绍 关键词关键词 WinCC 报表 Key Words WinCC Report IA Return Type BOOL IA Return Type BOOL SetTagBit BarcE 1 Return Type BOOL SetTagBit BarcB 0 Return Type BOOL else

2、 if strcmp GetTagChar CurrentUser erban SetTagBit BarcE 0 Return Type BOOL SetTagBit BarcB 1 Return Type BOOL SetTagBit AarcE 1 Return Type BOOL SetTagBit AarcB 0 Return Type BOOL 该动作通过 WinCC 内部变量 CurrentUser 的变化来触发 图 14 触发条件 这样在项目中 A 班的用户登录就触发 ATagArc 变量的归档 B 班的用户登录就触发 BTagArc 从而达到分班统计的目的 过程变量属性在这里

3、我们选择实际值 IA sDsn Catalog CC FXReport 09 02 08 13 58 39R sSer Data Source WinCC sCon sPro sDsn sSer BeginTime Read EndTime Read sSql Tag R MyPA ATagArc BeginTime Value EndTime Value MsgBox Opened with vbCr sCon vbCr sSql vbCr vbOKCancel Set conn CreateObject ADODB Connection conn ConnectionString sCon

4、 conn CursorLocation 3 conn Open Set oRs CreateObject ADODB Recordset Set oCom CreateObject ADODB Command oCom CommandType 1 Set oCom ActiveConnection conn oCom CommandText sSql Set oRs oCom Execute n oRs RecordCount 返回的数据集数 MsgBox n If n 0 Then oRs MoveFirst n 0 Sum 0 Avg 0 Min oRs Fields 2 Value M

5、ax oRs Fields 2 Value Do While Not oRs EOF n n 1 V oRs Fields 2 Value Sum Sum V If V Max Then Max V If V1 Then Avg Sum n HMIRuntime Tags incount Write n HMIRuntime Tags AavgTag Write FormatNumber Avg 2 HMIRuntime Tags AmaxTag Write FormatNumber Max 2 HMIRuntime Tags AMinTag Write FormatNumber Min 2

6、Else HMIRuntime Trace selection return no fields vbNewLine End If conn Close Set oCom Nothing Set oRs Nothing Set conn Nothing 打印调用 创建了一个全局动作通过 Printer 的变化调用打印作业 Printer0 Read If Printer0 Value 0 Then Printer0 Write 1 Else Printer0 Write 0 End If 上面的方法就能得出 A 班的最大值 最小值和平均值 并把这些值存放在预先定义的 内部变量里 同样的方法可以

7、求出别班的数据信息 最后就是布局设计 这个布局的设计原理很简单 就是把 变量 添加到布局中 排列对 齐就可以了 如下图 IA DT Service Support Page 17 34 图 16 报表布局 最后组态输出界面 在画面中组态如下界面 调用脚本和打印任务就可以了 图 17 操作界面 该程序可以实现对任意时间范围呢的数据进行统计打印 输出结果如下图 图 18 打印输出 IA DT Service Support Page 18 34 3 2 用户归档实现分总式报表用户归档实现分总式报表 报表图 2 涉及到数据的统计 单纯的存储不难 关键如何统计 从报表上分析 一天只 会产生一条记录 完

8、全可以选择使用用户归档实现 首先在用户归档中创建一个归档 分别连接相应的需要记录的变量 并创建一个字符串 类型的域用于存储日期 图 19 用户归档 针对用户归档创建如下控制变量 图 20 控制变量 关于控制变量的说明参考 WinCC Information system 选项 用户归档 组态 组态用户归档 控制变量 的属性 当 ID 1 指令 6 时 就可以把过程值存放到归档数据库中 IA DT Service Support Page 19 34 关于日期可以通过如下脚本得到 riqi CStr Year Now CStr Month Now CStr Day Now 可以新建一个系统变量选

9、择日期函数 通过每天的变化触发用户归档控制变量的指令和 ID 的变化 从而达到定时触发的目的 如图 图 21 系统变量定义 这样我们就得到了每天的数据记录 下一步组态页面 在页面布局中添加一个用户归档 表格控件 一个静态文本和一个 ODBC 数据库表 为了实现分页功能需要对静态文本的属性 作如下设置 图 22 页面布局 IA DT Service Support Page 20 34 图 23 静态文本属性设置 下面我们分别设置用户归档和 ODBC 数据库表控件的参数 图 23 归档控件设置 图 23 ODBC 控件设置 IA DT Service Support Page 21 34 画面中

10、查寻按钮的代码 Dim riqivar Set riqivar HMIRuntime Tags riqivar Dim xinjiangFilter Set xinjiangFilter HMIRuntime Tags xinjiangFilter Dim xinjiangorder Set xinjiangorder HMIRuntime Tags xinjiangorder Dim mytestsql Set mytestsql HMIRuntime Tags mytestsql riqivar Read xinjiangFilter Read xinjiangFilter Write M

11、yDate like riqivar Value xinjiangorder Read xinjiangorder Write MyDate ASC mytestsql Read mytestsql Write select sum picishu as 批次数 sum zongzl as 总重量 sum zhuliao as 主 料 sum fuliao1 as 1 辅料 sum fuliao2 as 2 辅料 sum fuliao3 as 3 辅料 sum fuliao4 as 4 辅料 sum fuliao5 as 5 辅 料 sum fuliao6 as 6 辅料 from UA pe

12、ixianchengzhong where MyDate like riqivar Value 至此在画面中输入查询日期的条件执行上面的代码就能返回相应的数据集 最后调用打印任 务就可以了 打印中常见问题的说明希望对大家有所帮助 整点触发问题整点触发问题 可以通过在变量管理 SYSTEM INFO 下创建变量用于取得系统小时值 这个值是随着系统 时钟而变化的 一旦改变就可以用来触发归档或者打印任务 也可以通过脚本实现 参照网上的例子 如何整点启动归档 对齐问题对齐问题 WinCC 提供很好的数据接口 那么在报表格式上来讲如何控制一直是个难题 下 面是一些细节介绍希望对大家能有所帮助 通过菜单栏

13、中的放大功能可以很好的查看控件的对齐效果 IA DT Service Support Page 22 34 图 24 放大功能 通过菜单栏 工具 设置 可以把页面精确设置到毫米 同时可以设定控件是否和网 格对齐 从而方便我们的排版设计 图 25 网格设置 IA DT Service Support Page 23 34 4 WinCC 报表功能总结报表功能总结 通过上面的分析我们不难看出 WinCC 的报表系统提供了很好的数据接口 我们可以很 方便的就取出 WinCC 的归档数据和外部数据库的数据 无需很多的编程知识 同时在过程 归档可以很容易的就得到变量的最大值 最小值 平均值等信息 过程值

14、归档中无法建立关系和对字符串进行归档 这些功能使用用户归档可以实现 其 实很多人不使用 WinCC 自带的报表功能 很大程度上是因为布局不好掌控 确切来讲在格 式的控制上 WinCC 是有些不适合中国国情 延伸话题 其实数据的报表打印就是对数据的存储记录工作 有时候我们需要的并不是 打印出一张纸 而是需要对数据的分析和整理 从这个角度出发 WinCC 如果能提供一个强 大的前台数据统计分析控件就更完美了 当然对于数据的分析统计 在现场应用中很大程度 上是由 MIS 系统和 ERP 系统来实现的 WinCC 在这个环节是作为一个数据源的身份出现 的 但是它的 Dat Monitor 工具提供了很

15、好的数据接口 用于分析和输出数据 也不失为一 个很好的数据分析统计选件 5 使用脚本和使用脚本和 EXCEL 实现实时数据报表实现实时数据报表 论坛中很多人使用 VBS 和 EXCEL 实现报表功能 下面做了一个示例仅供参考 5 1 在在 WINCC 中使用中使用 VBS 脚本通过脚本通过 EXCEL 实现实时数据报表实现实时数据报表 使用 VBS 脚本和 EXCEL 工具 同样可以生成需要的报表 一般的思路是 预先使用 excel 设计好报表的样式 然后在 WinCC 中使用 VBS 脚本把相应的数据写入事先定义好的 表格中 下面给出实现的方法 右键点击按钮打开属性对话框 在事件页右键单击鼠

16、标动作选择 VBS 动作 如下图 图 26 动作定义 IA DT Service Support Page 24 34 在该事件中写入如下脚本 定义变量 Dim objExcelApp objExcelBook objExcelSheet Dim tagwendu tagyali tagliuliang tagzhongliang tagyuanliao tagchengfen Dim tagshijian sheetname username zhushi Dim qushi1 qushi2 qushi3 qushi4 qushi5 qushi6 qushix tagstring qushivalue Dim x y z i j Dim msg 声明 Set tagwendu HMIRuntime Tags wendu Set tagyali HMIRuntime Tags yali Set tagliuliang HMIRuntime Tags liuliang Set tagzhongliang HMIRuntime Tags zhongliang Set tagyuanliao

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

当前位置:首页 > 行业资料 > 公共安全/评价

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