组态王软件详细教程 第七讲 报表系统


第七讲 报表系统

1

第七讲
第一节

报表系统

组态王内嵌数据报表

? ? ? ?

本讲介绍报表系统的创建和格式设置 介绍报表函数 介绍报表系统的组态 介绍报表模板

数据报表的用途
数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形式。是生产过程 必不可少的一个部分。它即能反应系统实时的生产情况,也能对长期的生产过程进行统计、分析, 使管理人员能够实时掌握和分析生产情况。 组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工 程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。即可以制作实 时报表,也可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重 复工作。

制作实时数据报表 ?
在组态王工具箱内选择“报表窗口”工具 ,在报表画面上绘制报表。如下图所示:

双击报表窗口的灰色部分(表格单元格区 域外没有单元格的部分),弹出“报表设计”对 话框,对话框定义如下图所示: ? 在“报表控件名”对话框中输入报表控 件名称: 实时数据报表 ,这个控件名会在报表 函数中引用。 ? 在行数对话框中输入所要制作的报表的大 致行数 15 ? 在列数对话框中输入所要制作的报表的大

?

第七讲 报表系统

2

致列数 6

?

单击对话框的“确认”按钮。则组态王报表画面如下图所示:

设置表头格式 设计表头:选中“b1”到“e2”的单元格区域,从报表工具箱上单击“合并单元格”按钮,在报 表工具箱的编辑框里输入文本“实时数据报表”,单击“输入”按钮;或双击合并的单元格,使输 入光标位于该单元格中,然后输入上述文本。单击报表工具箱中的“设置单元格格式”按钮,设置 单元格格式如下:数字—常规;字体—隶书、规则、一号、红色;对齐方式:水平—居中,垂直— 居中;图案—设置单元格底纹颜色为灰色。如下图所示。

?

?

设计报表时间

在单元格“d3”中显示当前日期,双击该单元格,然后输入函数“=Date($年,$月,$日)”。 “e3”中显示当前时间,双击该单元格,然后输入“=Time($时,$分,$秒)”。设置单元格“d3” 的格式为:常规—日期(YYYY 年 MM 月 DD 日)。设置单元格“e3”的格式为:常规—时间(XX 时 XX 分 XX 秒)。设置如下图所示:

?

设计报表格式——显示变量的实时值

第七讲 报表系统

3

1、利用数据改变命令语言和报表函数。在 a4 单元格中输入“原料油液位”文本值,再选中 b4 单元格,然后在组态王的“数据改变命令语言”对话框中输入:

注意“实时数据报表”是报表控件名称而不是画面名称。 催化剂液位,成品油液位的实时值同样设置。则报表设计样式如下图所示:

2、直接引用变量。在单元格直接插入变量,在该变量前加一个“=”。如果没有等号会认为是 个字符串。 ? 保存报表 在开发状态下,在报表工具箱中点击保存按钮: ,则弹出对话框如下图所示:

第七讲 报表系统

4

选择保存路径,输入要保存的文件名,如上图所示。点击“保存”按钮,则实时数据报表就保 存为实时数据报表.rtl 文件。这样保存的报表可供下次需要时调用。 ? 运行组态王,则报表画面如下图所示:

这样,一个简单的实时数据报表就生成了。

?

报表打印 在画面中建一个打印按钮,在弹起时命令语言中输入如图所示:

第七讲 报表系统

5

点击“确认”即可。保存画面,运行组态王,则单击“打印报表”,数据报表即可打印出来。

注:报表单元格内支持输入函数(比如数学函数和日期函数)和变量,但是前面必须有等号。

第七讲 报表系统

6

制作历史数据报表
组态王历史报表的创建和表格样式设计与实时数据报表方法是一样的,并可以通过调用历史报 表查询函数加以实现。 ? 表格设计 根据实时数据报表的设计方法,设计的历史报表样式如下图所示:

建立查询函数 在组态王历史报表画面中建一个“报表查询”的按钮,在<弹起时>时命令语言中输入历史查询 函数如下图所示:

?

第七讲 报表系统

7

查询历史数据 运行组态王,打开历史报表画面,点击“报表查询”按钮,弹出对话框如下图所示:

