您现在的位置:首页 > >

面向图形对象的配电网单线图绘制与使用.kdh

发布时间:

第 29 卷第 7 期 2009 年 7 月

电力自动化设备
Electric Power Automation Equipment

Vol.29 No.7 Jul. 2009

面向图形对象的配电网单线图绘制与使用

邓其军,周 洪,鲁 觉 (武汉大学 自动化系,湖北 武汉 430072)

摘要: 基于面向对象的设计思想,通过 GDI+ 技术和 Windows 环境下类和接口的方法,实现了单线图的绘

制与使用。 采用分层模块化思想,设计了 4 个层次的类:图形基类管理图形的共有属性与方法;点、线、矩

形、文字等基本图形类从图形基类派生;合并类与绑定类通过对点、线、矩形的组装,得到各种电气图标;画

布类用于管理绘制在画布上的图标的集合。 利用序列化 / 反序列化机*夹挝募4娴奖镜赜才蹋⑸

传到数据库服务器。 客户端通过检测并下载服务器中的新版本来进行图形的更新。 另外,定义了一个枚举结

构和一个全局控制字集合,用以标识图标制作、单线图绘制、*私!⒌拐⒛D獾炔煌褂贸【跋露酝夹

的不同操作要求。

关键词: 面向对象; GDI+; 图形元件库; 序列化 / 反序列化; 数据库; *

中图分类号: TM 727;TP 311.52

文献标识码: B

文章编号: 1006 - 6047(2009)07 - 0097 - 04

0 引言
输配电计算机管理系统中,无论是操作票、模拟 调度、潮流计算、短路计算或线损分析,都需要绘制 与使用单线图[1- 3]。 现有电力系统图形软件[4- 8]普 遍 存在许多缺点,而且对基于面向图形对象的设计思想 描述单线图绘制工具的研究[9- 12]尚不深入。
本 文 基 于 面 向 图 形 对 象 GOO(Graphic - Object - Oriented)的设计思想,利用 GDI+ 技术实现电力系 统对象模型的建立,提出多层次的图标组合技术,并 智能地区分了电力系统分析过程中不同的应用场 景。 所有电力设备由相应图形类实现,图形类除了拥 有一般类的特征(如成员变量、接口)外,还包括可视 的图形,能够直接编辑,并通过程序代码操作,具有 良好的封装和继承性能。
GDI+ 是 Windows2000 以后版本的一个子系统, 同 GDI(图形设备接口)一样,主要负责对显示器和 打印机进行管理。 GDI+ 是对原有 GDI 功能的升级, 提供矢量图形输出、光栅图形输出、文字排版的功能, GDI+ 是真正面向对象,利用它进行图形绘制,不但 可以提高编程效率,避免资源泄露,同时可以改善图 形绘制的速度,使用户更加便捷地浏览和操作。
本文所研究的图形系统是九江供电公司配电网 监控信息系统的一部分,其各项性能在实际应用中 都得到了充分的验证。
1 系统需求分析和实现策略
1.1 系统需求分析 单线图制图系统作为整个电力分析系统的一个
模块,其主要目标是利用面向对象的可视化图形技
收稿日期:2008 - 11 - 28;修回日期:2009 - 03 - 04

术和图库一体化的数据库技术搭建一个共用的电力 绘 图 * 台 ,为 单 线 图 的 绘 制 、拓 扑 建 模 [13 - 15]、仿 真 分 析和状态查看等提供方便。 1.1.1 系统功能需求
a. 文件操作方面:实现文件的新建、打开、保存。 b. 图形操作方面:要能导入绘制的电网图形或 单线图到后台数据库或本地文件夹,导出原有图形 或单线图进行编辑修改或分析使用,并能对电网单 线图进行打印。 c. 图元操作方面:图元必须有复制、粘贴、删除、 移动、缩放、选择、旋转、镜像功能,对于开关或者刀 闸等开关设备要有启合功能,有块操作功能,能实现 块的复制、粘贴或移动。 d. 视图操作方面:能够对单线图进行整体缩放, 具有自动捕捉和查找定位功能。 e. 数据库管理方面:有完备的图元库,能够实现 局域网内图标的版本检测和自动更新和权限管理。 1.1.2 场景需求分析 单线图的应用涉及到电力系统分析和计算的 很多方面,具体而言,在电力系统分析软件的应用过 程中,主要有以下场景:单线图制作状态、*私 状态、仿真模拟状态及查看状态,加上图标的编辑入 库状态,共 5 个使用状态。 这些过程既有连续性,又 有其独立性。 连续性体现在:只有先建立电力设备 的图形模型并编辑入库,才能在图标库的基础上绘 制出单线图,继而在单线图基础上建立整个配电网 的*四P停诖送*私峁鼓P偷幕∩辖械缤 运行仿真和分析,然后才可能结合 SCADA 系统查看 当前电网的运行状态。 然而,考虑到不同场景下任务 侧 重 的 不 同 , 应 能 让系统智能地判定当前任务下主要进行哪些操作, 需要哪些方法,需要屏蔽哪些方法,这样做一方面使

