0 引言
目前,在线监测系统已由监测单台设备、单一特征量发展到多台、多种特征量监测。为适应监测系统的发展,对软件功能的要求日益增加,软件的设计和维护越来越困难,费用也越来越高,为了降低软件设计和维护费用,提高开放性,有必要引入新的设计方法和技术。
组件对象模型(Component Object Module)COM就是一种新的技术,它是一种二进制标准,具有语言无关性,定义了对象的创建、销毁以及与外界进行交互的方式。
文[1]初步介绍了分布式电力设备在线监测系统(PEMDS)采用的软件框架结构和使用的一些COM技术。本文主要介绍在设计新版本的PEMDS时引入的一些新的原则。
1 设计原则
由于PEMDS以监测多台设备的多个特征量为基本功能,因此它能容纳各类监测子系统和数据处理方法。软件开发过程中应遵循PC硬件的设计原则,即“标准接口”和“整合性”的原则,以使整个软件的开发和升级变得相对简单。
监测子系统大多数都具有诸如数据存储、图形显示、系统安全等功能,开发者往往要为实现这些通用功能而付出大量精力,导致效率下降。PEMDS将各子系统的通用任务集成到框架中,使各监测子系统重复性工作大大减少,提高了软件重用性 。PEMDS正是在对监测系统进行高度抽象,分析共性的基础上建立的。以COM技术实现对象和接口,使整个系统具有良好的可重用性、通用性、伸缩性、灵活性。
2 PEMDS的结构
PEMDS系统可分成:主框架、监测子系统和数据处理模块。监测子系统和数据处理模块都是基于DCOM技术设计的。DCOM支持多态性,允许通过一系列共用接口,采用相同的方法控制不同的对象。主框架可通过共用接口,采用相同的方法调用,不必编写针对性的特定代码。
2.1 “数据”对象
要采用共用接口描述数据处理模块,先对数据对象有一个统一的描述。PEMDS中,数据对象是根据组织形式进行抽象的,并用接口形式加以描述,见图1。
数据根据其元素的维数分为1、2、3维数据等,每种数据都有描述它们的基本接口,如IVectorData是描述2维数据的基本接口,IMatrixData是描述3维数据的基本接口。为消除基本接口差异的影响以便统一处理,PEMDS引入了IDataContainer接口封装基本数据接口。接口包含IDispatch类型的指针,指向不同类型的基本数据接口 ;并有附加信息用以描述数据的其它特性。引入接口屏蔽了基本数据接口的差异,但不能描述一组数据之间的关系。为此引入IPEMDSDataObject接口。该接口含有指向多个IDataContainer接口的指针,描述不同IDataContainer所包含数据之间相互关系的附加信息。
2.2 “数据处理方法”对象
在PEMDS中数据处理方法作为一种对象,被描述为一个“黑盒子”:接收输入数据,输出经处理的数据。相关接口2个:IDataConfigureUI和IDataProcessor;前者用于描述数据处理方法的参数配置,后者则用于描述处理输入数据及输出结果。
作为PEMDS主框架的核心,工作台负责调用适当的接口来处理用户的请求 。PEMDS主要通过ID ataProces sorInfo接口与系统注册表进行关于数据处理方法的交互。当系统加入一个新的支持IDataProcessor接口数据处理方法对象时,该对象通过IDataProcessorInfo进行注册,将相应信息保存在注册表。当工作台需要数据处理方法对象信息时,则通过IDataProcessorInfo在注册表内查找有关信息,诸如该数据处理方法对象的配置接口名称,该对象的ProgID等。工作台对数据处理对象的调度见图2。工作台收到用户请求后,通过接口IDataProcessorInfo遍历所有支持IDataProcessor接口的数据处理方法对象,获取有关信息。根据数据和数据处理方法对象信息,判断哪些数据处理方法支持处理该类型的数据,然后列出所有可用的数据处理方法,由用户或程序选定。工作台通过IConfigurationUI接口调用具体数据处理方法的参数配置接口(图2给出的示例是调用FFT处理方法的参数配置接口FFTUI)。最后,工作台将配置参数传递给IDataProcessor接口,通过接口调用具体的数据处理方法(如FFT),并将处理后得到的数据嵌入工作台。整个过程中,工作台不直接调用数据处理方法对象,通过标准接口来操作。

