APP下载

报表自动生成及其在设备检测系统中的应用

2010-01-17袁海文

中国测试 2010年1期
关键词:报表继电器组件

曾 倩,袁海文,秦 业

(北京航空航天大学自动化科学与电气工程学院,北京 100191)

报表自动生成及其在设备检测系统中的应用

曾 倩,袁海文,秦 业

(北京航空航天大学自动化科学与电气工程学院,北京 100191)

针对目前设备检测系统中数据量大,且经常要求以各种报表格式化输出数据信息的问题,分析了VS.NET开发环境下的报表自动生成机制,并提出了适用于两种不同情况的报表生成方法,实现了数据报表的自动生成。在VS.NET开发环境中,利用组件对象模型(COM)来控制外部的Excel应用软件,充分利用计算机强大的数据处理能力,能够实现电力设备检测领域专业报表的生成、编辑、显示和打印等功能。分别以安全阀在线自动调校仪和SF6密度继电器自动校准仪为例,成功将该方法应用于电力设备检测系统中。实际应用表明,该方法具有较强的工程实用性和通用性。

组件对象模型;对象链接与嵌入;报表;Excel软件;设备检测系统

1 引 言

现在电力生产部门对各种数据的统计需求量越来越大,对大量数据的计算和分析更是要求准确与灵活,其最终统计及分析结果都以报表形式输出,以便交流或决策参考。一些传统电力设备的检测校准装置会自带液晶显示屏,但限于功能、成本及控制实现难易程度,一般只用来显示用户最为关注的数据,而历史数据详细资料、后期分析等大量信息还需通过接口或网络传入计算机处理。从国电公司、各省网公司到基层的电厂,按照《报表制度》设计开发的固定样式报表已经不能适应各级管理部门对统计内容的不断变化,而且大量的数据内容需要手工输入,带来诸多不便,且效率低下[1]。因此,利用计算机强大功能,将在现场检测得到的电力设备各类相关数据自动整理并生成数据报表输出,在电力生产领域中具有重要的意义和广泛的应用。

Visual Studio.NET是微软推出的一款高效的开发工具,它对数据库的连接控制十分简便,Excel也是一个优秀的报表制作工具,通过组件对象模型COM可非常方便地实现VS.NET与数据库和Excel的结合。由于Excel现在已被大多数人所熟悉,利用Excel制作报表不仅功能强大,而且无须人们再花费时间精力去学习新的报表工具,同时对于常见的数据分析与制图等功能它也提供支持,因此在很多行业中有着广泛应用[2-6]。基于VS.NET来控制Excel生成报表还可直接利用其专业的编辑、打印等功能,具有很强的可操作性和实用性。

2 生成数据报表的理论与方法

2.1 实现理论

COM即“组件对象模型(Component Object Model)”,其中“组件”是一组接口的实现,“对象”是组件的实例[7]。COM是软件组件互相通讯的一种方式,它是说明如何建立可动态互变组件的规范,提供了为保证能够互操作,客户和组件服务器应遵循的一些标准。通过这种标准将可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。COM靠定义对象的二进制接口标准来独立于编程语言,遵循COM的对象可以相互通信,而不需管各自部件是怎样执行。OLE(Object Linking and Embedding)意为对象的链接与嵌入,是基于COM的接口标准,它提供了对象相互通讯的基本手段,即一种使Windows应用程序之间共享数据和程序的机制。COM使OLE可以对具有对象功能的系统进行重构,极大地扩展了其功能,实现了将它作为系统工具的目的,因此实现用户可以跨越多个平台进行应用软件的开发[8]。

通过在VS.NET中使用Excel提供的OLE(Object Linking and Embedding)对象可以实现数据统计报表的生成。OLE包括客户和服务器两方面,所谓的OLE客户(也称作OLE容器)是指请求数据或操作其他程序的程序;相应的OLE服务器是指被请求的这个程序,它向OLE客户提供所需的服务。.NET很好地提供了对OLE技术的支持,这里.NET程序要调用Excel的报表功能,所以.NET程序是OLE客户,而Excel应用程序是OLE服务器,也是COM对象,它提供COM接口,.NET程序通过调用此COM接口中的方法实现对Excel对象的操作。两者之间的关系如图1所示。

图1 .NET与Excel关系图

在.NET中首先实现计算机与电力设备检测校准装置的通信,进行现场数据的上传,再利用ADO.NET访问数据库,将获得的数据存入数据库。当用户要求以报表形式输出数据信息时,通过COM技术实现与Excel的结合,将数据库中的数据检索得到并输出至Excel工作簿中,这样还可利用Excel本身的强大功能来进行报表编辑、数据分析、绘图打印等操作,提高工作效率。流程如图2所示。

