(电气工程专业论文)枣庄电网调度自动化系统计算软件的开发.pdf_第1页
(电气工程专业论文)枣庄电网调度自动化系统计算软件的开发.pdf_第2页
(电气工程专业论文)枣庄电网调度自动化系统计算软件的开发.pdf_第3页
(电气工程专业论文)枣庄电网调度自动化系统计算软件的开发.pdf_第4页
(电气工程专业论文)枣庄电网调度自动化系统计算软件的开发.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力大学工程硕士学位论文摘要 摘要 近年来,随着城农网改造工程的不断推进,枣庄电网的系统规模不断扩 大,为了经济建设电网,枣庄电网的部分1 1 0 k v 、3 5 k v 线路的联接方式采用 的是t 接联接,以致电网中存在大量线路t 接点,这给电网分析工作带来了 较大困难。本文以组件软件技术的特点为基础,对电力网络的数学模型进行 了分析,重点说明了电力网络潮流和故障计算的方法和程序设计思路,编写 了应用快速分解潮流算法的电力网络实时计算程序。针对枣庄电网t 节点多 的特点,提出了应用虚拟t 接站的方式,利用计算机语言编程实现自动分析 具有线路“t 接点的电网拓扑结构,完成电网潮流计算分析工作,为调度员 提供便捷的电网分析工具,有效的提高了枣庄电网调度分析工作效率。 关键词:地区电网,调度自动化,s c a d a ,p a s ,研究 a b s t r a c t i nr e c e n ty e a r s ,舔t h ed e v e l o p m e n to ft h ec i 够a n dc o u n t 巧p o w e rn e t w o r k r e f o r m ,t h ep o w e rn e t 、o r ks y s t e me x p e n dl a r g e ra n dl 甜g e ri nz a o z h 眦唱i no r d e r t oc o n s t r u c t 也ep o w e rn e t w o f ke c o n o m i c a l ,s o m ep a r t so f1 10 k v 、35 k v l i n e s c o i u l e c t i o nm o d ea r eu s e dt oc o l m e c tt ,r e s u l t i n gi nm a s s i v etn o d ei nt h ep o w e r n e t w o r k ,w l l i c hb r i n gm u c hd i f f i c m tt op o w e r 玳沱w o r ka n a l y s i s 1 h i sp a p e rb 觞e o nt h ec h a u r a c t e r i s t i c so fc o m p o n e n ts o r w a r et e c l l n o l o g y a n a l y s i st h ep o 、v e r n e t w o r km a t h e m a t i c a lm o d e l ,f o c u s i n go ni l l u s t r a t i n gt h ew a yo ft h ep o w e r n e t w o r kf l o wa n dt h ef i a i l u r ec a l c u l a t i o na n dp r o c e d l l r e sd e s i g nm e t h o d s ,p r o g r a m t h e p o w e rn e t w o r kr e a l t i m e c a l c u l a t i o np r o c e d u r e s 、h i c h a p p l y t h ef a s t d e c o u p l e dp o w e rf l o wa l g o r i t l l i n p r e s e n tt h ew a yo fa p p l y i n gv i r t u a ltc o n t a c t b e c a u s eo fm em u l t i n o d ei nz a 0 之h u a i l gp o w e rn e t w o r k ,u t i l i z ec o m p u t e rp r o g r a m l 趾g u a g ef o ra u t o m a t i ca n a l y s i so fp o w e rn e t w o r kt o p o l o g i c a ls t m c t u r eo ftn o d e l i n e s ,c o m p l e t en o wc a l c u l a t i o na n da n a l y s i s ,p r 0 v i d ec o n v e l l i e n ta n a l y s i st o o lf o r d i s p a t c h e r ,觚di n c r e a s ez a o z h u a n gp o w e r n e t 、r kd i s p a t c l l i n ge 腩c t i v e l y d o n gh a o ( e l e c t r i c a le n g i n e e r i n g ) d i r e c t e db yp r o f l ut i e b i n g k e y w o r d s :e l e c t r i cp o w e rn e t w o r k ,d i s p a t c h i n ga u t o m a t i z a t i o n ,s c a d a , p a s ,a p p p r o a c h 华北电力大学工程硕士学位论文摘要 摘要 近年来,随着城农网改造工程的不断推进,枣庄电网的系统规模不断扩 大,为了经济建设电网,枣庄电网的部分1 1 0 k v 、3 5 k v 线路的联接方式采用 的是t 接联接,以致电网中存在大量线路t 接点,这给电网分析工作带来了 较大困难。本文以组件软件技术的特点为基础,对电力网络的数学模型进行 了分析,重点说明了电力网络潮流和故障计算的方法和程序设计思路,编写 了应用快速分解潮流算法的电力网络实时计算程序。针对枣庄电网t 节点多 的特点,提出了应用虚拟t 接站的方式,利用计算机语言编程实现自动分析 具有线路“t 接点的电网拓扑结构,完成电网潮流计算分析工作,为调度员 提供便捷的电网分析工具,有效的提高了枣庄电网调度分析工作效率。 关键词:地区电网,调度自动化,s c a d a ,p a s ,研究 a b s t r a c t i nr e c e n ty e a r s ,舔t h ed e v e l o p m e n to ft h ec i 够a n dc o u n t 巧p o w e rn e t w o r k r e f o r m ,t h ep o w e rn e t 、o r ks y s t e me x p e n dl a r g e ra n dl 甜g e ri nz a o z h 眦唱i no r d e r t oc o n s t r u c t 也ep o w e rn e t w o f ke c o n o m i c a l ,s o m ep a r t so f1 10 k v 、35 k v l i n e s c o i u l e c t i o nm o d ea r eu s e dt oc o l m e c tt ,r e s u l t i n gi nm a s s i v etn o d ei nt h ep o w e r n e t w o r k ,w l l i c hb r i n gm u c hd i f f i c m tt op o w e r 玳沱w o r ka n a l y s i s t h i sp a p e rb 觞e o nt h ec h a u r a c t e r i s t i c so fc o m p o n e n ts o r w a r et e c l l n o l o g y a n a l y s i st h ep o 、v e r n e t w o r km a t h e m a t i c a lm o d e l ,f o c u s i n go ni l l u s t r a t i n gt h ew a yo ft h ep o w e r n e t w o r kf l o wa n dt h ef i a i l u r ec a l c u l a t i o na n dp r o c e d l l r e sd e s i g nm e t h o d s ,p r o g r a m t h e p o w e rn e t w o r kr e a l t i m e c a l c u l a t i o np r o c e d u r e s 、h i c ha p p l yt h ef a s t d e c o u p l e dp o w e rf l o wa l g o r i t l l i n p r e s e n tt h ew a yo fa p p l y i n gv i r t u a ltc o n t a c t b e c a u s eo fm em u l t i n o d ei nz a o 之h u a i l gp o w e rn e t w o r k ,u t i l i z ec o m p u t e rp r o g r a m l 趾g u a g ef o ra u t o m a t i ca n a l y s i so fp o w e rn e t w o r kt o p o l o g i c a ls t m c t u r eo ftn o d e l i n e s ,c o m p l e t en o wc a l c u l a t i o na n da n a l y s i s ,p r 0 v i d ec o n v e l l i e n ta n a l y s i st o o lf o r d i s p a t c h e r ,觚di n c r e a s ez a o z h u a n gp o w e r n e t 、r kd i s p a t c l l i n ge 腩c t i v e l y d o n gh a o ( e l e c t r i c a le n g i n e e r i n g ) d i r e c t e db yp r o f l ut i e b i n g k e y w o r d s :e l e c t r i cp o w e rn e t w o r k ,d i s p a t c h i n ga u t o m a t i z a t i o n ,s c a d a , p a s ,a p p p r o a c h 声明户州 本人郑重声明:此处所提交的硕士学位论文枣庄电网调度自动化软件 系统计算软件的开发,是本人在华北电力大学攻读硕士学位期间,在导师指 导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标 注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得华北电力大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 学位论文作者签名: 枷孑、;砂 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学 校有权保管、并向有关部门送交学位论文的原件与复印件:学校可以采用 影印、缩印或其它复制手段复制并保存学位论文;学校可允许学位论文被 查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位论文;同意 学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 羹逢 日 期:兰丝:! :矽 导师签名:壶毖 华北电力大学工程硕士学位论文 1 1 配电网调度自动化概述 第一章引言 配电网( d i s t r i b u t i o nn e t w o r k ) 通常指电力系统中二次降压变电所低压侧直 接或降压后向用户供电的网络。它由架空线或电缆配电线路、配电所或柱上降压变 压器直接接入用户所构成。配电自动化系统( d i s t r i b u t i o na u t o m a t i o ns y s t e m , 简称d a s ) 是一种可以使配电企业在远方以实时方式监视、协调和操作配电设备的自 动化系统其内容包括配电网数据采集和监控( s c a d a ) 、配电地理信息系统( g i s ) 和需 方管理( d s m ) 等几个部分。 配电自动化的高级应用软件( 简称p a s ) 是配电自动化的一个重要组成部分,它 以配电系统网络分析为核心形成了各种应用软件,基本部分包括:网络接线分析( 又 称网络拓扑n e t w o r kt o p 0 1 9 y ) ;潮流计算:状态估计、负荷预报、短路电流计算、 电压无功优化等。通过p a s ,配电系统运行人员可掌握当前的运行状态,从而挖掘 出安全与经济方面的巨大潜力。同时p a s 还为配电系统的设计和规划人员提供了进 行配网分析计算和控制管理研究的有效手段。 配电网的潮流计算作为配电自动化系统必不可少的重要组成部分,逐渐受到了 广大研究人员的关注。它是对配电系统规划设计和运行方式的合理性、可靠性及经 济性进行定量分析的重要依据。配电网潮流计算还是配电网络分析的最基础的软 件,是配电系统的电压无功优化调度、操作模拟等的最根本的基础。以前提出的 潮流计算方法大多是针对高压电网提出的,应用到配电网时,这些算法的计算效率 较低、收敛性较差,因此根据配电网的特点,开发适合配电网的潮流计算方法是一 个鱼待解决的重要课题。 1 2 电力系统潮流与故障计算软件的应用现状 潮流和故障计算是p a s 的一个重要组成部分。电力系统的规模、复杂性和互联 的增加,也提出一些新的问题,一些新的装置( f a c t s ) 得到利用。可喜的是,这 段时间同时也是计算能力和先进技术发展很快的时期,为提高电力系统监视、控制、 运行和规划性能提供了很大的可能性。这些新情况和新问题,以及强大的工具和技 术为电力系统的计算的发展提供了强大的动力。 电力系统分析主要内容包括:。电磁暂态和故障分析,潮流分析,最优潮流,可 靠性,状态估计,安全性,谐波等。电力系统潮流、短路和稳定这三项计算是分析 电力系统运行状态的基本内容。 作为研究电力系统稳态运行情况的一种基本电气计算,电力系统潮流的基本任 华北电力大学工程硕士学位论文 务是根据给定的网络结构及运行条件,求出整个网络的运行状态,其中包括母线的 电压、网络中的功率分布以及功率损耗等。潮流计算的结果,无论是对现有系统运 行方式的分析研究,还是对规划中供电方案的分析比较,都是必不可少的。它为判 别这些运行方式及规划设计方案的合理性、安全可靠性及经济性提出了定量分析的 依据。此外,在进行电力系统的静态及暂态稳定计算时,要利用潮流计算的结果作 为其计算的基础;一些故障分析以及优化计算也需要有相应的潮流计算做配合;潮 流计算往往成为上述计算程序的一个组成部分。以上这些,主要是在系统规划设计 及运行方式分析安排中的应用,属于离线计算的范畴。随着现代化的调度控制中心 的建立,为了对电力系统进行实时安全监控,需要根据实时数据库所提供的信息, 随时判断系统当前的运行状态并对预想事故进行安全分析,这就需要进行广泛的潮 流计算,并对计算速度等提出了更高的要求,从而产生了潮流的在线计算。由上可 见,潮流计算是电力系统中应用最为广泛、最基本和最重要的一种电气计算。 电力系统时常有故障发生,可能发生的故障类型也比较多,常见的、对电力系 统危害比较严重的有:短路、断相以及各种复杂故障等。实际上,短路问题已成为 电力技术方面的基本问题之一。在发电厂、变电站以及整个电力系统的设计和运行 的许多工作中,都必须有短路计算的结果做依据,例如:合理的电气接线图,确定 限制短路电流的措施,研制和在电力系统中合理地配置各种继电保护和自动装置, 并正确地确定其参数等等。对短路过程的研究具有十分重要的意义。 随着电子数字计算机及其相关技术的迅猛发展和普及应用,计算机已越来越广 泛地用于电力系统的计算、监控和管理中。国内外在电力系统分析方法方面已有较 多的研究。如面向对象的网络拓扑的软件开发、面向对象的潮流计算及仿真软件、 电力系统在线潮流计算、电力系统复杂故障的通用算法等。但面向对象的故障计算 有待开发,且将潮流计算、故障计算结合起来用一个类库来实现,有待开发。本文 对此进行了研究,测试结果令人满意。 电力系统潮流计算的研究自1 9 5 6 年由j b w b r d 开始,至今历久不衰。从早期的 高斯一赛德尔迭代法发展到牛顿一拉夫逊法,进而到国内外广泛使用的p q 分解法。 然而,我国现今的配电网大多为环网结构、开环运行,即具有辐射型树状结构,只 有唯一的电源点,线路功率具有单向流动性。与此同时,配电网直接向用户供电, 电压等级较低,输电容量小,故馈电线的导线截面较小,造成线路的电阻与电抗差 别不大。三相负荷不对称问题比较突出,节点和支路数目相当大。应用大电网潮流 计算方法( 如:p q 分解法、快速分解法等) 进行配电网潮流计算时,算法的收敛性难 于保证,而且大电网潮流计算都存在矩阵求逆或线性方程组的求解,因而有必要开 发适合树状网络潮流的计算方法。 八十年代中期到九十年代中期,随着国际国内电力企业对配电网管理的重视程 度不断加深,对配电网潮流的研究也广泛开展起来,这期间出现了众多结合配电网 2 华北电力大学工程硕士学位论文 特殊网络结构而开发的简单迭代算法。这些方法根据配电网辐射状网络的特点,以 支路电流或母线电压为研究对象建立运算模型,具有算法简单,能够可靠收敛的特 点。 1 3 枣庄电网概况 枣庄市地处山东省南大门,是山东省重要的能源基地。枣庄市是以煤炭、水泥、 纺织等工业为主的城市枣庄电网目前共有变电站7 5 座,主变容量3 5 8 3 m v a 。其中 5 0 0 k v 变电站l 座,2 2 0 k v 变电站6 座,1 l o k v 变电站2 9 座,3 5 k v 变电站4 0 座, 2 2 0 k v 及以下级别变电站全部实现了无人值守;3 5 k v 及以上输电线路总长1 7 1 7k m 。 全网形成了以2 2 0k v 为主网架,1 1 0 k v 分布均匀,3 5 k v 配套完善的辐射形网架结 构。枣庄地区最高负荷9 5 万千瓦,主网最大日供电量1 7 7 6 万千瓦时。目前,枣庄 电网2 2 0 k v 网络是以十里泉电厂为电源,向西、北通过建国、夏庄、杜庙、滕北各 2 2 0 k v 变电站成环网供电,北端滕北变电站与邹县电厂联络,南部电网由十里泉电 厂单电源辐射青檀变电站供电。近年来,为了达到经济建设电网的目标,枣庄电网 在线路施工中采用了较多的“t 接点设计,以致电网结构愈加复杂,常规的调度 自动化s c a d a 功能已无法满足调度员对实时电网的分析需求,开发应用调度自动化 p a s 软件,提高电网分析工作效率已势在必行。 1 4 枣庄电网调度自动化系统发展历程 上世纪7 0 年代末,我公司开始建设调度自动化系统,实现了电网实时数据在模 拟盘上的显示,增强了调度员对电网运行变化的感知能力;8 0 年代,开始建设s c a d a 主站系统,系统增加了电网四遥功能( 遥信、遥测、遥控、遥调) ,但电网数据采 集量较少,数据覆盖面较小,仅集中在l l o k v 以上的枢纽站。9 0 年代末,公司大力 推进变电站无人职守改造工程,3 5 k v 以上变电站均安装了调度自动化分站设备r t u , 系统数据采集量迅速提高,但数据质量水平偏低。进入2 1 世纪后,随着城农网改 造工程的不断推进,大部分调度自动化分站r t u 被变电站综合自动化设备所替代, 系统数据采集量进一步增加,虽然数据质量有所提高,但调度自动化主站s c a d a 系 统的设计容量已不堪重负,系统稳定性已很难得到保障。由于开发应用调度自动化 p a s 高层应用软件需要高性能、高稳定性的s c a d a 系统为基础,所以,我公司一直 未能实施p a s 应用工程,系统仅是维持最基本的电网四遥功能。 1 5 枣庄电网调度自动化系统现状调查 1 5 1s c a d a 系统可用率偏低 随着枣庄电网无人值守站的不断增加,远方变电站监控的实时运行数据与日俱增。 3 华北电力大学工程硕士学位论文 现运行的调度自动化s c a d a 系统已明显出现系统不稳定,运算速度过慢情况。近半年 来,系统经常出现夜间程序走死导致系统暂时停运情况,系统可用率仅达到9 8 ( 系统 实用化指标为9 9 8 ) 。 1 5 2 系统软硬件冗余度偏低 枣庄电网现运行调度自动化主站于1 9 9 6 年设计开发,当时,枣庄电网所辖变电站 无人值守管理模式只是初步试点,大部分变电站均按当地有人监视模式管理,系统数据 采集量较少。随着近年来无人值守变电站的普及,系统数据采集量飞速增加。由于常规 有人值守变电站只需将重要遥测信数据采集即可,而无人值守变电站远动采集将必须是 全面的、详细的。常规1 1 0 k v 有人值守变电站信号采集一般在4 0 5 0 个,遥测采集一 般在3 0 _ 4 0 个,不需要遥控、遥调,不与微机保护、直流屏、微机五防机等智能设备接 口通信。而具备无人值守条件的1 1 0 k v 变电站则需采集遥信量5 0 0 个左右,遥测采集 一般也将在2 0 0 个左右,每路开关均需实现遥控、变压器实现远方有载调压,并且与微 机保护、直流屏、微机五防机等多路智能设备建立接口通信。目前,系统采集数据已比 安装初期大出1 0 几倍,系统硬件资源使用率占总容量的9 5 ,系统服务器日常c p u 负荷率在3 0 分钟内平均值大于4 0 9 6 ,待电网操作或夜间数据汇总时,系统服务器c p u 负荷率可在2 小时之内保持在7 0 以上,系统软硬件冗余度严重偏低。 1 5 3 系统数据采集准确率得不到保障 由于近年来分站信息采集装置不断更新,常规的电测量变送器已逐步被新型交流采 样遥测装置所代替,但是,我公司尚未组建交流采样装置标准校验室,没有校验采集装 置数据误差的有效措施,以致无法保持较为稳定的系统数据采集准确率。 以上问题严重阻碍了调度自动化p a s 软件的应用工程的实施,为了解决这些问题, 必须首先对调度自动化s c a d a 系统的基础软硬件实施升级改造。 1 6 组件软件的语言独立性与灵活交互性 如前所述,电力系统潮流计算、故障计算等构成了电力系统计算的基本内容, 是电力系统规划、设计、分析、安全稳定运行的必要前提。多年来,众多科研人员 和工程人员投入了相当的时间和精力用于这些电力系统的最基本却是必不可少的 计算。但是,我们知道,潮流计算的理论随着高斯一赛德尔迭代法、牛顿一拉夫逊算 法、p q 解耦法等算法的完善而趋于成熟;多口网络理论的应用及补偿法的推出也使 故障计算逐步规范、易行。就理论本身而言,算法已能满足绝大部分工程需要,也 就是说,多年来,相当部分科研人员和工程人员不可否认地陷入工程的泥潭,多 人多次地重复同一工作,不同企业、开发组间无法共享代码,即使同一开发组甚至 同一个人编写的代码,很多情况下由于应用环境及客户需求的不同不得不推倒重 4 华北电力大学工程硕士学位论文 来,造成资源的巨大浪费,一定程度上阻碍了软件技术的更快发展及新方法、新理 论的推广应用。 由于上述代码重用的障碍,及软件技术的不断进步,使复杂软件的开发存在如 下具体问题: 现代软件应用程序既大又复杂,开发耗费大量时间,维护困难且代价高昂,扩 展其功能风险很大。 应用程序按照集成电路的风格进行开发,它们可以某个范围内的静态特性进行 预先安装,但却不能被独立的添加、取消和更新,或者被替换。 应用程序不能对外集成,程序的数据和功能都不易为其它程序复用。 编程模式反应了提供者的素质,其变化的大小取决于服务来自同一地址空间、 在同样机器的其它地址空间、网络上的其它机器或是其它类型的操作平台。 组件技术应运而生,随着c o m ( c 0 m p o n e n to b j e c tm o d e l ) 成熟与完善基于二 进制的代码重用成为现实,并且实现了软组件的即插即用。将工程分解为逻辑组件 是面向组件分析和设计的基础,也是组件软件的基础。组件软件由可重用的二进制 形式的软件块组成( 不同于源代码) ,这些软件块可用相当小的精力插入到来自其 它开发商的组件中。这种对软件的开发采用基于组件的方式而不规定软件的结构的 设计思想是很重要的;而且,它是一种使得二进制软件组件的编程、使用和独立发 展成为可能的模式。组件独立于使用它们的应用程序和用于创建它们的编程语言, 另外,虽然组件必须遵循一致的接口,但其内部实现是完全自动的,因而可根据实 际需要用面向过程语言或面向对象语言创建组件。 基于组件编程模型的另一主要目标是发挥互操作性,即组件协同工作的能力。 在以往的编程中,如果程序需要进行潮流计算,可简单的直接在程序的主体部分编 写潮流计算代码,这样就存在两个潜在的问题。其一,程序本身的目标也许并非进 行潮流计算,而只是需要潮流计算的结果以实现本身的功能,但却不得不花费相当 的时间进行潮流计算的编码;其二,在耗费了很长时间实现了潮流计算功能后,如 果其它应用程序中也需要进行潮流计算,却不能方便的重用上述代码。解决此问题 的基于组件的方法就是把潮流计算实现为单独的组件,这样,问题就转化为潮流计 算组件和应用程序的交互。由于组件软件方案要求所有组件定义其接口并展示其可 用的功能,只要组件实现了其接口,且客户程序遵循接口准则,互操作性就解决了。 在上面的潮流计算范例中,应用程序开发者只需嵌入潮流计算组件即可,这将大大 节约开发、调试和维护时间,再者,由于组件可独立于应用程序,可以方便地独立 发展甚至被替代为其它性能更好的组件,而不至于因微小的修改而破坏程序其它部 分的代码,当然,应用程序的修改亦不会危及组件的安全。 5 华北电力大学工程硕士学位论文 接口x 接口y 图卜l 组件的接口 c o m 服务器 客户 组件 应用 组件a c 程序 组件b组件 d 图卜2 客户与服务器 组件对外表现为接口( 如图卜1 示) ,接口体现了组件实现的功能,接口是遵 循c o m 规范定义的函数集,由组件对象提供其实现。客户( 应用程序或其它组件) 通过对接口的引用调用组件的功能( 如图卜2 示) ,也即接口是组件与外界的通讯 机制,完成与应用程序的交互。 基于组件的w i n d o w sd n a ( w i n d o w s 分布式网间应用架构:w i n d o w s d i s t r i b u t e di n t e r n c ta p p l i c a t i o n 触c h i t e c t l l r e ) 提供的基于c o m 的三层架构( 如图卜3 所示) ,通过将商务逻辑转移到运行在w i n d o w s 2 0 0 0 上的中间层( 亦称商务层) ,从 而将其与客户服务器系统中分离开来,具有相当的健壮性和灵活性,结合数据库 和网络技术,势必将广大软件开发人员从以往的许多无奈中解救出来;它也使大型 分布式应用更为灵活,其开发与维护更加简单易行,具有良好的可扩展性。 最 终 用 户 用 逻数 户 辑。据 界 组一对 面件一象 系 统 数 据 库 注:图中箭号表示调用关系,虚线表示对用户透明 图l 一3 三层应用框架 6 华北电力大学工程硕士学位论文 1 7 本文的主要工作 本文在针对配电自动化软件,鉴于电力系统分析研究及应用软件开发过程中的 上述具体问题,并考虑到软件组件技术强大功能和生产应用中的具体需求,根据配 电管理系统高级应用软件的功能要求,开发了配电网潮流计算模块,为配电网分析 软件其它功能模块的开发奠定了基础。 本论文的主要工作如下: 第一章是本文的引言,对配电网自动化系统进行了简单概述,讲述了枣庄电网 目前的现状,重点对软件中的潮流和故障计算模块的应用现状进行了分析,并指出 本文针对这一模块,应用组件软件技术进行开发; 第二章对组件软件技术进行了概述,说明了与传统软件开发技术相比这一技术 的优势,为后续章节奠定了基础; 第三章对p a s 软件的设计与开发过程进行了介绍,提出了p a s 软件运行巩固的 措施; 第四章给出了基于组件技术的潮流和故障计算模块的构架方案; 第五章是本文的应用部分,结合枣庄电网应用本软件进行了分析; 第六章是本文的结论。 7 华北电力大学工程硕士学位论文 2 1 引言 第二章组件软件技术 组件技术亦可理解为“基于对象 的编程技术,它与软件业看好多年的面向对 象技术有着深厚渊源,却又有着本质的区别。众所周知,面向对象技术使软件开发 人员能够重用基于支持面向对象技术的语言( 如c + + ) 实现的代码,创建类的多个 实例;但是,这种复用是局限于同种语言的,对于使用不同语言的编程人员间的合 作与代码共享,面向对象技术却无能为力。面对客户提出的新要求、应用的新环境 或研发的新进展,很多代码失去生命力。组件技术应运而生,通过接口与实现的分 离,使得代码完全走向市场,程序员不必花费时间重复许多人都已做过的工作,集 中精力于新功能的实现,甚至不需编写任何代码,即可组装功能完善的大型应用。 正如p c 厂商完全可以通过购买各种组件组装性能优良的p c 机,而无需自己生产所 有组件,亦不必关心组件的材质、构造等内部细节,只需组件具有所需的功能;当 市场有新的需求时,各组件厂商亦可提供新的组件或给原有组件增加新的功能,且 继续提供原有的配件,既支持新用户,又不影响老客户。 组件软件模型是软件组件化的关键,详细描述了如何开发可重用的软组件及这 些组件间如何交互。当今流行的分布式组件对象模型标准主要有三种:其一为由 o m g ( o b j e c tm a n a g e m e n tg r o u p ) 组织推出的c o 砌a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 公共对象请求代理结构;其二为s u n 公司推出的j 怂,a b e a n s 标准:其 三也就是本文详细讨论的由微软推出的c o m d c o m ( c o m p o n e n to b j e c t m o d a l d i s t r i b u t e dc o n l p o n e n to b j e c tm o d a l ) 组件对象模型。 2 2 组件技术的渊源 组件软件的产生是计算机应用推广普及和软件技术发展的必然结果。当面临现 代软件带来的巨大挑战时,开发人员尝试了各种可能的方法来解决面临的问题。但 传统编程模式存在种种缺陷,甚至长期以来人们所依赖的面向对象方法也显得无能 为力,这时组件化的程序设计方法粉墨登场。 组件化程序设计方法的思想是将复杂的应用程序设计成一些小的、功能相对单 一的组件模块,组件之间可以跨进程、跨机器、跨语言甚至跨操作平台进行通信。 要实现这样的应用软件,组件程序间必须遵循严格的规范,整个软件应用系统才能 正常运行。c o m 正是微软提出的组件之间进行通讯的标准。 8 华北电力大学工程硕士学位论文 2 2 1 软件业面临的挑战 随着计算机和软件的飞速发展,计算机应用的功能愈来愈强大,实现也愈来愈 灵活。在生产、生活、科研、教育等领域的方方面面,人们愈来愈依赖于这种便利; 但正是这种强大与灵活,给应用开发者、软件供应商和用户带来了同样多的问题: 现代软件应用庞大且复杂一开发周期长、维护困难且维护成本高,难以扩展其 他功能。 应用是单一集成的一它们集成了许多功能,而大多数功能无法单独升级或替换。 应用不易被集成一一个应用数据和功能不能用于另一个应用,即使两个应用用 同一种语言编写且运行于同一台机器上。 操作系统也有类似问题。模块化不充分,难以替换或升级其中某项服务。 开发方式不统一一根据服务是来自同一进程空间( 通过动态连接库) ,还是来自 本地机器的另一进程空间,或是来自操作系统或来自网络上的另一台机器,开 发方式、编程模型的变化非常大。 2 2 2 传统解决方案 要解决上述问题,很自然的想法是把一个庞大的应用程序分成多个模块,每个 模块保持一定的功能独立性且可以单独开发,将其组合在一起就得到完整的应用系 统。 这就提出一个问题,如何访问模块的功能? 最初,使用函数库作为访问模块功 能的方法,这些库通过应用程序接口( a p i ) 实现其功能;只需连接库,即可重用 相应函数。 图2 1 通过标准a p i 访问不同提供商的模块 可以通过一个标准a p i 访问使用不同提供商的模块( 如图2 1 示) 。一个典型 的标准a p i 的例子就是o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) a p i 。许多软件提供商为 自己的数据库驱动程序实现了o d b ca p i ,并且得到广泛应用,但其互操作性仍然 9 华北电力大学工程硕士学位论文 很受限制,原因在于提供商的实现各不相同。 这种使用a p i 的传统方法存在许多缺陷,主要体现在a p i 的更新困难、版本问 题、模块之间通信和实现语言的限制,具体如下: a p i 的更新:a p i 的更新对a p i 创建者和试图扩展a p i 的软件提供商都将是一个 问题。创建者对于a p i 的任何改动都会潜在的破坏现有的程序,即对a p i 的扩 展最终会导致实现的不一致性。 版本问题:对于a p i 的多种不同版本的宣传和维护都是问题,且作为a p i 的创 建者,强迫开发人员去检测正确的版本似乎难排众议。 模块之间的通信:一直以来,模块之间的通信面临不同需求的挑战,特别是不 同开发人员创建的模块之间的通信。 实现语言:模块的开发语言很大程度上决定了通过a p i 访问模块的方式,最直 观的,在c 或v b 中使用c h 开发的模块将面临极大的困难。 2 2 3 面向对象的程序设计方法 长期以来,面向对象程序设计方法成为解决传统软件开发问题的最佳方案。面 向对象编程技术使得开发者按现实世界人们思考问题的模式建立模型,面向对象编 程语言使得开发者更好的利用代码直接表达现实中存在的对象,从而造就了从思想 到模型与面向过程的根本不同。 面向对象编程技术得到大规模普及,源于其允许开发者在完全不同的工程间共 享代码,这种重用性也是面向对象方法的重要特征之一。进一步说,重用性也是软 件产业发展的重要基础。提供的什么样的重用机制,或者说在那个层次上提供重用, 对软件业的发展至关重要,意义深远。因而,重用性是衡量程序设计方法重要指标。 就面向对象编程的软件重用而言,是基于代码级的重用,各种程序库的应用就 是代码重用的成功实践。但是,基于代码的重用只是较低层次的重用,我们有理由 也有必要期望更高层次的重用。真正的代码重用意味着代码必须以足够通用的方式 编写,且能够按照其工作方式得到定制。再者,面向对象代码重用还存在另一问题, 语言依赖性。即它一般要求对象程序和使用对象的客户程序使用同样的编程语言。 应用面向对象编程技术,我们无法摆脱编程语言的限制。应用基于特定的语言,如 何想象不同语言间的合作与优势互补? 广义的软件复用也就无从谈起。 面向对象编程方法已深入人心,其思想和技术业已渗透到计算机软件应用的各 个领域。但随着科学技术的发展,特别是i n t e r n e t i n t r a n e t 的飞速发展,使软件应用 置身于更加广阔的环境中,网间应用走上历史舞台,从而对软件的跨语言、跨平台 和互操作性提出了更高的要求。而面向对象方法由于其本身重用性、互操作性等方 面的局限,已不能满足分布式网间应用的要求。 1 0 华北电力大学工程硕士学位论文 2 2 4 最终解决方案:组件软件 如前所述,面向对象技术面对更加复杂的现代分布式软件应用显得力不从心。 关键在于,它无法使用一个标准的框架使得来自不同提供商的软件对象在同一地址 空间通信,跨进程地址空间或通过网络进行通信更是遥远的梦想。然而,组件化程 序设计思想却使得美梦成真,应用软件的设计模式和生产方式发生了根本的变化, 社会化、规模化、产业化成为可能。 组件化的设计思想,仍然是将单独的、庞大的、复杂的应用程序分成多个模块, 但这里的模块不再是简单的代码集,而是自给自足的组件( c o m p o n e n t ) 。这些组件 模块可运行在同一机器上,也可运行在局域网、广域网甚至i n t e r n e t 上的不同机 器上。 组件本身并非一个全新的概念,在许多成熟的工程领域中,组件的概念是十分 广泛的。理想化的组件环境中,用户通常并不了解组件内部的知识,但却可以通过 配置组件完成所需的工作。 软件行业的组件系统比其他行业发展的要慢,原则上软组件具有一般组件的 “即插即用”特性,其概念可理解如下: 组件是软件的基本量子。具有一定的功能,可插用、可维护。 组件是软件发展中一个可替换的单元,它封装了设计决策,并作为一个大单元 的一部分和其他组件结合起来。 组件具有特定的功能,是能够跨越进程边界、操作系统、编程语言进行交互, 在网络上实现共享的“即插即用 的独立对象。 组件是指任何可被分离出来,具有标准化的、可重用的公开接口的软件。 使用组件开发软件产品具有许多优点,主要归结如下: 组件易替换:在庞大复杂的企业级应用程序中,若使用组件技术将程序分成一 个个组件模块,在进行程序修改或版本升级时,就可以只修改或替换相关组件, 而不影响应用程序的其它部分。 适应业务需求更改:软件的业务需求通常像流水一样不确定,开发期间和软件 配置之后,新的需求会不断涌现。在组件软件中,可将业务规则放在少数几个 组件中;当业务规则发生变化时,只需修改相应的组件或重建并发布新的组件 即可。更新是局部的,程序中出错的机会也就限制在这个局部,程序的调试和 测试更为方便。 可实现二进制代码重用:组件可在二进制级别上进行集成和复用,实现一次开 发多处应用。例如,可建立一个处理所有字符串函数的组件,任何应用程序都 可以使用这个字符串处理组件。对组件的任何修正和修改,不影响使用组件的 应用程序。 华北电力大学工程硕士学位论文 有助于并行开发:一个大应用系统有许多组件构成,这些组件的实现可以并列 进行。只要接口设计正确,建立这些组件后它们将实现顺利配合。 当然,将软件应用组件化并非一件容易的事,尤其对于复杂的应用,要把应用 分成独立的组件,且这种切分还要尽可能的符合系统的应用逻辑和业务要求。这是 一种新的组件化程序设计方法,既不同于传统的结构化程序设计方法,也不同于面 向对象程序设计方法;而是建立在这两者之上,更注重于应用系统的全局,要求对 应用系统全方位进行考察。具体到某个组件或某个模块的设计时,仍然需要结构化 程序设计和面向对象程序设计作为基础,且后者的优越性仍会有所体现。 2 3 面向对象的组件模型c o m 将许多独立的软组件集成起来就可组成功能强大、能满足现代软件要求的应用 系统,这也是现代企业所期望的开发模式。这种按照组件模型搭建起来的软件,称 为组件软件。接口则决定了这些组件间传递数据和信息的方式,组件只有遵循一定 的接口规则,才能协调工作。 实际上,组件之间的接口是组件软件的关键,接口是通信的基础。所以,软组 件应遵循统一标准,同一软件中的组件必须使用同样的接口标准方能保证组件间的 通信;而采用什么样的标准则取决于设计者的选择;另外,可以采用公共的标准 ( c o m 即为大家一致认可的组件标准) ,也正是这种公共的统一标准,使得软件生 产的社会化成为可能。 c o m 不仅仅提供了组件的接口标准,还引用了面向对象的思想。在c o m 标准 中,对象是一个非常活跃的元素,通常称为c o m 对象。需要强调的是,c o m 对象 与c + + 或v i s u a lb a s i c 中的对象不尽相同。c o m 对象被良好的封装起来,客户无法 访问其内部的实现细节,也无法知道内部的数据结构,访问c o m 对象的唯一途径 是通过接口( 称为c o m 接口) 。 c o m 接口有两重含义。其一,是指一种可调用的函数,由此客户可让该对象作 某件事情;其二,也是更重要的,接口是组件与其客户程序间的协议,也就是说, 接口不但定义了可以用什么功能,也定义了如何调用这些功能及调用时对象要做什 么。 在w i n d o w s 系统平台上,一个c o m 组件可以实现为d l l ( d y n 锄i cl i n 妯n g l i b r a r y ) 或e x e 。每个c o m 对象可以实现不只一个接口,这取决于组件的设计目标。 组件、对象、接口间的关系如图2 2 示。 1 2 华北电力大学工程硕士学位论文 2 4c o m 基本理念 图2 2c o m 组件、c 伽对象、c o m 接口间的关系 时至今日,组件技术已不陌生,从o l e 到a c t i v e x ,从c o m 到d c o m ,微软 将其独立于语言的二进制代码重用的构想变为现实,为解决软件开发过程中的诸多 弊端提供了一剂良方,也为软件业开拓了广阔前景。 2 4 1c o m 对象 c o m 定义并实现了软组件机制,可将这些软组件统称为“对象 。c o m 对象与 c + + 类很相似,它们都支持封装、多态性及继承。然而,作为二进制对象的c o m 对象 又不同于c 抖对象,c o m 对象关心的仅是与其它对象的接口。c o m 组件之所以能 构造应用程序,完全依赖于组件所支持的接口,一个c o m 对象所具备的功能也是通 过接口体现。 一个大型分布式应用完全可以由一系列功能独立、相互间传递数据和交换信息 的软组件来构建,因而组件技术也是多层分布式网络应用体系结构的重要组成部 分。 2 4 2 封装 在一般的面向对象意义上,类所支持的方法聚集在一起,组成这个类逻辑上的 接口,而c o m 则将接口的定义形式化,并允许一个组件输出多个接口,其接口的 概念更为明朗具体。c o m 中接口的概念源于c + + 纯抽象基类,c + +

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论