组态王报表()解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据报表是反应生产过程中的过程数据、运行状态等,并对数据进行记录、统计的一种重要工具,是生产过程必不可少的一个重要环节。它既能反应系统实时的生产情况,又能对长期的生产过程数据进行统计、分析,使管理人员能够掌握和分析生产过程情况。组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。第八讲报表8.1实时数据报表8.2历史数据报表8.3历史数据报表的其它应用1、创建实时数据报表新建一画面,名称为:实时数据报表画面。在画面上输入文字:实时数据报表。在工具箱中选择“报表窗口”。8.1实时数据报表“双击窗口的灰色部分,弹出“报表设计”对话框,对话框设置如下:报表工具箱设置选中的单元格格式注:如果变量名前没有添加“=”符号的话此变量被当作静态文字来处理。输入静态文字:单击“文件”菜单中的“全部存”命令,切换到VIEW”命令,进入运行系统。2、报表函数报表在运行系统中、单元格中数据的计算、报表的操作等都是通过组态王提供的一整套报表函数实现的。报表函数分为报表内部函数、报表单元格操作函数、报表存取函数、报表历史数据查询函数、统计函数、报表打印函数等。1)实时打印ReportPrint2此函数为报表专用函数。将指定的报表输出到打印配置中指定的打印机上打印,语法使用格式如下:ReportPrint2(ReportName)自动打印:ReportPrint2(“ReportName”)或ReportPrint2(“ReportName”,1)手动打印:ReportPrint2(“ReportName”,0),弹出“打印属性”对话框。2)保存(ReportSaveAs)此函数为报表专用函数。将指定报表按照所给的文件名存储到指定目录下,语法格式使用如下:ReportSaveAs(ReportName,FileName)参数说明:ReportName:报表名称;FileName:存储路径和文件名称。ReportSaveAs(Report1,D:\教学\组态王\我的工程2\生产车间\报表.rtl);保存为rtl、xls、csv格式3)页面设置ReportPageSetup此函数为在运行状态下对报表进行页面设置函数ReprotPageSetup(StringszRptName);参数说明:szRptName:要进行页面设置报表的名称。例如:设置“实时数据报表”ReportPageSetup(“实时数据库表”)。4)打印预览设置ReportPrintSetup此函数对指定的报表进行打印预览并且可输出到打印配置中指定的打印机上进行打印。ReportPrintSetup(szRptName);参数说明:szRptName:要打印预览的报表名称。例如:打印预览“实时数据报表”:ReportPrintSetup(“实时数据报表”)。4)实时数据报表的查询利用系统提供的命令语言可将实时数据报表以当前时间作为文件名保存在指定的文件夹中,对于已经保存到文件夹中的报表文件如何在组态王中进行查询呢?利用组态王提供的下拉式组合框与一报表窗口控件可以实现上述功能。查询过程:在工程浏览器窗口的数据词典中定义一个内存字符串变量:变量名:报表查询变量变量类型:内存字符串初始值:空在画面上输入文字:实时数据报表查询。绘制一实时数据报表窗口,控件名称为:Report2。“下拉式组合框”控件,控件属性设置如图所示:上述命令语言的作用是将已经保存到“当前组态王工程路径下实时数据文件夹”中的实时报表文件名称在下拉式组合框中显示出来。stringfilename;filename=InfoAppDir()+\实时数据文件夹\*.rtl;listClear(List1);ListLoadFileName(List1,filename);在画面属性的命令语言中输入如下命令语言:stringfilename1;stringfilename2;filename1=InfoAppDir()+\实时数据文件夹\+\\本站点\报表查询变量;ReportLoad(Report2,filename1);filename2=InfoAppDir()+\实时数据文件夹\*.rtl;listClear(List1);ListLoadFileName(List1,filename2);在画面中添加一按钮,按钮文本为:报表查询。在按钮的弹起事件中输入如下命令语言:上述命令语言的作用是将下拉式组合框中选中的报表文件的数据显示在Report2报表窗口中,其中\\本站点\报表查询变量保存了下拉式组合框中选中的报表文件名。ReportLoad此函数为报表专用函数。将指定路径下的报表读到当前报表中来,语法格式使用如下:ReportLoad(ReportName,FileName)参数说明:ReportName:报表名称FileName:报表存储路径和文件名称创建历史数据报表•新建一画面,名称为:历史数据报表画面。•在画面上输入文字:历史数据报表。•在画面上绘制一历史数据报表窗口,控件名称为:历史报表,并设计表格,如图所示:历史报表记录了以往的生产记录数据,对用户来说是非常重要的。8.2历史数据报表在画面中添加一按钮,按钮文本为:历史数据报表查询。在按钮的弹起事件中输入如下命令语言:ReportSetHistData2(1,1);ReportSetHistData2此函数为报表专用函数。查询历史数据,系统会自动弹出历史数据查询对话框。语法使用格式如下:ReportSetHistData2(StartRow,StartCol);参数说明:StartRow:查询的数据在报表中填充的起始行数。StartCol:查询的数据在报表中填充的起始列数。一、1分钟数据报表演示利用报表窗口工具结合组态王提供的命令语言可实现一个1分钟的数据报表。设置过程如下:新建一画面,名称为:1分钟数据报表画面。在画面上输入文字:1分钟数据报表。在画面上绘制一报表窗口(64行5列),控件名称为:一分钟报表Report6,并设计表格,如图所示:8.3历史数据报表的其它应用选择“命令语言”中的“数据改变命令语言”选项,在编辑框中输入如下脚本语言,当系统变量\\本站点\$秒变化时,执行该脚本程序,将变量每秒钟的数据自动写入报表控件中。longrow;row=\\本站点\$秒+4;ReportSetCellString(一分钟数据报表,2,2,\\本站点\$日期);ReportSetCellString(一分钟数据报表,row,1,\\本站点\$时间);ReportSetCellValue(一分钟数据报表,row,2,\\本站点\原料油液位1);ReportSetCellValue(一分钟数据报表,row,3,\\本站点\催化剂液位1);ReportSetCellValue(一分钟数据报表,row,4,\\本站点\成品油液位1);If(row==63)ReportSetCellString2(一分钟数据报表,4,1,63,5,);ReportSetCellString将指定报表的指定单元格设置为给定字符串。语法格式使用如下:ReportSetCellString(ReportName,Row,Col,Value)参数说明:ReportName:报表名称;Row:要设置数值的报表的行号;Col:要设置数值的报表的列号;Value:要设置的文本。ReportSetCellString2将指定报表的指定单元格区域设置为给定字符串。语法格式使用如下:ReportSetCellString2(ReportName,StartRow,StartCol,EndRow,EndCol,Value)参数说明:ReportName:报表名称;StartRow:要设置数值的报表的开始行号;StartCol:要设置数值的报表的开始列号;StartRow:要设置数值的报表的开始行号;StartCol:要设置数值的报表的开始列号;Value:要设置的文本。二、1分钟数据查询报表定时自动查询历史数据,并获取1分钟数据的平均值。设置过程如下:在画面上输入文字:1分钟数据查询报表。绘制一报表窗口(33行5列),控件名称为:一分钟查询,并设计表格如下,在“数据改变命令语言”选项输入如下脚本语言:在报表窗口的b33单元格中填写“=Average(‘b3:b32’)”;c33单元格中填写“=Average(‘c3:c32’)”;d33单元格中填写“=Average(‘d3:d32’)”。longStartTime;StartTime=HTConvertTime(\\本站点\$年,\\本站点\$月,\\本站点\$日,\\本站点\$时,\\本站点\$分,0);StartTime=StartTime-60;ReportSetTime(一分钟查询,StartTime,2,a3:a32);ReportSetHistData(一分钟查询,\\本站点\原料油液位1,StartTime,2,b3:b32);ReportSetHistData(一分钟查询,\\本站点\催化剂液位1,StartTime,2,c3:c32);ReportSetHistData(一分钟查询,\\本站点\成品油液位1,StartTime,2,d3:d32);上述命令语言的作用是查询变量当前时间前一分钟的数据,查询间隔为2秒,把时间显示在报表“一分钟查询”的a3到a32单元格中,数据的查询结果分别显示在报表“一分钟查询”的b3到b32、c3到c32和d3到d32单元格中。ReportSetHistData按照用户给定的参数查询历史数据。语法格式使用如下:ReportSetHistData(ReportName,TagName,StartTime,SepTime,szContent);参数说明:ReportName:要填写查询数据结果的报表名称;TagName:所要查询的变量名称;StartTime:数据查询的开始时间;SepTime:查询的数据的时间间隔,单位为秒;szContent:查询结果填充的单元格范围。HTConvertTime此函数将指定的时间格式(年,月,日,时,分,秒)转换为以秒为单位的长整型数,转换的时间基准是UTC(格林尼治)1970年1月1日00:00:00。语法使用格式HTConvertTime(Year,Month,Day,Hour,Minute,Second)参数描述Year:年,整型,此值必须介于1970和2019之间;Month:月,整型,此值必须介于1和12之间;Day:日,整型,此值必须介于1和31之间;Hour:小时,整型,此值必须介于0和23之间;Minute:分钟,整型,此值必须介于0和59之间;Second:秒,整型,此值必须介于0和59之间。注:调用此函数将用年、月、日、时、分、秒表示的时间转换成自1970年1月1日00:00:00即UCT起到该时刻所经过的秒数。例如:语句HTConvertTime(1970,1,1,9,0,0)执行后返回长整型数为3600。

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功