您当前的位置:五五电子网电子知识电工技术电工文摘开放式电能质量管理系统动态报表的实现 正文
开放式电能质量管理系统动态报表的实现

开放式电能质量管理系统动态报表的实现

点击数:7575 次   录入时间:03-04 11:54:41   整理:http://www.55dianzi.com   电工文摘
开放式电能质量管理系统动态报表的实现

李鹏,杨洪耕

(四川大学电气信息学院,四川省 成都市610065)

    摘  要:针对当前电能质量监测系统的数据特征,提出了一种基于数据库、服务器应用程序和客户机三层结构体系的新型电能质量报表软件包的模块化设计思想。多报表生成采用分层技术,报表管理采用面向对象的方法,使得软件包具有通用性、可维护性和可扩展性。
       关键词:电能质量监测;模块化;统计报表


1  引言
    电能质量监测系统是监控、分析电力系统电能质量的有力工具[1]。报表子系统对反映系统电能质量状态、辅助电力公司决策以及协调与电力用户之间的责任关系有举足轻重的作用。可将报表按时间划分为日报、周报、月报、季报和年报[2]。按统计量可分为电量基本信息和电能质量各项指标等。
    结合电能质量管理系统的要求和发展,新型报表软件应该具备以下特点: ① 可扩展性强,修改及维护简便[3]; ② 简单易用,摒弃繁琐的参数设置,便于基层技术人员使用; ③ 用户能够灵活定制表格样式,能自由组合各种数据类别; ④ 具备数据透视功能和有力的数据挖掘功能。
    用户往往需要以直观、简便的方式获得所关注的电能质量数据,而不是查看整个数据基表,因此如何从大量数据中按用户要求快速提取统计信息,并灵活组合成报表是报表系统的核心功能。
    为此,本文提出了软件包的模块化设计思想,以及生成报表的分层技术。将软件包的模块化设计和电能质量管理系统的测量数据的特点紧密结合,把软件包划分为模块,模块的相互关系由翻译模型解释。由于采用了面向对象的设计方法,通过报表分层技术,把报表的生成解释为对象操作,从而实现了简便、灵活的构造报表的目标。
2  主体设计思想
2.1  体系结构
    电能质量监测仪记录的数据通常是以数据文件的方式,按监测点的组织结构体系保存在分级目录下。为了提高报表的生成速度,在数据文件上传到服务器的同时,本软件包通过统计模块得到相应时段(日、周、月、季、年)的统计数据基表。考虑到目前电力软件(调度自动化系统、电力市场支持系统等)广泛使用关系数据库提供数据存储和检索服务,软件功能有跨平台、通用化的趋势,因此本软件包的数据应能被其它软件使用;同时本软件包也考虑到了功能扩展,因此选用商用数据库作为开发平台,将统计数据保存在SQL server数据库中,实现了分布、异构数据流的整合。电能质量监测网的基本信息,各个电压等级的电能质量国家标准也分别存放到数据库的表单中。
    报表系统采用三层C/S模式,如图1所示。底层为数据库服务器,采用SQL Server数据库,由于它支持数据复制,因此能实现与其它电力报表系统通用的目标;中间层为应用服务层,实现报表系统的应用逻辑规则,其中使用的Microsoft Internet信息服务 IIS(Internet Information Server)借助可扩展标记语言XML技术支持,可以方便地方电力公司向上级主管部门提交定制好的电子报表,同时直观地向电力用户展示电能指标,便于用户查询检索,体现了电力企业市场化进程中增加透明度,倡导优质优价的思想;上层简化为一个IE浏览器,有利于各类用户查询。本系统中间层(应用服务器)和底层(数据库服务器)可以共用一台服务器。

