美章网 资料文库 电力体系计算图形化设计方式范文

电力体系计算图形化设计方式范文

本站小编为你精心准备了电力体系计算图形化设计方式参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

电力体系计算图形化设计方式

1概述

目前,应用于电力系统潮流、故障、稳定及优化等方面的计算程序相当多,大部分是在DoS平台上开发出来的。它们的优点是计算速度快,但也存在以下弊端:

1.1输人数据烦琐,容易出错,而且难于修改;

1.2数据的检索困难;

1.3与用户的交界面不直观;

1.4检索某一节点或支路的计算结果时,操作不便。随着计算机性能的提高,程序提出了直观易用性的要求,应用VISUALC十十语言在WINDOWS95平台上开发“电力系统计算程序”具有现实意义。它具有如下特点:

1.4.1用户可以绘制电力系统网络图,根据网络图确定各个元件的连接关系,使用更加形象、直观。

1.4.2计算数据的管理更加高效、检索更加方便,大大改善了人机对话界面;

1.4.3将潮流、故障、稳定及优化等方面的计算功能集于一体,使用更方便,功能更强大,本文主要介绍电力网络及其参数在计算机上图形化显示的设计原理。2设计的总体构思电力系统图形化设计应当具备以下功能:第一:应当实现绘制电力网络的功能;第二:应当使参数的输人、输出简单清晰;第三:应当将多种电力系统计算工具集成于一体;第四:应当具有WINDOWS应用程序共有的风格。

3设计原理VISUALC++(以下简称VC)是一个优秀的可视化程序设计软件,VC可以自动生成应用程序框架,框架包括了标题栏、菜单栏、工具条、窗口客户区、状态栏五部分。

3.1菜单栏、工具条、状态栏的设计。a.菜单的设计:在VC中,设计菜单是一件简单易行的工作。只要打开VC的资源编辑器在菜单资源中加人所需的项目,并且赋予它一个ID号(ID号是标识一个控件的字符串),就可以实现菜单选项的设计。这样设计完成的菜单,大多数选项还不能使用,需要设计者进一步根据要求添加具体代码来实现它们的功能。b.工具条、状态栏的设计:打开vC的资源编辑器,编辑其中的工具条资源,加入所需的工具按钮。通过给按钮赋于相应菜单项的ID号,就可以使工具按钮与该菜单项具有相同的功能,从而实现快捷方式操作。在编辑工具条时,给工具按钮加以注释,在执行时,这些注释将在状态栏中显示,以使用户明白该按钮的功能。

3.2如何绘制电力网络图。电力网络中有发电机、变压器、线路等元件。在菜单和工具条中还可添加一些选项,供用户在绘制网络图时选择加入绘制电力网络图的功能有两种线路和其他电力元件。a.电力元件:采用不同的位图来表示不同的元件。用户在菜单或工具条上选择添加元件,实际上是调用这个元件的位图在窗口客户区。显示一个位图,首先要调用Create-ComPatibleDC()函数在内存中建立与设备兼容的一块区域,然后,用Seleet‘〕bjeet()函数将位图选人该区域,调用BitBlt()函数,就可以在窗口客户区的指定位置显示这个位图了。为节省内存,最后应当使用DeleteDC()t和I)elete()bjeet()清除这块内存及其中的位图。h.线路:“线路”与绘制直线相似,可以用直线的方法来摸拟“线路”由于一条“线路”只能连接两个元件,为了绘制网络图的严密性,绘制“线路”时,必须指定“线路”的起点和终点在两个不同元件上。在VC中,绘制一条直线,应当先建立一个新画笔,并使用Selecto切e(:t()函数将它选作当前画笔。然后调用MoeT。()函数确定直线的起点,调用LineTO()函数确定直线终点,这时,就在窗口客户区中起点位置和终点位置之间连出一条直线:最后,应当再使用Seleetobjeer()函数恢复旧画笔为当前画笔,删除新画笔。设计中,用鼠标左键单击时的位置确定“线路”的起点和终点。由不在绘制“线路’时,鼠标在不断的移动,起点和鼠标前位置之间产生连线,而这是不希望的因此,在用户确定了终点之前,必须删除这些直线。为作到这一点,首先应指定绘制直线的属性为取相反色,即直线与底色取相反的颜色。在绘制“线路”时,随鼠标地移动,实际上在起点和鼠标当前位置要画两条直线:第一条直线连接在起点和鼠标当前位置之间,颜色取为底色的相反色;当鼠标移动时,在第一条直线的位置上绘制第二条直线,颜色取为底色。这样,就删除了起点和鼠标当前位置之间多余的连线,仅保留起点和终点之间的连线。此外,还应当设计一个对话框,在用户绘制完成一条“线路”后弹出,供用户输人“线路”的电阻、电感、电容等有关参数。

3.3电路网络的重绘和保存。当窗口的大小改变时,应用程序要对窗口刷新。此时,程序若不能自动缩放重新绘制窗口的客户区中的电力网络图,该电力网络图就会从窗口客户区消失。可定义两个类:CmyBmP类和CmyLine类,来处理位图和线路的重绘、保存。位图和线路的重绘、保存方法基本相同,下面就以位图来说明。首先,在cMyBmP类中定义参数变量,来存放显示一个位图所用到的所有参数,定义DrawBmp()函数来调用这些参数显示位图,定义Serialize()函数来保存这些参数。然后,在文档类中定义一个专用于存放CMyBmP类对象的数组,存放当前在窗口中显示的位图的各个参数。由于当窗口刷新时,程序自动调用OnDraw()函数,可让On-Draw()函数调用CMyBmp类的成员函数DrawBmP(),就可以按照数组中保存的数据重新显示位图了。利用serialize()函数保存位图显示的参数,可以实现元件位图的保存。

3.4元件的删除、移动和转动。实现了元件位图的重绘,元件的删除、移动和转动就很好解决了。删除元件:用判断语句来确定所要删除的元件在数组中的位置,从数组中删除它的所有参数,最后调用Int’ali而te()函数刷新窗口0移动元件:用判断语句来确定所要移动的元件在数组中的位置,然后用当前鼠标的位置代替它在数组中的定位参数,最后调用Invalidate()函数刷新窗口。转动元件:定义多个位图来表现一个位图的不同转向。在转动一个元件时,首先用判断语句来确定所要转动的元件在数组中的位置,然后用另一幅位图的ID号、高度和宽度参数来代替它的相应参数,最后调用Inval-idate()函数刷新窗口。

3.5计算数据的管理。可为每种类型的元件分别定义对话框,元件的计算参数从对话框中输人。在程序内部,这些数据分类保存,以备计算时调用。本程序中还有许多细节问题,这里就不一一讨论了。

4本程序的特点

4.1易用性。用户在使用本程序时,只要具备电力系统的基本常识,就可以利用本程序提供的工具完成绘图和计算功能了。

4.2易维护性。程序员可通过向源程序中加人自己的代码实现新的功能。

4.3友好的用户界面。参考文献Ivi阳alC十十4.、人门与提高,刘永心等著清华大学出版社1997.52电力系统计算西安交通大学等合编水利电力出版社1985,11作者简历:王一波,新疆工学院在读研究生。主要从事电力系统在计算机应用方面的研究。