2.3 “监测子系统”对象
从功能角度分析,监测子系统主要实现如下功能:子系统安装、子系统相关参数配置和数据采集。对此,PEMDS使用3个接口来进行描述:IDeviceSetup描述子系统的安装,IDeviceCon figurationUI描述子系统的相关参数配置,IDeviceObject描述数据采集。
工作台对监测子系统的调度见图3。实际上它与工作台对数据处理方法的调度方式类似。在整个过程中,工作台和用户对于监测子系统的细节不需要有任何了解。

2.4 分布式配置
DCOM支持不同计算机之间的对象通信,使基于DCOM技术设计的PEMDS系统可根据用户和应用的具体需求在网络环境中进行灵活配置。图4为典型的配置形式。监测系统中有3台计算机:一台服务器和两台工作站。每台计算机上都运行着PEMDS软件系统,除了监测子系统部分根据具体的控制对象而有所不同外,其它部分完全一致。在该配置方式下,每个工作站都可控制自己的监测子系统,服务器可控制任何一个工作站的监测子系统。需要注意的是:在网络环境下,同一监测子系统可能同时收到来自多个计算机的请求,而它只能响应其中一个。为解决此问题,PEMD S采用了代理机制:所有对于监测子系统的请求不直接发送到具体的对象,而发送到对应的代理,由代理进行仲裁,根据仲裁结果控制监测子系统。如果代理接收到对于某个监测子系统的请求,而该子系统正在响应某个请求,代理返回子系统不可用的信息 ;如果该请求的优先级高于原来的,则代理终止原来的进程,开始处理新的请求。
3 可控数据处理工具
为了获得理想的结果,通常对监测系统采集的原始数据进行一系列的处理,而这些数据处理方法序列,一旦环境或需求发生改变,须重新设计代码。PEMDS提供了可控数据处理工具PDPT来对数据处理方法序列进行动态管理。
基于PEMDS系统对于数据和数据处理方法的统一抽象,PDPT采用一种较为简单的管理方式:将数据处理方法序列分解为树状连接的若干方法,在特定的表TDP内记录下所涉及到的数据处理方法的标识及相关信息,内容示例见表1。表内每条记录由输入数据名称、数据处理方法标识、数据处理方法参数配置、输出数据名称组成。
通过TDP,PDPT可记录数据处理序列并在任何必要的时候重新创建它,过程简述为:
PDPT维护有数据列表和TDP记录表。处理开始前,PDPT装载TDP表的内容,载入待处理的数据,加入到数据列表,命名为“Original”。然后在TDP记录表内搜索,寻找输入数据为“Original”的步骤,本例中,找到了Step1。PDPT根据Step1提供的标识和参数配置通过IDataProcessor接口调用数据处理方法(本例是FFT filter),处理完毕后,将输出数据命名为“A1”,并加入到数据列表。数据列表内有“Original”和“A1”。最后PDPT在TDP表内搜索,查找输入数据为“Original”或“A1”的步骤,本例中找到了Step2。如此不断重复,直到所有TDP表内的步骤都被执行过,整个过程结束。
4 结论
PEMDS具有高度灵活性、可扩展性、开放性。任何一个遵循PEMDS标准接口设计的监测子系统和数据处理模块都可以无缝地嵌入到系统中,不需要对于具体内部细节有任何了解。基于组件技术的开发,系统的维护和升级更简单。基于DCOM的架构使PEMDS可根据需要在网络上进行灵活的配置,可控数据处理工具提供了对于数据处理序列的有效动态管理。
参考文献
1 姜磊,李福祺,朱德恒等.电力设备在线监测系统软件框架的设计.高电压技术,1999,25(4):35