2.2   实现逻辑
       本文提出了报表层状分割、模块化生成技术。
       通过分析,电能质量统计数据具有以下特点:
       (1)数据记录类型多,因此要求能提供不同的报表格式。例如对于电能基本信息(有功功率、无功功率、视在功率、功率因数等),用户所关心的是统计时段内的最大值和平均值两组数据;对于系统频率、不平衡度等则应提供最大值和95%概率值;对于谐波、电压偏差和闪变值不但要给出最大值和95%概率值,报表还应该分A、B、C三相列出;按国家标准电压波动应提供超标次数(频度/小时),也要求分三相提供。上述数据记录都需要使用不同的动态表头(在报表内的位置可以改变,但内容不变)来描述。
      (2)上面每一类数据的记录个数应与用户预设的参数相关。例如:谐波次数决定谐波记录(行)的个数;用户选择的电能质量指标决定表格的内容等。不同的数据记录以及记录个数要求不同的记录标题(行标题),一些可以是单层,另一些要求两层,例如不平衡度可再细分为基波电压负序和基波电流负序;还有的需要三层结构,例如谐波→谐波电压、谐波电流→谐波次数等。
       (3)由于我国电能质量管理是分部门管理的,不同的部门考察不同的电能质量指标,因此要求电力企业应能分别提交关于电能质量数据的不同报表。
       (4)用户通常关心的是电能质量数据是否超过国标限值,希望软件包能够提供类似EXCEL的数据筛选功能,屏蔽未超标的数据。
       基于以上原因,软件包提出报表分层的思想,把报表分为不同的结构层,把每一层定义为相应的子类,用类模块表示,并用“类号”标识。每一个子类分为两部分:动态表头和数据记录(又分为记录标题和数据栏目),用记录名标记。每一个子类的报表格式是大体固定的,只是行数随着用户选择的参数不同而增减。通过用户选择电能质量参数把不同的子类结合起来,就形成了一个监测点的统计报表,用户选择的监测点参数(厂站、监测点、电压等级、时间信息)又把监测点连接起来成为监测网统计报表。最后,按用户定义的打印设置,为统计报表配上自定义封面、表头和表尾就生成可以打印的报表。
       (1)报表数据源定义
       为了实现报表的动态维护,重新生成新报表以及对现有报表进行编辑和添加数据关系定义,需要对数据源进行描述。数据源定义通过一对主从表完成,主表存储数据源文件的命名规则、类型(统计数据或历史数据)、路径等。从表则存储数据源文件或数据表的结构信息、地址索引号以及对应的数据含义、数据类型。
       (2)报表子类的数据字典定义
       每一报表子类为了反映其格式和样式也定义一对主从表。主表为表格描述,包括: ① 类名、类编号、各字段(列)名称、列数、表格线(起止坐标、样式、尺寸)等数据; ② 描述文本如:子类动态表头、表翼(记录标题、表注)的文本。从表是数据字典,如表1 所示,它描述“栏目”(单元格或由单元格合并而成)内数据的显示控制信息。
       当然用户可以选择数据区域使用相同的数据描述规则,不必定义每一个栏目。
       采用上述方式,如果用户要修改报表格式,只需要修改报表子类主从表,这相对于用代码生成报表的方式来说,增减记录、字段以及修改报表格式将非常方便。程序维护简单,只需修改描述文件而代码修改工作量很小。

(3)报表参数定义
    报表参数定义包含两个特殊的子类:报表标题(包括监测点的基本信息如:测量位置、容量、厂站、时间信息、设备信息、电压等级等)和表尾(包括用户备注、评价、签名)。其定义方式类似于上述子类主从表,不同之处在于其打印时在每一页都重复显示。另外包括通用的“页边距”、“纸张大小”、“纸张方向”、“页眉”、“页脚”、“打印缩放率”,最后是用户自定义报表封面。
    上述报表生成模型,解决了报表输出格式多变性和代码维护复杂性之间的矛盾。减少了软件开发工作量,提高了软件的可维护性和可扩展性。其数据流程如图2所示。

2.3 功能实现
       软件包根据“所见即所得”的原则,采用事件驱动的方式,编写事件相应函数,实现用户的交互式操作,完成对表格样式的定制。
       根据图2,可以采用统一建模语言(UML)来得到对象交互顺序图,如图3所示,它描述了报表打印的模块间通讯过程。
       报表分两步生成:数据基表索引和电能质量参数调用。数据基表索引实现单个或多个监测点的基表查询和定位;电能质量参数(系统频率、谐波、不平衡度、电压偏差、系统波动和闪变)调用通过相应的控制对象转化为子类定义,而后进行子类合并,按描述规则读取基表数据来实现。

    报表中每一个栏目的数据索引ID包括4段:<监测网名|监测点名|基表名(时间表示)|表内地址>。
       人机交互方式如图4所示,图中的左边两项提供给用户进行数据基表索引,监测网所有数据文件的管理是通过数据文件管理系统完成的。数据表采用分级方式管理,即从监测网、厂站、监测点到时间逐级管理,每一个监测点都有一张基本信息表,列表表示监测点位置、电压等级、设备容量、短路容量、协议容量等。因此数据基表索引可通过控制对象生成栏目索引ID的前三段(如:<南充电业局|荆炼线|20030215|****>),索引ID的第四项“****”代表索引ID的最后一段为空白,它需要通过“电能质量参数调用”来获得。

    电能参数调用(图4中的右边三项),通过与电能质量各项指标对应的控制对象作用于自动报表生成模块,通过翻译对象读取报表子类主从表,获得报表框架,并按照栏目索引ID的最后一段地址,获得报表数据。报表预览生成后,报表中的每一个“栏目名”按如下规则定义:<报表名|子类名|记录号|字段号>,报表定制完成后,可以执行导入EXCEL,打印,发布和计算等功能。
