基于SpreadSheet组件的统计报表设计与实
现
lL中国高新技术企土
基于SpreadSheet组件的统计报表设计与实现
移文/王勇t文晓临.
【摘要】本文重点阐述了通过使用Excel下的SpreadSheet组件,快速建立火力发电厂厂级监控信息系统
(SIS)中的统计报表的方法,介绍了这种报表的实现以及其优点,并陈述了两种方式生成报表的过程,举例说
明了实际应用的情况.实践证明.这种方法易于管理,安全稳定,广泛适用于大,中型火力发电厂.
【关键词】电厂SIS统计报表PI数据库
1SIS系统简介
SIS系统又称厂级监控信息系统,是在我国电站自动化和信息
化的发展过程中应运而生的,它主要面向火力发电厂,是集过程实
时监测,优化控制及生产过程管理为一体的厂级自动化信息系统.
SIS系统采集下层所有机组级,车间级控制系统的生产实时数据,实
现厂级的状态监测,性能计算,优化运行,操作指导,故障诊断,寿命
管理以及负荷分配等功能:将机组状态信息和性能信息发送给上层
的MIS系统.SIS处于具有高精度,高速度,高可靠性要求的DCS系
统与实时性要求不高的MIS系统之间.是电厂自动化,信息化架构
中的过渡层面.起到隔离作用….随着电厂信息化的快速发展,SIS系
平时拼音
统逐渐展现出实时,方便,数据处理能力强等优点.受到了众多厂家
的青睐.
SIS系统呈现给客户端的主要界面,一般包含实时监测,历史
趋势,性能计算,统计报表,运行管理等几个模块,根据各个厂家的
需求差别而大同小异,这里我们只做统计报表方面的研究.
2统计报表的建立生成
2.1统计报表的介绍和优点
统计报表模块是SIS系统的重要组成部分,它是以从现场
DCS,R]及其他辅机系统采集,存储在数据库中的实时/历史数据
为基础.以报表的形式总结并体现当日,当月甚至年度的生产情况. 报表一般还具有分机组,分班等多种统计口径.并可以查询历史日
期的报表[21.
在做了大量的查阅工作和具体操作后.我们认为以连接PI数
据库为基础,借助MicrosoftOffieeExcel软件的Spreadsheet组件,实现基于浏览器方式的Web报表是比较经济实用的.PI数据库具有处理速度快,数据精确度高,数据接口丰富等优点,不仅能提供大量准
确
的实时数据,还能运用其专利数据压缩技术,存储数量巨大的历史
数据,方便用户查看,分析[31.表格在页面上的Spreadsheet组件中呈现,也可以利用Excel强大的计算能力,省去了主程序中通过编写代码来计算的繁琐.通过这种方式产生的报表,电厂的各级用户不仅
可以随时了解各种设备重要参数的数据信息,还可以方便地将其导出至本地Excel中.打印上报.此外,管理员还可以很熟练地运用Exce1.根据相应的制表规则.来定制用户所需要的报表.
2.2统计报表的一般实现过程
在一般情况下.一个Web报表的主要设计部分包括一个表格
文件和一个主程序.报表生成的整个过程如图1所示:
圈1报表生成过程
以一个简单的汽机运行日报表为例.在表格文件的Sheetl中,
薏仁米
设计呈现于Web页中的表格形式.横向列名为各项指标的名称,纵
向行名为24小时时间点及平均,汇总.She~2中主要是配置信息和
测点名.如A单元格存放由主程序写入的系统日期,B.和C.分别存
放由A计算而来的起始时间和结束时间.A:存放测点名组成的字
符串,以逗号分隔.Sheet3先留空,等待由主程序写入数据矩阵,再由
Sheetl从这里对应取数.这样,表格文件就建好了,但由于Web页面
识别的需要.我们要把表格文件另存为以xml为后缀名的文件.
在主程序运行时.客户端可以通过SpreadSheet组件的XMLURL
属性来链接到表格文件.并取得存放在表格中的测点字符串和起止
时间等条件参数,向多线程WebService服务提出申请,以获得所需
时间点的测点值.最后按一定格式顺序写入SpreadSheet组件中.主
要代码如下:
<OBJECTelassid="elsid:0002E559—0000—0000一C000—000000000046'' VIEWASIIEXT>:
//在HTML容器中装人SpreadSheet11.0组件
document.al1.spreadsheet1.XMLURL="l";
,/向控件传递报表文件路径
document.al1.spreadsheet1.WorkSheets(2).Rows(1).Cells(1).value=docu- ment.al1.DateTime.value;
,/向spreadsheet组件写入从服务器端取得的系统日期
vatqssj=document.al1.spreadsheet1.WorkSheets(2).Rows(1).Cells(2).val—He;
//取得起始时间
vatjssj=document.al1.spreadsheet1.WorkSheets(2).Rows(1).Cells(3).value;
//取得结束时间
vartags=document.al1.spreadsheet1.WorkSheets(2).Rows(2).Cells(1).val—He;
,科阴
如何发绿豆芽/取得测点名串
varall_
tag=tags.split(",");
vatstrurl=WSURL;
,,与PI数据库连接进行取数计算的WebService服务的路径
for(i=0;i<al1_3ag.1ength;i++)
{
val"PiXML=newActiveXObjeet("Microsoft.xMLDOM");
//g'l建XML文档解析器
PiXML.asyne="fal";
兼爱varsir=strurl+"tagstr="+all—tag【i]+"&begintime="+qssj+"&endtime="+ jssj+"&iconds=3600";
PiXML.1oad(str);
,,通过Webrvice服务取xml格式的测点值
vatArraytTags=PiXML.documentElement;
for(V al"j=0;j<ArraytTags.childNodes.1ength;j++)
{
vargetvalue=ArraytTags.childNodes(j).childNodes(1).text;
//获取XML文档中存放的测点值
document.al1.spreadsheet1.WorkSheets(3).Rows(j+1).Cells(i+1).value=getvalue;
门转138页)
一
131—
中国高技术企土
达信号处理单元,经电力线信道解码,解调后,由信号处理单元重建
的信号是可以经过接入服务器传输到主干网,也可以通过光纤等其
它媒质传输到其它信号处理单元.喜欢看电视
本兼容系统的一种下行链路工作过程如下:主干网发送的信号
经过光纤等其它媒质,通过接人服务器先到达信号处理单元,进行
电力线调制和信道编码后,由信号处理单元中的WIFI控制部分决
定将信号传输到具体的一个或多个无线接入装置(NodeB),最后无
线接人装置与WIF!的移动终端建立通信,完成信息传输.
参考文献
『11王奎甫,孙巍,许新国,余涛.电力线载波通信的现状及发展方向
的几点看法.继电器,2000,28(1):5—25.
『21徐雄.智能家居网络及其电力线通信方法.广州:广东工业大学,
财神2002.
【3】周新容,电力线通信技术((PLC)可行性分析,技术研究与开发应用及相关实施标准实用乎册.中国电力科学出版设,2006.
I41李祥珍,电力线高速数据通信技术的发展及未来,电力系统通信, 2006(4).
(作者单位系南京晓通网络科技有限公司)
f上接131页)
//将取得的值存放在spreadsheet组件的Sheet3中
}
)
这样.通过浏览器运行主程序时,报表即可在页面上生成,如
网2.
图2汽机运行日报表
23使用关系数据库的统计报表的生成
有些电厂根据自己的需要,对报表会有不同的要求,比如不需
列详细时间点,只要能显示本月里每一天的汇总数据即可.这样呈
乌鸡汤怎么炖下奶
现在页面上的报表会是一个动态的表格(因为每一天会加一行),在表格文件的Sheetl里就不能固定行数了,只能通过主程序来插入第一
列为13期的行,并动态地从Sheet3取数对应写入Sheet1.而且,如
果每次从页面上打开这张报表,主程序都从PI数据库取得几天的大量数据进行计算汇总后再写入Sheet3,容易造成服务器瘫痪或者页面等待时间太长.因此,我们可以先设计一个程序,在每天的凌晨自动运行.将前一天的报表所需的数据汇总值写到一个关系数据库的表里.每当用户打开Web页面浏览该报表时,主程序就能通过sql语句渎取关系数据库里的数据.写入到报表文件的Sheetl和Sheet3中相应的位置,再把Sheet3中第32行的数据(一个月最多31天,把32 行作为一个月各个参数值的汇总,由
Excel的计算功能得出)写入到Sheetl中动态生成的汇总一行.在Sheet2中,A1仍然是由主程序写入的系统日期.B1为通过系统日期取得的月份数字,A2为可以动态