核心提示: 电力自动化设备面向对象的可视化电力系统分析软件研究顾晓辉\冯林桥\周明\伍瑞2(。湖南大学电气与信息工程学院,湖南长沙410082;2长沙市电力局,湖南长沙410002)手段,它通过从真实对象中派
电力自动化设备面向对象的可视化电力系统分析软件研究顾晓辉\冯林桥\周明\伍瑞2(。湖南大学电气与信息工程学院,湖南长沙410082;2长沙市电力局,湖南长沙410002)手段,它通过从真实对象中派生出抽象的类,并通过继承的方法来构造程序结构。程序结构更加合理易于开发。因此,面向对象编程是克服大型电力系统分析程序难于居护、发展与更新的一种选择。可视化技术改善了操作界面。讨论了如何从电力系统装置派生出程序中抽象的类,介绍了一种以面向对象编程和可视化编程为基础,兼顾计算效率和易用性的程序结构。
1设计方案长期以来,在高等院校和电力系统相关部门中都开发了一批完善、可靠的分析计算软件,但这些软件大多是基于文本操作界面的,需按一定的文本格式进行数据的输入输出,当系统达到一定规模时,这样做就变得复杂而且容易出错,计算结果也不直观。
可视化编程己发展了一段较长的时间,它使程序的使用变得简单、直观,这也是电力系统分析、仿真程序的发展趋势。面向对象的技术使程序代码易于开发、管理、扩充和移植。因此以这两项技术结合,作为开发面向对象的可视化电力系统分析软件的基础。
2程序的实现2.1程序开发手段C+f语言是面向对象的编程语言,C++语言的高速度,使它适合编制计算程序。Microsoft公司的VisualC++独有的视一文档结构,可视化的开发方式实现了图形界面与文档数据的封装,简化了编程的复杂度,所以选择VisualC+作为开发工具;//各端点绘图坐标,在其他元件中定义为CPointmLeftTop;//图形左上角doublemR;//电阻doublemX;//电抗*mF;//输电线链表的前指针CLine *mB;//输电线链表的后指针//析构函数等2.3各计算类模块的实现为了更好地利用面向对象的功能,首先创建了稀疏矩阵类CMatrix.在稀疏矩阵中利用C+f的重要功能:重载(overload)使得使用稀疏矩阵就象一般的二维数组一样简单。
CVector*mVector;//己创建的向量类的链表,用于存放矩阵元素。
第3个参数无意义,只是让计算机能区分输入,输出//求逆等计算函数,析构函数等。
该稀疏矩阵的使用十分简单,如果定义了一个稀疏矩阵对象:CMatrixa赋值只需a(10,2)=9;输出只需b=a(10,2,1)和操作二维数组几乎一样。
因此使原有非稀疏技术的基于C语言的潮流程序的移植非常简单只需将变量的定义改动,程序的改动也很小,在此可以充分体现C+f的易用性和强大功能。建立在该类基础上的潮流程序,能支持大规模电网的计算而速度并没有明显的降低。
然后在这个基础上创建潮流类和优化方法类。
在潮流类中包含各种潮流计算方法和拓扑模块,通过拓扑决定网络结构:是配电网还是输电网,再选择合适的算法进行计算。同时将各潮流的通用模块独立成潮流类的函数,如创建导纳矩阵、雅可比矩阵、拓扑等。在优化方法中,封装了2种优化方法,包括非线形规划和遗传算法。
24图形功能的实现有的数据都封装在文档类(CDocument)中。因此,在文档类中对应于每种元件类都有相应的链表,通过视类与文档类的交互来操作这些数据。用户通过操作图形界面向文档类中添加一个元件的数据,由于基于对象的每个元件都有自己的绘图方法和属性:包括位置信息、颜色、线形,该元件可以发送消息通知视类自动在屏幕上画出自己。这样就使图形的编辑简化成对文档类中各链表的操作。当添加一个图形时,要做的只是向相应的链表中追加一个元素,而删除一个图形,就从相应链表中删去相应元素;移动和缩放图形也只要操作鼠标和键盘,鼠标的动作修改相应元素的meflTop和mDrawSize两个参数,再重画该元素。编辑各元素的属性页就可以修改相应的电气参数和拓扑参数。
3软件的功能与特点法,作为一种电力系统的辅助计算程序,与其他的电力系统辅助计算软件相比,具有以下特点:a由于采用了面向对象的编程方法,使得该程序具有良好的移植、扩充和可重用性,这实际上使该软件成为一个完善的电力系统计算软件的开发平台。如果要在这个基础上编写一个电力系统规划软件,就只需创建一个规划类,和相应的菜单由于可以调用潮流类和无功优化类,计算程序容易实现,而在图形绘制上,只需加一个地图比例尺的全局变量,就可以直接在显示器上显示规划的结果,并在图形上编辑和修改,并将最终的规划结果分别按图形和数据打印出来。
b.界面友好,操作灵活。可以在界面上通过单击鼠标,弹出属性页对话框,输入数据,检查数据的有效性,消除错误的数据输入,避免了以往通过文本格式输入数据低效率和容易出错的毛病。图形编辑功能强大,可以绘制网络主接线图,所有元件都可以拷贝、移动、删除、拉伸和缩放。可以直接按比例打印网络接线图。
c为了充分体现可视化程序的优越性,建立了线路使用率指示器类,将一个类似于油量计的圆形元件放置在每根输电线上,通过该元件的显示,可以容易地知道各线路是否满载。
d为了防止误操作,将图形界面分为编辑态和运行态,在编辑态中可以进行图元的编辑在运行态中所有元件都不能移动位置,可以操作的元件只有断路器,使用者可以操作断路器来计算在某种故障时的线路是否过载。
4结论该软件具有完善的绘图功能和良好的人机界面,用户可以在图形上一次完成绘图与计算计算结果直观。不仅适用于生产部门,也可用于教育,使学生对系统潮流、运行等有更好的认识。但该软件仍有需要加强之处,如:a计算分析模块功能较少(如电力系统动态分析)使得实用性有所下降。
b.元件数较少,缺乏变电所设备,如刀闸等,打印只能输出系统图,不能直接输出符合国家标准的工程图纸。