组态王报表演示说明.doc
《组态王报表演示说明.doc》由会员分享,可在线阅读,更多相关《组态王报表演示说明.doc(10页珍藏版)》请在冰豆网上搜索。
![组态王报表演示说明.doc](https://file1.bdocx.com/fileroot1/2022-10/9/36cb2c80-b4b5-4d1c-92c1-e84d064f5a97/36cb2c80-b4b5-4d1c-92c1-e84d064f5a971.gif)
报表演示说明
1、本演示分为日报、月报、年报
2、日报的生成:
对于日报可以每小时输入一个数据,然后进行统计后每天生成一个报表
日报生成的命令语言见事件命令语言的条件为:
$分==0&&$秒==0,消失时
注意:
a、报表函数命令执行时报表控件所在的画面必须打开,因此对于画面不多的
情况下可以在工程运行时将后台处理画面打开并隐含起来,同时所有其它的画
面属性都应为覆盖式。
如果画面较多无法全部将画面属性设为覆盖式则可以在
报表命令语言执行前执行打开画面的命令
b、在新的一天开始时需要使用新的报表文件,因此需要在调用前需要判断当
天的报表文件是否已经创建,如果没有创建则需要进行创建
c、对于日报的统计主要针对每天持续运行的情况,对于不能保证持续运行的
现场可以参照月报的统计方式
b、报表的查询在日报查询页,可以对报表文件进行读取、删除等操作
{stringFileName1=InfoAppDir()+"日报\"+StrFromReal(\\本站点\$年,0,"f")+"y"+StrFromReal(\\本站点\$月,0,"f")+"m"+StrFromReal(\\本站点\$日,0,"f")+".rtl";
//自定义变量
longreturn01=InfoFile(Filename1,1,\\本站点\$分);
//判断日报目录下是否已经有当天的报表文件了
if(return01==0)
{
stringFileName=InfoAppDir()+"报表\日报.rtl";
ReportLoad("Report5",FileName);
FileName=InfoAppDir()+"日报\"+StrFromReal(\\本站点\$年,0,"f")+"y"+StrFromReal($月,0,"f")+"m"+StrFromReal($日,0,"f")+".rtl";
ReportSaveAs("Report5",FileName);
}
//如果没有报表文件则从报表目录下调取模板创建报表文件
ReportLoad("Report5",FileName1);
ReportSetCellString("report5",3,10,\\本站点\$日期);
longhang=\\本站点\$时+6;
stringtimestr=time(\\本站点\$时,0,0);
ReportSetCellString("report5",hang,1,timestr);
ReportSetCellValue("report5",hang,2,\\本站点\颗粒物);
ReportSetCellValue("report5",hang,3,\\本站点\颗粒物折算);
ReportSetCellValue("report5",hang,4,\\本站点\SO2);
ReportSetCellValue("report5",hang,5,\\本站点\SO2折算);
ReportSetCellValue("report5",hang,6,\\本站点\NO2);
ReportSetCellValue("report5",hang,7,\\本站点\NO2折算);
ReportSetCellValue("report5",hang,8,\\本站点\流量);
ReportSetCellValue("report5",hang,9,\\本站点\O2);
ReportSetCellValue("report5",hang,10,\\本站点\温度);
ReportSetCellValue("report5",hang,11,\\本站点\水分);
ReportSaveAs("Report5",FileName1);
}
3、月报的生成
月报中需要每天的统计数据,该数据为每天的平均值,如果需要其它的统计数
据也可照此方法进行处理。
月报生成的命令语言函数讲事件命令语言的条件为:
$时==23,消失时,即当每天
结束时将当天的统计数据从日报表中读取后将其输入月报中对应的行中,并从月
报中读取汇总数据求出平均值写入平均值计算行
注意:
a、计算平均值时有一个关键计算变量为:
日计数,该变量统计实际每月记录的日期天数,该数据需要在每月开始时赋值为0
b、报表的查询在日报查询页,可以对报表文件进行读取、删除等操作
c、由于月报操作每天进行一次,因此月报后台处理画面只需操作时打开执行报表函数并在执行完成后关闭
d。
月报表的生成还可以采用年报表的生成方式产生,具体方法将年报表相关命令语言
{stringreportname2=StrFromReal(\\本站点\$年,0,"f")+StrFromReal(\\本站点\$月,0,"f")+".rtl";
//====================
stringFileName;
//自定义变量
FileName=InfoAppDir()+"月报\"+reportname2;
longreturn02=InfoFile(Filename,1,\\本站点\$分);
ShowPicture("后台月报");
HidePicture("后台月报");
//判断月报目录下是否已经有当月的报表文件了
if(return02==0)
{
FileName=InfoAppDir()+"报表\月报.rtl";
ReportLoad("Roport7",FileName);
FileName=InfoAppDir()+"月报\"+reportname2;
Reportsaveas("Roport7",FileName);
\\本站点\日计数=0;
}
//如果当月的月报文件还没有产生则调入月报.rtl文件并按规定格式保存报表文件
FileName=InfoAppDir()+"月报\"+StrFromReal(\\本站点\$年,0,"f")+StrFromReal(\\本站点\$月,0,"f")+".rtl";
ReportLoad("Report7",FileName);
longhang;
hang=$日+5;
\\本站点\日计数=\\本站点\日计数+1;
stringstr;
longValue;
str=ReportGetCellString("Report5",3,10);
ReportSetCellString("Report7",hang,1,str);
Value=ReportGetCellValue("Report5",30,2);
ReportSetCellValue("Report7",hang,2,Value);
Value=ReportGetCellValue("Report5",30,3);
ReportSetCellValue("Report7",hang,3,Value);
Value=ReportGetCellValue("Report5",30,4);
ReportSetCellValue("Report7",hang,4,Value);
Value=ReportGetCellValue("Report5",30,5);
ReportSetCellValue("Report7",hang,5,Value);
Value=ReportGetCellValue("Report5",30,6);
ReportSetCellValue("Report7",hang,6,Value);
Value=ReportGetCellValue("Report5",30,7);
ReportSetCellValue("Report7",hang,7,Value);
Value=ReportGetCellValue("Report5",30,8);
ReportSetCellValue("Report7",hang,8,Value);
Value=ReportGetCellValue("Report5",30,9);
ReportSetCellValue("Report7",hang,9,Value);
Value=ReportGetCellValue("Report5",30,10);
ReportSetCellValue("Report7",hang,10,Value);
Value=ReportGetCellValue("Report5",30,11);
ReportSetCellValue("Report7",hang,11,Value);
//将日报表中的统计数据(平均值)输入到月报表中
Value=ReportGetCellValue("Report7",39,2);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,2,Value);
Value=ReportGetCellValue("Report7",39,3);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,3,Value);
Value=ReportGetCellValue("Report7",39,4);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,4,Value);
Value=ReportGetCellValue("Report7",39,5);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,5,Value);
Value=ReportGetCellValue("Report7",39,6);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,6,Value);
Value=ReportGetCellValue("Report7",39,7);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,7,Value);
Value=ReportGetCellValue("Report7",39,8);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,8,Value);
Value=ReportGetCellValue("Report7",39,9);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,9,Value);
Value=ReportGetCellValue("Report7",39,10);
Value=Value/\\本站点\日计数;
ReportSetCellValue("Report7",37,10,Value);
Value=ReportGetCellValue("Report7",39,11);
Value=Value/\\本站点\日计数;
Repor