图2 报表自动生成流程图

2.2 实现方法

在.NET平台下要实现Excel报表的自动生成主要有两种方法。一种方法是报表直接创建法,适用于文件样式较简单时;另一种方法为报表模版填入法,适用于文件样式较复杂的报表。

利用报表直接创建法生成报表的一般步骤如下:

(1)在.NET工程中引用Excel对象库,并定义Excel对象;

(2)按要求控制Excel程序生成报表表格;

(3)将数据项填入报表表格中;

(4)保存报表,撤销对象。

利用报表模版填入法生成报表的一般步骤如下:

(1)先在Excel应用程序中设计Excel报表的模版文件;

(2)在.NET工程中引用Excel对象库,并定义Excel对象;

(3)将数据项填入报表模版文件中;

(4)保存报表,撤销对象。

Excel应用程序为.NET提供了OLE对象模型,其中含有5个重要的对象与制作报表有关,分别为Application、Workbooks、Worksheets、Range、Cells。其层次关系及功能描述如图3所示。

以C#为例,最常用的实现语句有:

(1)引用对象库

在“Project”中选择“Add Reference”,然后在“COM”中选择库“Microsoft Excel 11.0 Object Library”以添加Excel的对象,接下来才能对Excel对象进行各项操作。

(2)创建Excel对象

//新建一个Excel应用程序对象MyExcel

图3 Excel对象模型

3 电力设备检测装置中的应用实例

结合前面提出的两种实现方法,下面分别以安全阀在线自动调校仪和SF6密度继电器自动校准仪为实例进行阐述,说明了针对不同实际情况时,采用不同方法自动生成报表的效果。

3.1 直接创建法生成报表实例——安全阀在线自动调校仪

安全阀在线自动调校仪是一种适用于电力系统发电厂锅炉压力容器中安全阀开启压力检测的仪器。它能保证在整定安全阀开启压力时,装置不停车,生产照常进行,从而解决了传统的同类仪器体积、重量庞大,测量的系统误差大,尤其是对生产状况扰动大等缺点。其软件用于调校仪在现场测试数据的后期分析处理及结果的报表自动化生成,包括将仪器生成的经过加密处理后的数据文件读入并解密后保存到数据库中,支持用户输入各类查询条件检索数据库,最后根据用户的不同需求,自动将测试数据结果整理为各类电子报表输出等。整个流程禁止用户随意改动所测的原始数据,保证了校验结果的真实准确与一致性。

因该报表样式和内容均较简单,故采取报表直接创建法生成报表。用户若查询数据库中记录,在校验日期栏中填入查询的日期,确认后系统检索数据库,在列表框中排列出与该日期对应的所有库序号,再双击选择库序号,系统会自动检索出库序号对应的数据信息,并将其在报表预览栏中对应位置显示出来,库序号即对应报表的编号。用户查看后可补充必要的信息,确定后点击生成报表按钮即可。软件将所生成报表自动保存到相关文件夹中,以供日后查阅或打印。其运行主界面如图4所示,生成的报表如图5所示。

3.2 模版填入法生成报表实例——SF6密度继电器自动校准仪

SF6密度继电器自动校准装置通过测量不同环境温度下的压力值,将其换算成对应的20℃时的压力值,从而对SF6密度继电器进行校准。它运用精确的SF6气体压力和温度之间关系的数学模型,配合微机技术及全封闭SF6气体循环系统,与进口数字智能式压力、温度传感器进行通信,解决了目前现场对SF6气体密度继电器校准困难的问题。整个系统的结构框图如图6所示。

其软件可进行SF6密度继电器的性能自动校准、校验数据的分析以及数据电子报表的自动生成。包括与设备连接后自动读入SF6密度继电器校准仪器的各项测试数据,加入数据库保存管理,支持用户分类查询各种数据和仪器设备信息,对测试数据分析后来判断被测的SF6密度继电器是否合格,并根据用户的不同需求自动将各类测试数据及分析结果整理为各类电子报表输出。

SF6密度继电器自动校准装置可以测量待检密度继电器的报警值、闭锁1值、闭锁2值和超压值,并生成此密度继电器的单项检验结果表。当完成对所有密度继电器的检验后,还能将数据整理后生成检验结果的汇总报表。考虑此处报表的信息量多,且格式也较复杂,故采用报表模版填入法生成报表。

图6 自动校准系统结构图

用户在软件运行界面中填入检索条件,选好数据输出方式,并完善相关资料后点击“生成单项报表”按钮,系统就会检索Access数据库中的数据,并将所获数据填入Excel单项报表模版文件,生成的单项检验结果报表如图7所示。

