基于visual graph的电力系统开发

 

基于Visual Graph的电力系统开发

林济铿、覃岭、罗萍萍


关键字 Visual Graph,面向图形对象,电网结构图,图形系统

0.引言

  在EMS中,图形界面是人机接口的重要组成部分。其中在图形建模及开 发方面,早在上世纪八十年代就提出了面向对象建模的思路(Object-Oriented, 即OO 模型) [1-4]。这种自上而下的建模方法有代码重用率高、开发周期较短以 及便于维护等优点。不过,对于传统的OO方法,目前大多仍从底层开发(如 Windows API, MFC等[5,6])的方式,一旦涉及相对复杂的图形技术,代码将急速 膨胀,软件的开发周期依然相当可观。
本文提出了一种新的图形建模及开发方法:面向图形对象的建模 (Graphic Object-Oriented,简称GOO)方法。它与传统面向对象的图 形建模方法相比,主要区别在于它关注的不再是怎样从计算机底层代码去实现图 形,而是可视化的图形对象。图形对象是由相应的图形类生成的。图形类除了拥 有一般类的特征之外,还拥有可视的图形,能够直接编辑,同时也可以通过程序 代码来操纵。GOO建模的特点决定了它需要比以往更高等级的开发平台。该平台需 要拥有完全可视的图形开发人机接口,而且能够内部管理各种图形交互事件并提 供基本的图形对象和建模工具。故GOO建模起点较之OO建模更高,但对开发者而言 难度则大大降低,效率也大幅度提高。
本文基于Visual Graph图形平台(以下简称VG),图形建模采用自上而下 的类的继承的思路:在VG提供的基本的图形单元类的基础上进行继承和扩充,建 立各种元件部件类,再把这些部件组合,形成各种电力元件的模型。最后绘制复 杂的电力系统。

1.VG的基本结构及基本单元类

  1.1VG的基本结构
目前国内外已经开发了多种组态式图形通用系统,如ArcObject、 VectorDraw、JFDraw, Visual Graph等。其中VG是一种ActiveX组件,主要包括 一套基本可视图形类库和管理图形的接口,另外还提供图形开发建模的工具。其 中的可视图形类有各种成员属性和成员函数,可通过一套语法简洁的脚本语言来 操作图形,并对外提供编程接口,内嵌到各编程工具中进行开发。
1.2VG的基本单元类
VG提供一个基本图形单元类-IUnit,它由描述图形单 元特征的基本属性和函数组成,例如名称Name,坐标Left、Top,尺寸Width、 Height,移动函数MoveTo(x,y)等,设计时既可通过鼠标操作来修改图形,也可直 接设置相应属性值。Unit下面继承有四种子类:
  文字单元类 IText:该类为文本框对象,成员属性包括 文字内容Text,字体Font等。
  形状单元类 IShape:该类包括矩形、椭圆、圆角矩形 、圆弧四种形状对象,成员属性包括线条颜色LineColor、线宽LineWidth、背景 颜色BackColor等。
  折线单元类 ILine:该类包括点、线、连接点、连接线 ,成员属性包括组成折线的点集合Points[i]、各点类型属性Bytes[i]、线条类形 LineType等。其中连接线可以连接两个图形,形成一组拓扑连接关系。
  元件单元类 IElement:该类看作一个类似容器的空白 图形,它容纳其他的子图形以形成新的图形类,其成员属性包括组成元件的子对 象集合Units[i],子对象数目UnitCount等。由上述的几种基本图形类可以在 IElement中绘制任意复杂的二维图形,组成一个新的图形类,即新的元件类。本 文最后要建立的电力元件就是用IElement制作的图形元件类。
上述即是VG提供的基本图形单元类,除此之外,VG还提供了对图形的基本 操作函数,包括添加、删除、移动、旋转、对齐、缩放、拷贝、剪切、粘贴、撤 销、恢复、修改颜色、文本框字体等。对于复杂的操作,可用这些函数不同的组 合来实现。

2.电力元件部件类

  本文将电力元件定义为图形对象端口对象 的有序组合。图形对象是描述电力元件的图形符号,以一次设备单线图 为例,如三绕组变压器是由三个圆表示,负荷由一根箭头线表示等。端口对象则 是元件之间连接的纽带。如图1所示,””代表元件的一个端口,图中G1和BK1之 间的端口重合,则二者已经连接在一起,在VG中元件可以通过端口的自动吸附来 实现连接。