电力自动化设备

第 29 卷

得系统看起来简洁清楚,结构紧密,同时又避免了用 户的误操作。 比如,图标制作以及单线图绘制时,主 要是对图形的编辑,因此几乎需要所有编辑功能;拓 扑建模时,主要是对单线图上的设备的相关属性赋 值以建立电力设备之间的*肆担耸钡ハ咄家丫 绘制完毕,图元的位置已经确定,因此缩放和移动等 改变单线图的方法,系统应该能够智能地予以屏蔽; 仿真模拟状态下,主要是对开关设备进行模拟操作 并观察电网运行状态的改变,此时就需要能够改变 开关图元运行状态的接口实现,编辑功能可以屏蔽。 1.2 系统实现策略
系统的核心是单线图的绘制以及应用场景的智 能识别。 图形的绘制基于系统的 4 层次结构,从上到 下为应用程序、画布及图标列表、图标、绘图对象。 绘图对象封装了点、线、矩形、圆、文本等基本图形对 象,图标是这些对象的组合,通过一定的操作(合并、 绑定等)将各组成对象及其信息(大小、位置及其他 属性)封装在对象列表中,然后将这些信息以特定格 式序列化保存在磁盘中形成图标库。 单线图绘制在 画 布上,是一系列图标库中图标以 及 它 们 相 关 信 息 的 列表,用户对单线图上设备的操作都是对该图标列 表 中 对 应 图 标 的 操 作 [6]。
系统对场景的识别借助于一个枚举和一个控制 字结构来实现,枚举结构如下:
enum MapUseCase { IconMake, ∥图标制作 MapMake, ∥单线图绘制 Relation, ∥*斯亓 Operate, ∥设备模拟操作 Show, ∥查看 };
控制字结构如下:
struct ControlKey { public static bool CanEdit; ∥是否可编辑 public static bool CanResize; ∥是否可缩放 public static bool CanMoveConnLine; ∥连 接 线 是 否
可移动 public static bool CanBind; ∥是否可绑定,用于生成
复杂设备 public static bool CanSelectAutomic; ∥ 在 可 编 辑 的
情况下,能够选择单个图元 public static bool MustSelectOutsideRect; ∥ 优 先 选
择绑定的区域对象 public static bool SelectTicketObject; ∥优 先 选 择 操
作票中执行对象(开关设备、刀闸设备、受控分接箱设备、环网柜中的 刀闸设备)
};
通过对枚举中每个场景的控制字的各位赋值以 区分不同场景下的功能,当切换场景时,将全局的表 示场景的变量赋响应值即可。 表 1 显示了不同场景 下系统功能的控制。
2 可编辑图标库设计
2.1 电气图元的数据结构设计 电气图元的数据结构主要分为以下几部分:标
识电气图元的类型及图形属性的信息,如位置和大

表 1 不同应用场景下的控制字 Tab.1 Control words for different applications

应用场景 移动 缩放 合并 绑定 图标制作 是 是 是 是 单线图绘制 是 否 否 否 *斯亓 否 否 否 否 模拟操作 否 否 否 否 状态查看 否 否 否 否

选择内部元件 是 是 否 否 是

