电机测试分析软件中构件化技术

2015-03-04 05:27彭天玲袁凯南罗华朱战伟
防爆电机 2015年3期
关键词:字典构件界面

彭天玲,袁凯南,罗华,朱战伟

(中机国际工程设计研究院有限责任公司,湖南长沙410021)

0 引言

随着科学技术的发展,电机测试手段和技术都得到了很大的提高,由传统的全手工试验过程发展为现在少量人工辅助的全自动化测试。试验过程中测试分析软件是实现自动化测试的关键技术。目前国内电机测试分析软件技术的开发大多采用结构化方式或者简单面向对象来实现,这种开发方式效率低下,软件后期的维护复杂,成本较高。随着软件工程技术的发展,在电机测试分析软件中引进构件化技术,形成电机测试分析软件的基础构件库,提高电机测试分析软件的开发效率并将电机测试分析软件产品化。构件化软件设计的核心思想是要解决满足需求的软件复用问题[1],使得软件产品的生产像搭积木一样容易。目前在电力、通信、环保、金融等行业都已形成行业软件开发构件库。在国内电机测试过程中,由于电机测试过程的特殊性及复杂性,测试分析软件的开发过程中一般只注重试验方法的实现及试验结果的准确性,往往忽视了电机测试分析软件本身构件库的开发与应用。由于电机测试过程中,各企业实际采用的试验方法来源于国家及企业有关标准,这使形成电机测试分析构件库成为了可能。本文将先进的软件工程技术应用到传统的电机测试行业,必将大大提高电机测试的信息化处理水平。

1 测试分析软件系统的组成

根据电机测试的特点,电机测试分析软件系统主要由试验数据采集驱动模块、数据存储模块、试验数据分析处理模块、人机交互界面、试验报表模块组成,如图1 所示。根据测试分析软件的组成情况,我们从中提取出通信驱动构件、数据存储构件、数据处理分析构件、人机界面构件和试验报表构件。

图1 测试分析软件系统结构图

在电机测试过程中,由于测试中每个企业所采用的功率分析仪,温度测量仪,转矩转速测量仪等测量设备都不尽相同。将通信接口抽象出来形成统一的驱动构件,不同的通信设备只要实现各自的通信协议,并通过统一的接口挂接到系统中即可,如此可以很好的应用系统,无需随仪表的变化而改动相关代码。由于电机测试相关国家和企业标准试验方法的多样化,导致不同的试验方法,所需的试验数据及数据处理过程中大量的中间过程数据及曲线数据都有很大的不同,这些数据如何合理的存储也是测试分析软件设计的关键,这需要我们设计数据存储构件来解决这个问题,保证测试分析软件的通用性,实现数据存储模块的重复使用。

数据处理分析是电机测试分析软件的核心模块,由于电机试验数据的分析过程较为复杂,既涉及到各种复杂的分析算法,也有分析得到的曲线,本文根据数据处理的特点,抽象出通用的构件来解决此类问题。电机测试分析软件的人机交互界面是直接面向用户的,也是软件开发过程中比较耗费时间的一个模块,本文根据有关标准中规定的试验方法过程设计形成友好的试验界面并形成相对稳定的界面构件库,将大大提高软件开发效率,实现软件模块的高度复用。电机测试最后的结果将以报告的形式呈现出来,由于电机测试项目众多,生成的报表也多,并且不同的企业报表格式差别也很大,报表系统模块的开发在整个测试软件的开发过程中亦占有重要的地位。

2 测试分析软件构件的实现

通信驱动构件的主要功能是将试验所用测试仪器仪表的通信规约及通道完成封装,并在实现规约过程中实现试验时序流程控制,最终以动态链接库的形式形成构件。对于不同的设备将形成不同动态库,应用程序在使用时完全可以根本配置情况加载相应动态库完成和有关仪表的通信功能。通信驱动构件接口主要有初始化、下发数据、获取仪表数据、释放资源、版本管理等五大功能,试验过程中整个时序流程控制由参数所带的功能码实现。

