基于COM技术的SCADA系统数据库设计

数据通信

6人已加入

描述

  【摘要】近年来组件技术已被广泛应用于电力调度自动化系统的开发,而且IEC61970标准为系统标准化和组件化提供了互操作标准,在此基础上作者介绍了一种基于组件对象模型(COM)的SCADA数据库系统设计方案,其中的系统数据库结构设计遵循IEC61970-303标准,利用组件连接数据库与SCADA前台应用。用户可以通过更新组件模块的方式扩展和升级系统,使系统具有更好的兼容性和可扩展性。采用此方法开发的SCADA系统可作为数据交互平台,用于新一代调度自动化系统。

  1、引言

  随着计算机技术的发展,自动化软件在电力系统的应用越来越多,功能也越来越强大,但与此同时也给应用软件开发商和电力企业用户带来一些问题:软件系统越来越庞大、系统内部关系错综复杂、系统维护困难;对其中某一部分的修改可能影响到其他许多应用功能,而且难以扩展其他功能;当用户对系统中某一部分的功能进行扩展时,如果用第三方软件,由于接口专用,要重复开发一些软件,给用户造成资金和时间上的浪费。

  上述问题导致目前针对电力系统开发的电网监控系统不仅系统问移植性较差,甚至系统升级和功能扩展也很困难。由于没有统一的数据标准格式,这些系统难于与外界交换信息,不能实现异构数据资源共享,难以满足电力系统中日益广泛的分布式网络应用的需求,已经不能适应电网监控系统发展的新要求。

  近几年来随着组件技术的发展成熟,它在电力系统中的应用受到越来越多开发人员的重视。组件程序设计方法的思想将复杂的应用程序设计成一些小的、功能单一的组件模块,在组件模块封装内部实现细节,只对外提供标准的应用接口。利用组件的特性能够解决网络分布环境中多种异构数据资源共享问题,实现多种应用软件的协同工作,而且组件的重用性还可以大幅提高应用软件的开发效率,增强系统的稳定性,使系统更易于维护和管理。目前在电网调度自动化软件中推行组件化和各个应用软件接口的标准化,以实现“即插即用”己成为开发新一代电网调度自动化系统的主要任务瞄J。国际电工技术委员会(IEC)为此制订了一系列标准,其中的IEC61970系列标准对电网调度自。川口动化系统平台的标准化具有重要意义,也为基于组随着计算机技术的发展,自动化软件在电力系件技术的电力系统数据互操作提供了参考。

  2、组件对象模型(COM)技术

  长期以来,面向对象的程序设计方法是进行软20POwerSystemTechnology’V01.28NO.14件开发的最好方案,它解决了传统软件开发中难以实现代码共享、程序没有可移植性等问题,允许开发者可以在同一系统的不同应用中共享代码,极大地提高了开发效率,但是面向对象编程的软件的重用仅限于程序源代码级别的重用,而且它一般要求对象程序和使用对象的客户程序使用同样的编程语言,因此这样的代码重用仅仅是一种较低层次的重用。

  组件对象模型(Component0biectModel,COM)是由微软公司创建的一种二进制和网络标准,遵循这一标准开发的组件之间可以跨进程、跨机器、跨语言甚至跨操作平台进行通信。因此,只要组件接口标准化,开发人员就可以如同搭积木一样,从某个组件库中取出所需的组件并将其快速地组装到一起,以构成所需的应用,如图1所示。

  数据库

  与传统的软件设计相比,使用组件程序设计方法开发软件产品具有下列优点:

  (1)组件易替换

  在庞大复杂的企业级系统应用程序中,如果使用组件技术将程序分成一个个组件模块,在组件修改后升级版本时,就可以只修改或替换相关的组件,而不影响其他众多的程序组件。

  (2)便于适应业务需求进行更改

  软件的业务需求通常不确定,开发期间和软件配置之后,新的需求会不断涌现。在组件化的软件中,可以将业务规则放在少数几个组件中,当业务规则发生改变时,只需修改原组件或重建并发布新组件。因此,更新是局部的,程序中出错的机会也就限制在这个局部,使程序的调试和测试更为方便。

  (3)可实现二进制代码重用

  组件之间可以在二进制级别上进行继承和重用,这样一来只需一次编写代码而多处应用。

  (4)有助于进行并行开发

  一个大应用系统由许多组件组成,这些组件的实现可以并列进行。只要接口设计正确,则建立这些组件后它们将能顺利配合。

  3、SCADA系统数据库设计方法

  设计数据库时要根据数据库管理系统支持的数据模型来定义数据模式,在传统的SCADA系统中,由于对电力系统的描述形式和计算机实现方法不同,不同厂家设计的系统的数据模式是不同的,这造成系统的访问接口缺乏统一的标准,致使不同系统异构和互联非常困难。从1994~1998年的五年问,通过整个工业界的协作和努力,国际电工技术委员会(IEC)发布了所有使用实时信息的应用开发者的最初标准化设计规范,即IEC61970。设计规范第一次允许所有用户(电力公司、电力联营体、电力市场、配电控制中心、供电方、投资者等)能够在一个充满竞争的应用领域中来升级/移植他们的系统,而不必依赖某一厂家,也不必浪费以前的投资。这些标准的发布将极大地促进开放系统的构造。IEC61970系列标准,主要包括公用信息格式(CommonInformationModel,CIM)和组件接口标准(ComponentInterfaceSpecification,CIS)。CIM以xML语言描述电力系统数据的结构,包含了EMS的公共类和属性以及它们之间的关系,它用面向对象的方法规定了公用数据的标准数据模式,构成了系统之间互操作的基础;CIS描述了组件之间信息交换的接口以及应用程序访问公共数据的方式pJ。这些标准统一了系统之间数据交换的格式,使应用组件技术实现电力系统应用软件的集成即互操作成为可能。

  在本文所介绍的SCADA系统中,数据库系统的分析、设计与实现均采用组件设计思想,按照面向设备的方法描述SCADA系统中的元数据,遵循IEC61970—303系列标准设计SCADA数据库,数据结构、数据模式和历史数据等都存放在历史数据库中,而SCADA系统的实时数据则存放在实时数据库中,对外提供标准的数据接口16J。基于COM的SCADA数据库系统设计模型如图2所示。

  数据库

  4、SCADA数据库系统组件化设计的优越性

  在传统的SCADA系统设计中,后台数据库的不同会对整个SCADA系统的应用造成很大的影响,但如果采用如图2所示的三层软件应用模型,采用控件数据对象(ActiveX【)ata0biects,AD0)提供一致的数据库访问接口,则可以克服这一问题,这也使软件具有更好的系统适应性。图2中业务逻辑层的组件适用于电网监控,它对外提供标准接口,客户调用相应的接口函数获得所需的功能。如果外部应用程序的数据接口也遵循IEC61970标准,在SCADA的数据库平台上就能够使用不同厂商的应用软件,做到“即插即用”。由于采用组件设计,系统的功能由一个个功能独立的组件“拼装”而成,减少了系统之间的代码依赖性,当系统要进行改动或升级时,只需对相应的组件进行改动,而且系统需要增加新的功能时,也只需针对新的需求设计新的应用组件程序,与原系统“组合”使用,这样就大大增强了系统的开放性,减少了系统的开发及维护工作量,如图3所示。

  数据库

  5、组件的设计与实现

  由于组件的优点在于可重用性好,具有标准应用接口,因此在系统设计中应将功能尽可能地细化,使组件能完成某一项独立的功能,以充分体现组件的优越性,提高组件的重复利用率。在本文中,业务逻辑层主要设计了以下一些组件:

  (1)用户登录组件

  该组件的功能是对登录用户的合法性进行识别,若属非法用户则拒绝其进入SCADA系统,合法用户则准许进入,并赋予其在SCADA系统中相应的权限。用户登录进SCADA系统时,调用该组件,由该组件对外提供接口函数,定义如下:

  数据库

  (2)数据库连接组件

  该组件的功能是连接到后台数据库,对外提供以下两个接口函数:

  1)Open(BSTRdatasource,BSTRuser,BSTRpwd)用于连接后台数据库;

  2)Close()用于断开与数据库的连接。

  (3)数据访问组件系列

  在本文所述设计中,针对SCADA系统数据库中的数据表开发了一系列的数据访问组件,它们封装了对数据库中数据的各项操作,提供了一系列的应用接口函数,SCA:DA应用系统通过调用接口函数来获得相应的信息。以SCADA系统访问遥测信息为例,所有的对遥测信息的操作均封装在名为Yclnfo的组件里,组件内部包括以下一些操作函数:

  1)getYcPara(YcPara*pa)用以得到遥测信息记录的指针

  在系统中为了方便数据管理,每项遥测信息保存在一个名为YcPara的结构体内,该结构体的定义如下:

  structYcPara

  {

  intRtuID;//厂站号

  intYclD;//遥测号

  charYcName[40】;//遥测名称

  intIfvalid;//是否有效

  floatBase;//基值

  };

  通过获得结构体的指针得到具体的数据:

  2)First()得到第一条记录;

  3).Next()得到下一条记录;

  4)Prev()返回前一条记录;

  5)Last()得到最后一条记录;

  6)delete()删除当前记录;

  7)update(BSTRstrSQL)更新当前记录。

  (4)数据表管理组件

  该组件封装了对数据库中的表结构进行的操作,如新建数据表、删除数据表等操作。

  以上设计的这些组件,能独立完成某些功能,对外提供说明其功能的接口及接口函数,如果有其它的客户需要实现这样的功能,也能够通过调用相关组件获得所需的功能,提高了资源利用率。

  6、结论

  数据库管理系统是电力系统应用的支撑平台,也是整个系统的核心内容,从数据库管理系统开始实施IEC61970标准系列、推行组件化设计不仅能够满足SCADA系统的开放性和可持续发展性的要求,而且使自动化系统和信息系统的交互与集成成为可能,必将极大地促进信息化电力系统的建设进程。本文介绍的基于COM技术的SCADA系统数据库组件化设计方案,己在武汉大学开发的SCADA系统中得到实现与应用,取得了较好的效果。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分