当自动校准装置对多个密度继电器进行检验之后,可生成一张结果汇总报表,用户填入相应信息,点击“生成汇总报表”按钮,系统将已检验的多个密度继电器的数据进行处理,得出结果后填入Excel汇总报表模版文件,生成完整的产品检验结果汇总报表,如图8示。产品的合格率及不合格产品信息等都会在报表中显示,以供用户观察分析,对产品质量进行评定,得出结论。

最终制作完毕的Excel报表应独立保存,以区别于模版,因为以后运行程序所得数据都要填入模版文件中,所以报表模版文件不能被任意改动。报表生成后通过Excel软件可以对该报表进行编辑、保存和打印输出等操作。在.NET中可以调用打印操作执行直接打印输出,也可以充分利用Excel强大的数据、表格和图形处理能力,对报表内容和格式进行修改后直接在Excel中控制是否保存或打印报表。

4 结束语

报表的自动生成是目前包括测试领域在内的众多领域共同面临的一个问题。基于VS.NET对COM技术的支持,使软件开发环境与外部Excel应用程序很好地结合起来,由VS.NET控制Excel程序,对于报表的自动生成、数据信息的填入及后期的修改完善等简便而高效。在实际应用中,根据报表包含信息量的多少及报表样式的复杂与否,提出了两种适合不同情况时的报表生成方法,并以电力系统中的两个检测装置为实例,说明了利用两种方法生成报表的实际效果。实践表明,采用了该报表自动生成方法,使相关工作量大大简少,效率大幅提升。相比于传统方式,自动化的数据处理过程减少人为干预,也提高了信息的准确和精确度,因此该研究具有较好的工程背景和参考实用价值。

[1]石光亮,王 拓,戈长青,等.电力生产信息统计报表生成器的设计与实现 [J].电力系统自动化,2003,27(21):86-88.

[2]于彩霞,曹伟武,严 平,等.天然气加入炉的热力计算与分析[J].上海理工大学学报,2008,30(1):59-63.

[3]李海军,陈朝选,赵教育.光谱分析标准物质均匀性检验数据的 Excel处理[J].冶金分析,2006,26(5):94-96.

[4]文静华,张 梅,田建强.基于Excel的企业通用动态报表生成工具的设计[J].计算机工程,2005,31(4):221-223.

[5]范巧成.Excel在复杂数学模型测量不确定度评定中的应用[J].计量学报,2005,26(24):379-383.

[6]张光临.对单件小批量铸造生产作业计划进行计算机辅助控制[J].铸造技术,2006,27(2):188-190.

[7]刘 建,刘 丹,李启彬.Excel VBA实现输电线下工频电磁场强度自动化计算 [J].电力学报,2008,23(4):290-293.

[8]林艳华,吴 建,周胜杰.基于Excel的电力监控通用报表系统的设计与实现[J].计算机工程与科学,2008,30(4):124-127.

[9]文建忠.Excel软件在电量预测中的应用 [J].电力学报,2006,21(2):219-221.

[10]Lowy J.COM与.NET组件服务[M].常晓波,朱剑平,译.北京:中国电力出版社,2002.

Autom atic report generation and its app lication in equipment testing system

ZENG Qian,YUAN Hai-wen,QIN Ye
(School of Automation Science and Electrical Engineering,Beihang University,Beijing 100191,China)

In order to solve the problem of large volume of data which generally are required to be reported in formatted form in equipment measurement and testing systems,the mechanism of automatic report generation in Visual Studio.NET has been analyzed, and two different report generation methods have also been presented,through which data reports can be generated automatically.In the development platform of Visual Studio.NET the methods utilize COM to control the external Excel program.With the powerful data processing ability of computer,many functions of professional report such as report creating,editing,display,printing and so on can be realized in power equipment testing field with those methods.Automatic report generation methods have been sucessfully applied in some power equipment testing systems such as automatic tester for online safety valves and the SF6 density relay calibration instruments.The results of practical applications prove that the methods possess strong engincering practicability and universality.

COM;OLE;Report;Excel;Equipment testing system

TP274;TP311.52

A

1674-5124(2010)01-0067-05

2009-01-08;

2009-04-12

国家863高新技术研究发展计划(2007AA04Z215)航空科技基金项目(2008ZD51060)

曾 倩(1982-),女,博士研究生,主要研究方向为检测技术与自动化装置。

猜你喜欢

报表继电器组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
继电器控制及诊断在电动汽车动力电池包的应用
便携式继电器测试台的研制和应用
U盾外壳组件注塑模具设计
计算机联锁复示继电器电路改进方案探讨
镇长看报表
风起新一代光伏组件膜层:SSG纳米自清洁膜层
泓格科技继电器输出模块-87061PW
月度报表