小等;标识图标所代表设备的属性,如设备编号、所 属的线路编号等;标识图标与其他设备之间连接关 系的属性,如连接点集合、连接设备集合;标志当前 该图标所处应用场景的属性[9]。 其中,有些属性在绘 制图标时就被赋值了,还有的在单线图绘制和使用 的不同阶段被赋值,如设备编号、所属线路编号等表 示图元和实际设备的对应关系的属性,只有在建立 单线图设备联系的时候才被赋值。 2.2 电气图元的对象结构设计 2.2.1 电气图元的生成
绘制和编辑不同类型的电力图元是图形系统最 基础、也是最重要的功能。 电力系统的图元都是由点、 线、矩形、圆、文字几种基本图形组成的,利用这些基 本图形可以“组装”任何一种电力系统标准的设备[1]。
首先,实现基本图形类。 这些图形都具有自己的 各种属性和数据,如大小、形状、位置等;也具有自己的 各种行为,如绘制、移动、旋转、缩放、复制、删除等[2]。 各图形间虽不相同,但可以从它们中抽象出部分共 同的基本属性和共同的行为。 所以在表示这些图形 前 , 先 建 立 一 个 所 有 图 形 类 的 基 类 DrawObject 来 描述这些图形的共同属性和行为[8],然后根据每种 图 形的特点及系统的要求,利用类的继承和派生的特 点 , 从 图 形 基 类 里 派 生 出 具 体 图 形 类 (DrawPoint 、 DrawLine、DrawRectangle、DrawEllepse、DrawText ) ,根 据需要定义自己特有的属性和行为。 这种方法将 数据与操作封装在一起,大大简化了编程过程。 需要 强调的是,在系统中,基本图形都是由其对应的控制 点绘制出来的,对图形的操作就是对这些控制点的 操作,在 GDI+ 中,这些点又称为路径点,图形的轮廓 称为路径。 表 2 列出了各基本图形的控制点。
然后,由这些基本图形生成所需要的电力设备。 考虑引入中间类 DrawMergeObject,将基本图形类对 象封装成电力图元。 这个类采用合并路径的方法将 基本图形进行“合并”,同时重写基本方法实现整体 的功能。 合并后,原来图形不作为单个个体存在,所 有图形的路径点合并后放在一个数组里,整体作为

表 2 基本图形类的控制点定义 Tab.2 Control points of basic graph class

基本图形 点 线
矩形 圆
文字

图形类

控制点描述

DrawPoint DrawLine DrawRectangle DrawEllepse DrawText

该点的坐标 线的起点和终点坐标 矩形的 4 个端点坐标 圆的外接矩形的 4 个端点坐标 文字轮廓边框的 4 个端点坐标

第7期

邓其军,等: 面向图形对象的配电网单线图绘制与使用

一个电气图元,其轮廓表现为一条路径。 另外,对于复杂的电力设备如环网柜等,其作为
一种图标,内部又含有其他图标(如开关、刀闸),同 时要求这些图标在特定情况下的相对独立性,即可 以单独选择一个内部开关或刀闸操作。 此时引进另 外 一 个 中 间 类 DrawBindObject 将 基 本 图 形 和 图 标 (DrawMergeObject 类)“绑定”。 “绑定”的实质是将这 些图形和图标封装在一个列表中,列表中的所有图 元都被赋予一个标识这个绑定集合的属性,使得这 些图形和图标既可以对外呈现出不同的状态,又含 有作为一个“整体”的标志。 通过判断当前的操作需 要这个“整体”做出何种响应决定是否忽略这个标 志。 当需要整体移动时,启用这个标志,点击图标的 任何部分都将选中所有内部元件;当要操作某个内 部开关时,关闭这个标志,仅仅可以选择单个元件。 图元的对象结构如图 1 所示。
Components
DrawBindObject
DrawMergeObject
DrawPoint DrawLine DrawRectangle DrawEllepse DrawText
图 1 图形对象结构图 Fig.1 Structure of graphic objects
2.2.2 典型功能的封装和接口实现 图形或图标的操作都封装在其自身类中,通过
在基类中将这些方法定义为虚函数,在各子类中添 加相关代码予以重载。 下面阐述几类典型功能的实 现方法。
复制、粘贴:生成选择元件的拷贝添加到画布的 图标列表。
移动:所有路径点加上一个偏移。 旋转:所有路径点坐标围绕指定基点做投影变换 。 缩放:保持各路径点的相对位置比例不变,将路 径放大或缩小相应尺寸。 增加、删除:向画布的图标列表中添加或删除对 应的对象。 2.2.3 其他附加功能的实现 由于电力系统单线图绘制过程复杂,涉及到的 对象繁多,为了方便用户同时提高制图效率,系统设 置了撤销和重做的功能。 该功能的实现与制图过程 同步,当向画布的对象列表增加或删除对象,或对制 定对象进行操作时,都生成一个命令对象加入画布的 命令列表,该命令对象封装着进行这些过程所操作 的数据、操作过程以及相反操作过程,撤销操作实际 上就是调用当前命令列表最后一个命令对象的相反 操作过程,重做操作调用该命令对象的正操作过程。 2.3 图标库的管理 2.3.1 图标库的组织形式 采用 C / S 模式,在服务器的数据库中存放最新