根据电机测试的特点,对电机测试数据仔细分析发现,测试数据的存储不能简单的用字段完成存储。这样不仅无法实现测试软件数据存储格式的通用性,而且会导致存储结构混乱,程序的开发和维护将变得异常繁琐复杂。我们采用数据字典方式来处理,根据有关国家标准以及在电机试验过程中积累的经验形成相对完备的数据字典库,并且设计出一套由字典库中的字典数据配置出所需要试验变量的生成规则,这将解决测试数据复杂性问题。当所需测试数据在字典库中无法生成时,可以增加字典数据完善字典库。在设计数据表结构时根据字典数据的特点生成数据表结构。例如,数据字典库中有电压字典变量,利用数据字典的映射功能和相关规则我们可以配置出堵转电压Uab,Uac,Ubc,在数据表它们都存储在堵转数据表的电压字段中,而无需定义成堵转电压的三个变量来表示,并且在堵转试验数据表中用三个字段来存储。这种方法可以很好的解决测试数据存储的通用性,并且形成存储构件。

由电机测试的相关标准可知对试验数据的处理过程是相对固定的,当对某个特定试验项目的试验方法编制好分析算法时,分析算法的输入数据是固定的,输出结果也是明确的。并且由此分析得到的特性曲线也是确定的。所以我们提取的分析构件不仅仅是对算法过程的封装形成一个简单的分析类,而是将该试验项目的试验方法有关的内容全部构件化,形成一个所见即所得的构件[2],使用时仅需要按试验标准要求输入相关试验数据即可得到分析结果和特性曲线数据。通过这样的分析处理构件可以提高对试验标准有关程序模块的软件复用程度。

测试软件的人机交互界面设计根据多年从事电机测试分析软件开发经验以及国家标准对试验过程的规定,可以设计出符合电机测试过程的软件界面,并将其构件化,形成操作方便,视觉舒服的界面组件系统。有利于提高测试分析软件的开发效率,并且保持软件风格的一致性。

电机测试的最终结果都是要形成测试报告,每个企业的试验报告都有自己的风格特点,如果为每个企业都开发报表生成系统不仅耗时,后期的维护工作也非常的繁琐,根据电机试验报告特点开发一个报表系统交给用户自己来定制报告格式并最终按用户定制格式生成报告并形成报表设计构件。报表构件的主要功能就是能根据客户自己编制的格式生成相应的格式配置文件,在应用程序里能根据这些配置文件生成相应报告。

3 测试分析软件构件的应用

利用通信驱动构件、数据存储构件、数据分析构件、报表构件、人机交互界面构件可以很方便的搭建出测试分析软件。以人机交互界面构件和数据分析构件来阐述构件库的应用,图2 所示为测试软件的主界面,其中左边的试验项目树形界面图形即为采用界面构件化方式实现的界面构件。

图2 测试软件主界面图

数据分析构件的应用方式如图3 所示,图中所示内容为将同步电机的三相突然短路分析过程封装成一个构件,该构件不仅包含复杂算法的分析过程,并且能将整个分析过程和结果的曲线展示出来,实现大粒度的构件封装[3],方便应用程序的使用。

图3 数据分析构件的应用方式示意图

4 结语

本文详细介绍了如何将先进的软件工程开发技术应用到传统的电机测试行业中,并且结合电机测试工程领域的特点提炼且实现了测试分析软件的构件化平台,成功的将构件系统应用到电机测试分析软件的开发中,极大的提高了电机测试软件开发的效率,方便维护。构件化技术的应用也使电机测试分析软件具有更好的模块化效果、通用性更好、且更具开放性[4]。

[1] 刘杰生.构件化软件系统测试技术研究[J].舰船电子工程,2008.7.

[2] Gary A.Bundell,Gareth Lee,John Morris,Kris Parker.A Software Component Verification Tool. Inter-national Conference on Software Methods and Tools2000SMT.2000.

[3] 徐焕良,李绪蓉,丁秋林.基于规则库的业务构件重组的实现[J].计算机集成制造系统-CIMS.2003.10.

[4] 王慧,等译.Souza D D,Wills A.UML 对象、组件和框架—CATALY-SIS 方法[M].北京:清华大学出版社,2004:3-32.

猜你喜欢
字典构件界面
国企党委前置研究的“四个界面”
字典的由来
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
建筑构件
建筑构件
人机交互界面发展趋势研究
建筑构件
建筑构件
我是小字典
正版字典