元件中的每个图形对象或者端口对象就称为该元件的一个部件。元件部件 类由图形类和端口类组成。二者都继承自基本图形类,本文定义了如下的端口类 和图形类:
  1)端口部件类,MyPort:继承自VG的ILine中的连接 线,该线只包含一个点,即一根退化为点的连接线。端口部件类除了折线单元类 的属性外,还扩充了如下自定义的属性:
电压等级Vn,整型。缺省值为0,代表尚未指定电压等 级;
端口序号PNo,整形,只读。为方便按电压等级着色, 在同一元件中,规定不同电压等级端口的端口序号是不同的,而同一电压等级中 端口的端口序号是相同的。比如线路、开关等元件两端的端口电压等级相同,则 其PNo都是0,而含有多电压等级的元件如图1中的三绕组变压器T1,它有三个端口 ,电压等级都不同,其端口序号分别为0、1、2,而图1中的断路器BK1,有两个端 口,电压等级相等,端口序号均为0。

图1元件的端口、端口序号、元件之间的连接及不同电压等级 着色示意图
Fig1 Ports of elements, No. of ports, connection between elements and coloring of different parts of element by different voltage classes

  端口带电状态 PState,整型,指该 端口在带电着色后的状态,值0,1依次代表停电、带电,缺省值为0;
  端口类型PType,整形,指该端口所在支路的类型,值 为0,1,2依次代表辐射支路、桥路和环路,缺省值为0;
  节点号PNodeNo,指该端口所连接的电气节点序号,缺 省值0代表尚未分配节点号。
  2)图形部件类MyGraph:继承自VG的基本图形单元类 IUnit,下面继承有形状类MyShape和线类MyLine,二者分别又同时继承自IShape 和ILine。为了方便按电压等级着色,这两个类扩充了一个自定义属性PNo,其值 与同电压等级端口中的PNo相同。

3.电力元件类

  建立好了元件的基本部件图形类和端口类之后,再扩充其 它一些必要的属性,就可以组合起来形成各种类型的电力元件。
  电力元件类MyElement:继承自IElement,主要属性如 下:
图形连接的集合Links[i](系统自带属性),从该属性 可以得到某个连接所在的本元件的连接端口Port,以及该连接连到的另一元件 LinkUnit及其端口LinkPort。如图1,G1只有一个连接:G1.Links [0].Port=G1.Port0,G1.Links[0].LinkUnit=BK1,G1.Links [0].LinkPort=BK1.Port0,其它元件的该属性也类似于此。此属性可方便地实现 深度/广度优先遍历。
TypeNo,元件的类型号,整型,只读,如可规定1代表 发电机、2代表负荷等;
  SearchState,元件的被遍历状态,缺省值0表示尚未被 遍历到,1表示已经被遍历;
这样电力元件类确定后,就可以在其内加入图形部件和端口部件,组成各 种类型的元件。电力元件的类型一般比较稳定,可以分为如下的几类:
  功率类,单端口元件,包括发电机、调相机、负荷、接 地电容、电抗等;
  母线类,单端口元件无阻抗的元件;
  开关类,双端口元件,包括开关、刀闸等,两端口同属 一个电压等级。开关类有特殊属性开关状态State,整型,0代表断开,1代表闭合 ;
  变压器类,多端口元件,包括各种变压器,各端口电压 等级Vn不同,则各端口的PNo也不同;
  阻抗类,双端口元件,包括架空线、电缆、串联电抗器 、串联电容器等元件,各端口的PNo相同。

4.标注类

  标注类MyLabel:继承IText类,增加自 定义属性UnitName,即该标注所指的元件名 ,字符串型。标注类用来对元件进行标注,如元件名称,电气参数等。
图2为电力元件类图形建模类的结构示意图。


图2电 力元件的类的建立
Fig 2 Construction of classes of various power elements

5.图形建模系统

本文的图形建模系统由三个模块组成,如图3所示:


