学校地址:湖南省 长沙市 雨花区 车站南路红花坡路口 |
学校地址:湖南省 长沙市 雨花区 车站南路红花坡路口 |
电力系统实时图形系统的基于COM的设计与实现
戴赛1 李晓明1 陈少明2
(1.武汉大学,湖北武汉430072;2.孝南供电局,湖北孝感432000)
摘 要 针对电力系统中应用软件图形系统复用性不强的问题,提出了一种采用组件对象模型技术开发电力系统实时图形系统的方法。该方法开发的实时图形系统,可实现图形的绘制、图形编辑和图形状态的实时控制等,并可开放地为其它软件提供服务。
关键词 COM技术 电力系统 图形生成
0 引 言
随着电力系统信息化的不断发展,在一个电力企业内部,往往同时存在着不同厂家开发的各种电力系统应用软件,如SCADA系统、调度自动化系统、MIS系统、地理信息系统、操作票智能生成系统等。在这些应用软件中,经常要有界面友好的图形系统,它们是由不同的开发厂家分别独立开发,虽然能满足各自的要求,但不能做到很好的系统集成,往往存在着功能重复设计,即增加一个应用系统时,整个图形系统又要重复设计,重复开发等问题,这样极大地浪费了开发人员的时间,增加了企业的负担。增强软件复用性,提高软件生产率是一个亟待解决的问题。
电力企业的应用软件应按照系统开放的原则,遵循共同的标准,做到插入兼容性(Plug-Compatible),从而提高系统集成度。微软公司推出的COM/DCOM标准为此提供了有效的工具。
组件对象模型(Component Object Model/Distribute COM即COM/DCOM)技术是继模块化、结构化,面向对象开发方法之后,发展起来的又一新的软件开发方法。它主要思想是将一个对象的外观(接口)同其工作方式(实现)分离开来〔1〕,这一封装思想应用到二进制层次上,使得我们可以在COM架构下开发出各种各样的功能专一的软件“积木块”,然后根据需要将其装配起来构成复杂的应用系统, 大程度地实现了软件的复用。
1 组件对象模型
1.1 COM标准
COM标准括规范和实现两大部分。COM规范是一套为组件架构设置标准的文档,它定义了组件与组件之间的通信机制,这些规范不依赖任何特定的语言和操作系统。COM实现部分是一个COM库(COM Library)的API(ApplicationProgramming Interface),它为COM规范的具体实现提供核心服务。
1.2 COM工作原理
COM本质上是客户机/服务器(C/S)模式。当客户通过传递一个组件类的CLSID(ClassIdentifier)请求其服务时,Windows通过注册表透明地查找到组件对象地址,然后创建该组件对象,并把客户请求的接口指针回传给客户。在COM模型中,客户请求服务时,只是通过GUID(GloballyUnique Identifier)获取接口指针,从而调用其相应的成员函数。而COM对象对客户而言是不可见的,客户只是通过接口才感受到对象的存在。对客户而言,接口便是一切。
COM接口规范规定,所有接口都必须直接或间接地从IUnknown接口继承。IUnknown接口只有3个函数:QueryInterface()用于接口查询,AddRef()和Release()用来维护对象的生存期管理。COM对象可支持多个接口。
C++通过实现继承来支持重用,即一个类继承其基类的代码或实现,COM对象重用机制为接口继承,它指的是一个类继承其基类的类型或接口,实现方法有2种:容(containment)或聚合(aggregation)。容是指外部对象A作为内部对象B的客户调用内部对象B的方法来实现自己的功能。
聚合是指外部对象A将内部对象B的接口暴露出来,就象它自己的接口一样。
组件程序通常有2种实现形式:一种是动态链接库,运行时客户程序与组件程序运行在同进程地址空间,故也叫进程内组件;另一种形式是EXE文件,这种组件运行时,客户程序和组件程序运行在不同的进程地址空间,故也叫进程外组件。
当跨越机器的边界时,为适应分布式环境,微软推出了DCOM,进一步提供位置透明性。
总的来说,COM的特点有:语言无关性。它采用的是一种二进制代码级的标准,而非源代码级的标准;进程透明性。客户与服务器既可以在一个进程中,也可不在一个进程中;位置透明性。客户与服务器既可以在1台机器上,也可跨越网络;版本兼容。组件可以在不妨碍已有客户的情况下被升级。
1.3 COM组件开发
现在微软公司在VisualC++中提供了2种方法来开发COM组件:MFC库(MicrosoftFoundation Class Library)和ATL模板库(ActiveTemplate Library)。MFC不仅可用于建立COM应用,而且是一套Windows平台上各种应用开发的基本类库。ATL主要侧重于开发一些小巧、快捷的COM组件。
2 电力系统实时图形系统设计方法
2.1 总体设计
文章致力于利用MFC库开发一个可复用的电力系统实时的图形系统,从而为众多电力系统应用软件提供开放的、统一的图形用户界面。系统的总体结构如图1所示。
[1] [2] [3] 下一页
湖南省阳光电子技术学校常年面向全国招生.安置就业。考试合格颁发全国通用权威证书:《中华人民共和国职业资格证》 、《电工证》 、《焊工证》 。采用我校多年来独创的“模块教学法”,理论与实践相结合、原理+图纸+机器三位一体的教学模式,半天理论,半天实践,通俗易懂,确保无任何基础者也能全面掌握维修技能、成为同行业中的佼佼者。工作(一期不会,免费学会为止)。