2.4  用户界面
       多报表(Mluti-Report,其含义为报表内容动态可选、报表格式随内容变化,即灵活、形式多样的报表)的用户界面采用流程式向导,可以生成组合式、积木式报表格式,其操作简单、直观。用户可通过选择监测点、电压等级、电能质量指标、数据处理方式等,生成多达上百种报表样式。所有功能在一个操作界面上完成,用户只需用点击鼠标进行操作,程序自动响应用户每一步操作,报表预览窗口实时反映参数的改变,用户可以直观看到修改后的结果,因此实现了及时反馈策略。
       下面以对“数据处理功能”的操作说明生成报表的人机交互过程。数据分别进行自定义数据和超标数据两种筛选。报表在包括监测点基本数据(有功、无功、视在功率)的基础上,使两种报表类型都可以任意选择五项指标组合方式。
       图5、6说明选择不同数据处理功能,所生成报表的区别(为显示需要,功能区经过放大处理)。

    (1)选择“自定义数据”类型:默认选择全部监测点→点击电压选择控件“35kV” →点击电能质量选择控件“谐波”、“波动闪变” →点击数据处理选择控件“自定义数据”,如图5所示。软件打印出参数设定中选择的谐波次数,同时非国标限值的数据记录(基波电压、基波电流、电流总畸变率等)也会打印出来,超标数据加后缀“*”。
      (2)选择“超标数据” 类型:保持如(1)所做的选择不变,点击数据处理选择控件“超标数据”。报表只打印所选择的电压(电流)超标数据,没有超标的数据用“—”表示,图5中的非国标限值数据行不会被打印(如图6所示)。
       (3)如某一数据行(比如7次谐波电压的A B C三相的“最大值”、“95%概率值”)都没有超过国标,则不打印此行。
       由此可见,改换报表类型的操作是简便的,人机交互界面是友好的。
3  软件的其它特点
3.1  计算功能
       考虑到数据挖掘的需要,软件包增加了专项计算功能。例如计算用户谐波限值、母线谐波限值等。用户通过表达式输入对话框确定单元格区域引用或以单元格别名作为数据索引,第二种方法可确保表达式的运算独立于动态表格之上,不受行列变动的影响。监测仪常年运行积累了大量历史数据,利用软件包能读取多数据源(数据库、数据文件)的功能,采用对像嵌入技术,可以实现图形化数据挖掘,例如进行回归分析。
3.2  报表扩展
       通过本软件包,用户可以通过添加、编辑、删除子类定义来维护报表。通过修改报表参数主从表,用户可以定制报表标题,报表封面,子类排列顺序等。进行二次开发时,开发人员也只是修改用户界面和数据引擎接口定义,代码的工作量并不大。
3.3  报表输出
       报表是电力企业决策者关心的内容,报表传递应考虑数据信息在不同管理层次之间方便流动。本报表软件体现了报表载体的多样性。使用VB的WebClass特性,通过定制WebItem以及事件,利用ADO访问获得数据交换,报表软件包作为IIS应用程序运行在服务器和客户机之间,对定制好的报表提供Web浏览的检索服务。Web浏览器以只读方式显示定制好的报表,远程用户也可以将报表打印输出,因此实现了数据报表网络浏览[4]。
      由于用户已经习惯于EXCEL的图形界面和操作方式,为了降低用户的学习成本和方便用户对报表的利用以及和其它电力报表整合提交,为此采用的两种技术(OLE、VBA)支持把报表导入EXCEL。采用OLE技术可以很方便地访问到OLE自动化服务器(这里是EXCEL)。要将数据定位到EXCEL表格中,可以利用VBA编程技术,它将OFFICE所有的对象加以封装、继承、重载,这样在程序设计中就很容易访问EXCEL中的对象及其属性、方法。本软件包的导入操作也采用模块化设计,数据来源是定制好的报表,导入模块以打印模块内涵的数据对象为界面与报表的自动生成模块交互,数据导出的同时进行EXCEL的页面设置,并自动添加分页符。
4  结束语
       软件包设计时将打印模块与统计模块分离,针对来自不同的监测仪的测量数据统计模块给出统一规范的统计数据基表,再由报表自动生成模块进行处理。本文介绍的报表软件包具有通用性、程序扩展能力强,维护简单等优点。笔者采用模块化设计思想,把各个功能划分为不同的模块,从而将打印模块与具体报表分离,实现了报表打印的通用化。
       软件包目前已在四川省内的几个区域电网应用,用户反映效果良好。

参考文献

[1]  Apostolov A P.Power quality monitoring in UCA based substation automation systems[A].The 10th International Conference on Harmonics and Quality of Power Proceedings[C],Brasil,2002.
[2]  周永庚,邓佑满(Zhou Yonggeng,Deng Youman).跨平台电力系统报表工具的设计和应用(Design and application of a platform independent spreadsheet tool for power system)[J].电网技术(Power system Technology),2002,26(5):57-61.
[3]  王晓国,张晓庆(Wang Xiaoguo,Zhang Xiaoqing).动态MIS及其实现(Dynamic MIS & realization)[J].计算机工程(Computer Engineering),2002,28(2):270-271.
[4]  Auler L F,d’Amore R.Power quality monitoring and control using ethernet networks[A].The 10th International Conference on Harmonics and Quality of Power Proceedings[C],Brasil,2002.


本文关键字:动态  质量管理  电工文摘电工技术 - 电工文摘

《开放式电能质量管理系统动态报表的实现》相关文章>>>