版本的图标库,各客户机在本地文件夹中存放图标 文件形成图标库。 2.3.2 图标库的管理内容
图标库的管理内容包括图标入库和图标版本 更新。 当用户编辑好某一图标并点击保存时,通过 序列化机*猛急甑南喙匦畔⒁蕴囟ǜ袷叫慈氲 磁盘称为图标入库,序列化可实现信息的持久化保 存,本系统采用自定义序列化。
自定义序列化将要序列化的类用 Serializable 标 记,这个类主要包括 2 个方法:构造函数和一个始终 名为 GetObjectData 的函数,前者封装了反序列化过 程,后者表示序列化过程。 它们都具有诸如 Function (SerializationInfo info,StreamingContext context) 的 形式,内部集成着对相关数据的读取和写入操作:
SerializationInfo.GetValue(string name,Type type); SerializationInfo.AddValue(string name,var value); 当用户编辑了图标库中某图标后上传该图标到 数据库,则服务器端数据库中该图标的版本变高,各 客户机在启动系统自检时检测版本,如发现版本过 期,从服务器下载该图标文件覆盖本地文件实现更 新。 文件的上传、下载通过 C# 的 FileStream 类实现。
3 单线图绘制及使用
单线图的绘制分为 2 种:根据已录入设备的信息 自动生成;用户手工绘制。 后者需要用户人为添加图 元与实际设备的对应关系。 在九江供电公司配电网 监控信息系统中,根据数据库中库存的设备信息,自 动生成单线图。
单线图绘制完成后,用户录入各设备间的连接 关系给设备的对应属性赋值,后台运行程序将连接 关系读入数据库,这样配电网的*私峁咕图锹荚 数据库中。 用户的仿真模拟就是修改数据库的状态 信息,同时在后台数据库中运行*朔治觯げ庑 果动态地呈现在单线图上供运行人员查看和研究。
4 结论
本文在继承目前电力图形系统的优点诸如面向 对象、图标库等的基础上,针对目前电力图形系统的 不足做出了 3 点改进。
a. 为整个系统定义一个枚举结构和一个全局控 制字集合,用以标识不同的使用场景(图标制作状 态、单线图制图状态、*私W刺⒖厣璞覆僮 状态、查看状态),根据使用场景的不同屏蔽或使得 相应的功能可用。 这样避免了不必要的误操作导致 系统错误,提高了系统的自动化水*。
b. 多层次的图标组合技术,方便地生成各种电 气图元。 定义特殊的中间类实现了图形和图标的“组 装”,提高了制作图标时图形和图标的可重用性,极 大地简化了复杂电气设备模型的建立,方便了不同 场景下设备功能的实现。

电力自动化设备

第 29 卷

c. 将图标文件同时保存在局域网数据库和本地 文件夹中,通过版本检测决定是否需要进行图标的 更新,确保了整个制图系统模块更新的速度和效率。
作为电力分析系统的一部分,配电网单线图制 图系统界面友好,操作便捷,极大方便了其他电力分 析功能的实现,减少了开发和维护的工作量,具有良 好的封装性能和扩展性,体现了创新性、准确性和安 全性的要求。 目前该图形系统已在电力系统得到了 实际应用。
参考文献:
[1] 林 济 铿 ,覃 岭 ,罗 萍 萍. 基 于 Visual Graph 的 电 力 图 形 系 统 开 发 [J]. 电力系统自动化,2005,29(15):77 - 80. LIN Jikeng,QIN Ling,LUO Pingping. Graphic system development of power system based on the Visual Graph[J]. Automation of Electric Power Systems,2005,29(15):77 - 80.
[2] 吴 文 传 ,张 伯 明 ,汤 磊 ,等. 支 持 SCADA / PAS / DTS 一 体 化 的 图 形系统[J]. 电力系统自动化,2001,25(5):45 - 48,66. WU Wenchuan,ZHANG Boming,TANG Lei,et al. A graphic system supporting SCADA / PAS / DTS integration[J]. Automation of Electric Power Systems,2001,25(5):45 - 48,66.
[3] 李大海. 华东电网大型变配电仿真系统图形用户界面的实现 [J]. 电力自动化设备,2002,22(1):43 - 47. LI Dahai. Realization of GUI for large substation simulation system of East-China power network[J]. Electric Power Automa tion Equipment,2002,22(1):43 - 47.
[4] 朱 永 利 ,栗 然 ,刘 艳. 电 力 系 统 厂 站 主 接 线 图 形 的 自 动 生 成 [J]. 电力系统及其自动化学报,2000,12(1):43 - 46,55. ZHU Yongli,LI Ran,LIU Yan. Automatic generation of plant station main wiring graph in power system [J]. Proceedings of the EPSA,2000,12(1):43 - 46,55.
[5] 刘秀玲,陈超英,常光宇. 电 力 系 统 可 视 化 图 形 生 成 系 统 [J]. 电 力系统及其自动化学报,2001,13(5):34 - 37. LIU Xiuling,CHEN Chaoying,CHANG Guangyu. A visual graph creating system for electric power system[J]. Proceedings of the EPSA,2001,13(5):34 - 37.
[6] 董朝霞 ,陈 青 华 ,范 斗. 电 力 仿 真 系 统 图 形 编 辑 器 面 向 对 象 的 设 计与实现[J ]. 继电器,2002,30(6):42 - 44. DONG Zhaoxia,CHEN Qinghua,FAN Dou. Design and implementation of graph editor based on object - oriented method in power system[J]. Relay,2002,30(6):42 - 44.
[7] 恩沙西,涂光瑜. 面向对象电力系统图形编辑器及其在 SCADA系