图3 图形建模系统的结构
Fig3 The structure of Graphic Model Building System

  • 图形元件库模块:任何绘制的图都能以模板存入元件库成为元件,同时元 件也可以从库中直接调出添加到当前的图形编辑器中。元件库分类管理。
  • 图形编辑模块:提供矢量图的基本编辑功能,实现对图形的可视化编 辑。
  • 图形类编辑模块:把每个图形当作类看待,直接修改其成员属性和成 员函数。


建模时,按照自上而下,由简到繁的方式,从当前元件库中选取图形元件 搭建新的图形,同时设计其成员属性和成员函数,最后将绘制好的新图当做新元 件添加到元件库。其界面如图4所示,左边面板是元件库,中间是可视化图形编辑 区,右边是成员属性和函数设置区。


图4 图形建模系统的界面
Fig 4 The interface of Graphic Model Building System

  建立好图形电力元件库后,就可以将库中的元件取出,通 过各元件的端口进行连接,形成网络;如图5的a部分为由两个厂站和若干线路连 接而成的简单系统,厂站又由若干设备元件连接组成,设备元件则由若干元件部 件组成;同时,可以把典型接线方式的厂站存入库中,作为模板直接使用。其建 模层次结构如图5的b部分所示。


图 5 电力系统图的建立
Fig 5 Construction of power system diagram

  利用本系统方便地实现了某地区电力系统的实时/历史潮流 图,其效果如图6所示。若把本文系统通过各种通讯规约与电力系统的前置机联系 起来,可进一步开发出新一代监控、管理、仿真及培训系统[7~9]。


图 6 利用本系统所绘制的某地区电力系统实时/历史潮流图
Fig6 Real-time/Historical flow diagram of some area's power system drawn by this system

6.结论

  本文提出基于Visual Graph面向图形对象的电力系统图形 建模及开发新方法,它能克服传统的单纯面向对象开发方法的开发周期长、维护 量大等缺点,实现了建模及开发过程的完全可视化,十分便捷。文中详细介绍了 电力元件类的建立及图形系统的结构。示例表明,本文所提的新方法是有效的, 具有良好的实际应用前景。

Graph development of power system based on Visual Graph
Lin Jikeng1 Qin Ling1 Luo Pingping2
(1:Dept. of electrical engineering of Automation school of Tianjin University, Tianjin 300072; 2: Dept. of electrical engineering of Shanghai University of Electric Power, shanghai 200437)

Abstract Based on universal interactive graphic platformVisual Graph, a compact and convenient new model building and developing method for power units and configuration of power network GOO(Graphic Object-Oriented)model building method is presented in this paper, which could overcome the shortage by traditional Object-Oriented model building method, such as : needing very long time to develop and hard to maintain. The structure and makeup of the classes composed of the power units and configuration of power system and the graphic system developed based on it are introduced in detail in this paper. The practical application shows the new method is feasible and effect, and the graphic system developed has good potential to be applied.

Keyword Visual Graph, Graphic Object-Oriented Model Building Method, Configuration of Power Network,Graphic System

