内容正文:
任务3 数据报表
学习目标
1.了解报表系统的创建和格式设置。
2.掌握数据报表函数的使用方法。
3.掌握数据报表的制作。
项目七 自动配料监控系统设计
任务引入
本任务使用组态王软件报表功能制作如图7-3-1所示某厂自动配料监控系统数据报表窗口,能实现数据报表的保存与打开管理,以及相关打印操作。
图7-3-1 数据报表窗口
相关知识
一、数据报表的用途
数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形式。它即能反应系统实时的生产情况,也能对长期的生产过程进行统计、分析,使管理人员能够实时掌握和分析生产情况。
组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。即可以制作实时报表,也可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。
二、报表工具箱与快捷菜单
报表的组态包括设置报表格式、编辑表格中显示内容等。进行这些操作需通过“报表工具箱”中的工具或单击鼠标右键弹出的快捷菜单来实现,如图7-3-2所示。
图7-3-2 报表工具箱和快捷菜单
三、报表函数
报表在运行系统中单元格中数据的计算、报表的操作等都是通过组态王提供的一整套报表函数实现的。报表函数分为报表内部函数、报表单元格操作函数、报表存取函数、报表历史数据查询函数、统计函数、报表打印函数等。
1.报表内部函数
报表内部函数是指只能在报表单元格内使用的函数,有数学函数、字符串函数、统计函数等。组态王的报表函数中的参数和有关用报表单元格作为参数的函数,其中的参数引用均为这种方法。当参数为多个单元格时:
(1)如果是任选多个单元格,则使用方法为用逗号将各个单元格的表示分隔,如:‘a1,b3,c6,h10’。
(2)如果选择的为连续的单元格时,可以输入第一个单元格标识和最后一个单元格标识,中间用冒号分割。如选择了a1到c10间的单元格区域:‘a1:c10’。
(3)报表内部函数中的单元格参数可以使用组态王变量代替,即报表支持的组态王系统函数可以直接在报表中使用。
(4)合并单元格中的数值不论对齐方式如何,在进行函数运算时,合并单元格中的数值都将放在左上角被运算。
2.报表的单元格操作函数
单元格操作函数是指可以通过命令语言来对报表单元格的内容进行操作,或从单元格获取数据的函数。
(1)设置单个单元格数值
Long nRet = ReportSetCellValue(String szRptName, long nRow, long nCol, float fValue)
函数功能:将指定报表的指定单元格设置为给定值。
【例】根据组态王实型变量“压力”的数据变化设置报表“实时数据报表”的第2行第4列为变量“压力”的值,并且返回设置是否成功结果“实数设置结果”(组态王变量),在数据改变命令语言中输入:实数设置结果=ReportSetCellValue(“实时数据报表”, 2, 4, 压力);
(2)设置单个单元格文本
Long nRet = ReportSetCellString(String szRptName, long nRow, long nCol, String szValue)
函数功能:将指定报表的指定单元格设置为给定字符串。
【例】根据组态王实型变量“压力”的数据变化设置报表“实时数据报表”的第2行第5列为字符串变量“压力说明”的值,并且返回设置是否成功结果“字符串设置结果”(组态王变量),在数据改变命令语言中输入:
字符串设置结果=ReportSetCellString(“实时数据报表”, 2, 5, 压力说明);
(3)设置多个单元格数值
Long nRet = ReportSetCellValue2(String szRptName, long nStartRow, long nStartCol, long nEndRow, long nEndCol, float fValue)
函数功能:将指定报表的指定单元格区域设置为给定值。
【例】根据组态王实型变量“压力”的数据变化设置报表“实时数据报表”的第3行第4列到第6行第7列区域为变量“压力”的值,并且返回设置是否成功结果“实数设置结果2”(组态王变量),在数据改变命令语言中输入:
实数设置结果2=ReportSetCellValue2(“实时数据报表”, 3, 4, 6, 7, 压力);
(4)设置多个单元格文本
Long nRet = ReportSetCellString2(String szRptName, long nStartRow, long nStartCol, long nEndRow, long nEndCol, Stri