统中的应用[J]. 电力系统及其自动化学报,1999,11(2):64 - 67. EN Shaxi,TU Guangyu. Object - oriented power system graphics editor and its application in SCADA[J]. Proceedings of the EPSA, 1999,11(2):64 - 67. [8] 王昕,律方成,王楠,等. 基于图形数据库一体化的图形系统设计 [J ]. 电力系统及其自动化学报,2003,15(4):69 - 71,90. WANG Xin,L譈 Fangcheng,WANG Nan,et al. Design of graphic system based on graph - database integration [J]. Proceedings of the EPSA,2003,15(4):69 - 71,90. [9] 廖维川,万涛. 一个绘图工具的面向对象设计[J]. 计算机工程与 设计,2005,26(5):258 - 261. LIAO Weichuan,WAN Tao. Object - oriented design of drawing tool[J]. Computer Engineering and Design,2005,26(5):258-261. [10] MURPHY L,WU F F. An open design approach for distributed
energy management system[J]. IEEE Trans on Power Systems, 1996,11(8):1159 - 1161. [11] GAMM E,HELM R,JOHNSON R,et al. Design patterns:elements of reusable object - oriented software [M]. Boston,USA: Addison - Wesley,2000. [12] FOLEY M,BOSE A,MITCHELL W,et al. An object based gra phical user interface for power systems [J]. IEEE Trans on Power Systems,1993,8(1):475 - 478. [13] 刘健,程红丽,毕鹏翔. 配电网的简化模型[J]. 中国电机工程学 报,2001,21(12):77 - 81. LIU Jian,CHENG Hongli,BI Pengxiang. A simplified model for distribution system[J]. Proceedings of the CSEE,2001,21(12): 77 - 81. [14] 周步祥,刘 欣 宇. 基 于 网 络 图 形 的 配 电 网 拓 扑 分 析 方 法 及 应 用 [J]. 电力系统自动化,2003,27(8):67 - 70. ZHOU Buxiang,LIU Xinyu. Network graph based power distribution network topology analysis and its application [J]. Auto mation of Electric Power Systems,2003,27(8):67 - 70. [15] 林济铿,覃岭,罗萍萍. 基于图形建模的电力系统*朔治鲂路 法[J ]. 电力系统自动化,2005,29(22):54 - 59. LIN Jikeng,QIN Ling,LUO Pingping. A new method for power system toplogy based on grapical modeling [J]. Automation of Electric Power Systems,2005,29(22):54 - 59.
(责任编辑: 李育燕)
作者简介: 邓 其 军 (1975 -),男 ,湖 北 武 汉 人 ,讲 师 ,博 士 ,研 究 方 向
为电力系统计算机控制; 周 洪 (1962 -),男 ,湖 北 武 汉 人 ,教 授 ,博 士 ,研 究 方 向
为电力系统自动控制。

Drawing and application of GOO single - line display of distribution network
DENG Qijun,ZHOU Hong,LU Jue (Department of Automation,Wuhan University,Wuhan 430072,China) Abstract: The drawing and application of GOO (Graphic - Object - Oriented) single - line display for power distribution network are realized using GDI + technology and the class and interface method in Windows environment. Four levels of class are designed with the concept of layered modularization:the base class, management of public properties and methods;the basic graph class, point, line, rectangle and text derived from the base class; the merging / binding class,various electric icons created from the basic graph class;the canvas class,management of icon aggregation on a single - line display. The display is saved on disk through serialization / deserialization and uploaded to database server. The client detects the new version and updates the display by downloading from server. An enumeration structure and a global control word collection are defined to meet different requirements of different applications for icon generation, single line drawing, topology modeling, switch operation simulation, etc.. Key words: object-oriented; GDI+; graphic component library; serialization / deserialization; database; topology



热文推荐
猜你喜欢
友情链接: 医学资料大全 农林牧渔 幼儿教育心得 小学教育 中学 高中 职业教育 成人教育 大学资料 求职职场 职场文档 总结汇报