参考文献
[1].Andreas F. Neyer, Felix F. Wu. Object-Oriented Program For Flexible Software:Example of A Load Flow. IEEE Trans. On Power System, Vol 5, No. 3, August 1990, 689-695.
[2]. Foley, M.; Bose, A.; Mitchell, W.; Faustini, A. An Object Based Graphical User Interface for Power Systems. Vol 8, No. 1, Feb. 1993, 97-104.
[3].Joong-Rin Shin, Dong-Hae Im. A Windows-based Interactive and Grphic Package For the Education and Training of Power System Ananlysis and Operation. IEEE Trans. On Power System, Vol 14, No. 4, Nov. 1999, 1193-1199.
[4].董张卓,孙启宏等.采用面向对象技术进行实时网络拓扑表示. 西安交通大 学学报,1995.3:29
[5].曾祥辉,宋玮等.面向对象的电力图形系统的分析和设计(Object-oriented analysis and design of graphic system of power system). 继电器(Relay), 2004, 32(25): 36-39
[6] 徐晓慧. 利用Visual Basic开发电力系统图形监控程序(GRAPHIC MONITORING PROGRAM FOR POWER SYSTEM DEVELOPED BY USE OF VISUAL BASIC). 电力系统自动化(Automation of Electric Power Systems), 1999, 23(12): 47 -49
[7].周步祥,阮树骅等. 电网监控屏幕信息的模型(SCREEN INFORMATION MODEL FOR POWER NETWORK SUPERVISORY CONTROL). 电力系统自动化(Automation of Electric Power Systems),1999,23(4):45~47.
[8].邵立冬,吴文传等. 基于CIM的EMS/DMS图形支撑平台的设计和实现(A CIM- based Interactive Graphics System for EMS/DMS). 电力系统自动化 (Automation of Electric Power Systems), 2003, 27(20): 11-15
[9].吴文传,张伯明等. 支持SCADA/PAS/DTS一体化的图形系统(A Graphic System Support SCANDA PAS DTS Integration), 电力系统自动化(Automation of Electric Power Systems), 2001, 25(5): 45-48
作者简介:
林济铿:男,博士,副教授,研究方向为电力系统稳定性分析及控制,电力市场,及人工智能在电力系统中的应用。
覃岭:男,四川攀枝花人,硕士研究生,研究方向为电力系统综合自动化,专家系统。
罗萍萍:女,硕士,讲师,研究方向为人工智能在电力系统中的应用,继电保护

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、Visual Graph重要文件 1.bin\ide.exe是绘图软件,您在此可以设计图库、绘制图形文件,这个软件的所有界面都是可以修改的。 2.bin\vg.dll是ActiveX控件,在许多编程语言中使用,使用步骤如下: a)运行bin\registeractivex.bat注册控件到您的计算机,如果失败,以管理员身份运行cmd.exe,然后再运行regsvr32.exe bin\vg.dll注册(请不要把v.dll拷贝到windows\system32目录下)。 b)进入编程语言,在工具栏上安装COM组件Visual Graph ActiveX control(Visual Graph不能运行在WEB服务端,如果开发ASP.net,工具栏看不到这个) c)把控件拖动到画面中 d)在窗口的Load事件(或Show)事件中编写如下代码: vgctrl1.Design( "" )设计一个新图形文件 vgctrl1.Run( "" )运行一个新图形文件 vgctrl1.Design( vgctrl1.DefaultPath + "..\demo\电力\秦山核电站.tbl" )设计秦山核电站这张电力接线图 vgctrl1.Run( vgctrl1.DefaultPath + "..\demo\电力\秦山核电站.tbl" )是秦山核电站这张电力接线图的运行状态 接下来就可以通过程序对画面上的各种图形对象进行编程了,具体请参考入门手册 http://www.visual-graph.com/rumen.htm 3.bin\vg.chm是帮助系统 4.source目录下是csharp2010、delphi7.0、vb6.0、vc6.0使用Visual Graph ActiveX的示例 5.web目录下是互联网应用中使用的cab文件打包批处理程序 6.lib目录下是若干例子图库 7.demo目录下是若干图形文件的示例 二、发布Visual Graph ActiveX时必需要包含的文件 1 : bin\vg.dll ActiveX控件 2 : bin\funcs.dll 外部函数库 3 : bin\kernel.dll 技术核心库 4 : bin\units.dll 基础图形库 5 : bin\consts.bas 启动脚本,在此可以定义一些非常重要的全局常量 6 : bin\arrows.tbl 自定义线条箭头库 7 : bin\cursors.tbl 光标库,没有这个,鼠标移动时将看不见 8 : bin\hintwindow.tbl 提示窗口,当鼠标移动到某对象时显示的那种提示窗口 9 : bin\library.tbl 基础图形的画法,包含线条的各种画法 10: bin\page.tbl 打印设置对话盒 11: bin\controls.tbl 打印设置窗口使用的控件库,包括按钮、下拉列表框、选择框等等 12: bin\patterns.tbl 图案文件 三、如果在互联网(IE)使用,需要把用到的文件打包成CAB文件,可参考web\makecab.bat里面的内容,自行增加要打包的文件,然后运行这个批处理程序,打包后的CAB文件的使用方法参见web\design.htm,自行打包的CAB文件在IE里会被拦截,请调低IE的安全等级,允许ActiveX在IE中使用和运行脚本。如果想不被IE拦截,请使用我公司网站上提供的http://www.visual-graph.com/activex/vg.cab,或者自行向数字签名公司购买签名服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值