?

在对话框中输入合适的查询参数值,然后单击“确定”按钮;依次查询催化剂液位、成品油液 位。 最后生成的历史数据报表如下图所示:

注: 组态王提供了丰富的报表函数以实现对历史数据的多种处理方法,用户可以根据实际要求 设计需要的报表。除了前面所述,常用报表函数如下: ReportPageSetup 此函数在运行系统中对指定的报表进行页面设置。 Reportprint 此函数用于将指定数据报告文件(不是报表)输出打印机配置设定的打印口上。

ReportPrint2(EV_STRING, EV_LONG|EV_STRING|EV_ANALOG|EV_DISC) 第二个参数为真,函数自动打印,否则弹出打印对话框

第七讲 报表系统

8

ReportPrintSetup 此函数对指定的报表进行打印预览并且可输出到打印配置中指定 的打印机上进行打印。 ReportGetCellString 获取指定报表的指定单元格的文本。 ReportGetCellValue 获取指定报表的指定单元格的数值。 ReportGetColumns 获取指定报表的列数。 ReportGetRows 获取指定报表的行数。 ReportLoad 将指定路径下的报表读到当前报表中来。 ReportSaveAs 将指定报表按照所给的文件名存储到指定目录下。 ReportSetCellString 将指定报表的指定单元格设置为给定字符串。 ReportSetCellString2 将指定报表的指定单元格区域设置为给定字符串。 ReportSetCellValue 将指定报表的指定单元格设置为给定值。 ReportSetCellValue2 将指定报表的指定单元格区域设置为给定值。 ReportSetHistData 按照用户给定的参数查询历史数据。

报表函数的详细使用请参看《组态王函数速查手册》或在线帮助。

第二节 用 EXCEL 作报表输出
用户除了可以用组态王内嵌报表进行报表的设计输出外,亚控公司还提供了用 excel 作历史报 表输出的例子: kintable.xls 文件。用户可以从组态王的安装路径下找到该文件。如组态王为默认安 装路径 c:\programfiles\kingview,则在该路径下可以找到 kintable.xls 文件。 ? 双击 kintable.xls ,弹出如下对话框:

?

单击“启用宏”按钮,进入到报表 excel 的报表画面,如下图所示:

第七讲 报表系统

9

?

点击画面中的菜单 工具\宏\Visual Basic 编辑器,则进入 vba 编程环境,如下图所示:

点击菜单下方右边的过程列表框,选择“auto_open”项,如上图所示,则光标停在相应的子程 序段,其中 ret = INI_HistoryRecord(0, 0, "C:\Program Files\Kingview\Example\Kingdemo2", 0, "C:\Program Files\Kingview\Example\Kingdemo2") 的 INI_HistoryRecord( )函数用于初始化查询子系统,函数中第三个参数表示组态王的历史库路 径,最后一个参数表示组态王的工程路径,用户只需要修改这两个路径为自己的工程设置即可,例: 当前培训工程在“E:\临时测试工程\培训工程\”下面,历史库路径也为当前工程路径,则函数设置 为: ret = INI_HistoryRecord(0, 0, " d:\培训工程", 0, " d:\培训工程") 保存所作的操作。保存完毕后,关闭编程环境,回到 excel 表的环境。 点击画面中的菜单 报表\历史报表 项,弹出如下对话框,在对话框中输入要查询变量的 起始时间、结束时间、时间间隔、然后点击“增加”按钮,输入所要查询的组态王变量:

?

第七讲 报表系统

10

设置完后,按下“确定”按钮,则相应时间的历史数据变量在 sheet1 表中就生成了。


相关文档

组态王软件详细教程 第九讲 数据库
组态王软件详细教程 第五讲 趋势曲线
组态王软件详细教程 第十讲 控件
组态王教程第七讲
组态王软件详细教程 第十一讲系统安全性和附属工具
组态软件(组态王)初级课程
组态王课程设计报告__混合配料监控系统
组态王软件详细教程 第四讲 报警和事件
组态王软件详细教程 第三讲 让画面动起来
组态王软件教程
电脑版