基于组件模型技术的变电站监控及预测软件设计
2018-08-25崔静安赵红庆钟金柱
崔静安 ,周 通 ,赵红庆 ,卢 慧 ,钟金柱
(1.国网西安供电公司陕西西安710000;2.北京许继电气有限公司北京100000)
随着国民经济水平的提高,社会各界对于电力的需求不断增强,各行业对电力质量提出更高的要求。变电站在电网中的承担着传输电能及分配任务的重任,但常规变电子一般存在安全性不高、实时计算不高、维护量大等问题。随着通信、电子等技术的快速发展,变电站自动化系统也迎来快速发展期。变电站监控系统是实现综合自动化的核心,变电站监控及预测软件主要功能是实时采集、分析并对这些量进行处理,为工作人员提供观测数据的窗口。此外,操作人员可以依托监控及预测软件向现场测控设备下达命令,从而达到控制变电站运转的效果。近些年,随着互联网技术的普及应用,跨越平台分布式应用要求被提出来,这就需要一种可以实现软件复用,也满足分布式计算应用要求新型的软件开发方式。上述背景下,组件模型技术顺势而生。组件作用一种能够重复运用的构建,它作为预先构建的一段经过封装处理的程度代码,它能够与部分组件及代码组合起来,快速形成一个具有定制功能的应用程序。组件模型技术则在是基于面向对象技术后软件工程领域的又一次飞跃,它具有重用性、分布式等特点,可以快速构造灵活、具有扩展功能的应用系统。文中根据变电站的实际需求,提出依托组件模型技术如何设计变电站监控及预测软件,以推动变电站综合自动化系统迈入新的发展阶段。
1 组件对象模型技术
组件对象模型(Component Object Model,DCOM)是由微软公司研发的二进制通信规范,主要作用是软件组建之间跨越不同进程、计算机及操作系统完成操作,这种技术也是具有开放性、跨平台特征的客户服务器开发技术[1-2]。分布式组件对象模型(Distributed COM,DCOM)则是COM无缝扩展形式,确保其可以支持广域、局域网或互联网上不同计算机对象之间的通讯。同时,运用DCOM能保障应用程序在物理空间顺利实现分布,以此满足客户及实际应用需求。
COM对组件服务器与客户间的作用方式进行定义,促使组件服务器和客户不需要设置中介软件就能实现联系[3]。客户进程则利用COM所提供的接口直接调用组件服务器的方法,其中,接口是集合在相同名称下相关方法的结合,组件之间的通讯也是基于接口实现。因操作系统内各进程间具有相互屏蔽的作用,如果一个客户进程与另一各进程内的组件通讯时,不需要直接调用这个进程,而要按照操作系统对进程之间的通讯进行约定[4]。此外,COM能提供某种透明的方法实现通讯。必须注意,COM只有创建客户与服务器间的连接方可顺利运行,连接建立后它会自动退出。客户与组建服务在不同机器上的运行如图1所示。
图1 各机器上客户与组件通信过程
2 软件主要模块及接口设计
变电站监控及预测模块运用C/S和B/S相结合的系统结构,基于这种结构下,对软件功能模块进行划分并设计合理的接口尤为重要。业务层作为整个系统的核心层,其主要功能是对数据库进行实时管理及维护,从而完成大部分业务处理[8]。进行软件模块划分要求各功能相关独立且界面清晰,监控及预测软件划分情况见图2。
图2 监控及预测软件具体模块
2.1 实时数据库的设计
实时数据库是数据及事务均有定时特性或显示定时限制的数据库,也是综合自动化系统的核心。通常来说,因其对实时性有较高的要求,实时数据库一般较小,常依据具体应用状况进一步确定系统结构组成。数据点作为一组数据值集合,也是设计实时数据库的核心。在这种数据库内,用户操纵主要对象是点,系统能够以点为单位存储各类信息[9]。因此,对数据点合理抽象尤为重要。本文设计的监控及预测软件中实时数据库主要包含遥测量、事件记量及遥信量等数据点,并把这些量实时类抽象处理,以此组成相应的变量类图(图3)。这些数据量能够满足监控及预测软件的要求,为便于进行数据管理和访问,需要合理组织各变量。本次设计中,把变量以设备为基本单位完成组织,每一个现场IED设备全部测量及控制变量均已变量链表的方式由CTcsUnit类派生出与之对应的类展开管理。对所有中间变量、虚拟变量等均通过虚拟单元类(CTcsUnit Virtual)实现管理,这种组织结构不仅清晰,也便于展开访问和操作处理。
2.2 设计合理的组件接口
DCOM组件开发是基于对接口实现的条件下,各组件间的接口则是设计组件软件的关键。由于接口是实现双方通信的前提,一个应用程序由多数COM组件组成,每个组件均可以实现多个接口[10]。通常情况下,客户和组件间的通信是依托接口调用组件对象提供的功能实现,这属于单向的通信模式,客户一直是积极主动的,组件则时刻处在被动状态。但有时候组件也要主动与客户进行通信,如:若组件某个状态出现明显改变,要及时通知客户具体情况,这就需要客户与组件间创建双向的连接[11]。可以创建双向连接组建的对象被称作源对象,其主要支持入和出两种接口。入接口为客户发出请求组件功能的接口,出接口则是组件对象与客户实现通信的接口[12]。必须注意,出接口并非由组件对象实现,而是要依赖客户程序完成。客户接收器及可连接对象具体关系见图4。所设计的监控及预测软件中监控服务其主要包含订单管理、事件及设备服务器电灯组件。其中,事件服务器组件主要处理事件通知,与客户进行双向通信。
图3 系统变量分类图
图4 客户与可连接对象的关系效果图
2.3 图形组态设计
图形是变电站监控及预测软件不可缺少的一部分,操作人员能够依托直观的监控画面了解变电站监控系统运行状况,并适当调整其参数,从而提升系统运行的安全性和效率。此外,图片展现部分数值及开关状态以外,有时还需要将部分异常状态给予特别显示,例如:闪烁等[12]。因此,设备功能强大、操作简单的图形组态在一定程度上影响变电站监控及预测软件的使用。为达到上述要求,该软件图形结构设计过程中,运用组合与装饰设计相结合的设计方式。其中,组合模式旨在运用递归的方法把对象组合为树状,以此代表各对象间复杂的整体—部分的关系[13]。使用这种模式,用户能够将多数简单的对象组成部分较大的组合对象,这些组合对象也能继续组合为更复杂的对象,以此类推,就能采用简单的对象组合为多层次、复杂的对象。组合模式基本结构如图6所示,由改图可知,该模式主要包含部件、客户对象等参与者组成。运用组合设计模式,能实现只提供部分简单元图,依托对元图的组合组成相对复杂的组合图,促使图形组态系统具有组态任意复杂监控画面的能力[14]。此外,开展图形组态操作时,自定义图元能够像简单图元一样直接应用,依托自定义图元,使用者能够定义自己的图元库,便于开展图形组态操作,有效节省软件工程开发时间。装饰模式是指动态的为某个对象增加一系列额外的职责。有时使用者希望为某个对象并非整个类添加部分功能。如:一个图形用户界面工具箱支持对任意用户界面组件增添特征或者行为,又如:边框[15]。依据监控及预测软件配置和实际监控需求,监控图片内部分反映关键监测量及状态图元的显示效果,装饰模式能为实现这种功能提供行之有效的解决方案。
图5 组合模型结构简图
2.4 虚拟模拟及多状态量设计
在变电站监控及预测软件中,除需要直接对下位机上传的监测量进行采集以外,还要对部分无法通过智能设备直接上传的数据量进行监控,但这些量依托智能设备上传多个变量计算获得。对操作人员来说,这些计算量应该与一般系统变量的应用一样方便,但因这些变量是利用系统变量算术运算获得的,但这种运算并不确定,因此,需要为这些变量设计一种组态及解析方式。
1)虚拟模拟量是模拟量依据算术运算最终获取的数据点,借助虚拟模拟量组态工具,对虚拟模拟量的运算公式进行定义,虚拟模拟量存储自己的组态数据。实际运行中,虚拟模拟量被添加至实时数据库虚拟设备空间内,当做虚拟设备的计算数据点,通过相应的解析求解得到与变量对应的数值。如此一来,实时数据库能够对全部点实时统一处理,无需进一步了解虚拟模拟量的额外信息。此外,组态信息需要依托一个公式解析器完成解析操作,具体流程见图6。
图6 公式解析流程简图
2)目前,多数IED对现场设备开关情况监测用0和1两种状态代表开关量,并上传至上位监控软件中[16]。这两种状态开关量对大多数只有两种状态的设备能够满足具体要求,例如:断路器、分闸及分闸。但也有一些设备的状态明显多于两个,如:直流屏实际运行包含均冲、放电、故障及浮冲这四种情况,此时,传统两个状态开关量无法真实反应这些状态。如今,多数IED难以直接向监控软件提供多状态表示,但可运用多个两状态开关量进行代表,随之传送至上位监控系统,通过上位监控软件对多个两状态开关量实施组合处理,准确表示设备的多种状态。因此,虚拟多状态量也就是计数数据点,参与运行的对象为两状态开关量,运行操作则属于逻辑运算。虚拟多状态量和模拟量的组态过程基本相同,因无需考虑复杂的数据运算,虚拟多状态量公式解析更简单。了解到开关量组合内状态数并不会过多,且代表状态的值不存在实在意义,仅仅代表不同的状态。因此,开展公式组态操作时,假定状态数不超过256种,即:参与逻辑运算的数量不大于8个,这种情况下[17],只要对参与运算的开关量实施排列组合运算即能满足实际要求,有利于进一步简化公式解析过程。
3 结 论
综上所述,组件模型技术因具有能够独立开发各组件、维护效率高等优势,受到多数软件开发人员的青睐。本文依托组件模型就似乎开发一款用于变电站的监控及预测软件,并详细介绍该软件数据库、图形组态、接口等方面的设计情况,以期为类似研究提供一定参考。