何江涛,陆治国,张瑞东,龚秋憬,龙飞
(1.国网重庆市电力公司南岸供电分公司,重庆 400000;2.重庆大学电气工程学院,重庆 400030)
基于EXCEL的配电网络停电情况自动通知和设备故障情况查询研究
何江涛1,陆治国2,张瑞东1,龚秋憬2,龙飞1
(1.国网重庆市电力公司南岸供电分公司,重庆 400000;2.重庆大学电气工程学院,重庆 400030)
阐述了建立供电系统故障诊断可视化系统的必要性,提出了基于EXCEL的配电网络停电情况自动通知和设备故障情况查询方案:将配电网的电气图节点信息录入EXCEL中,再通过编程将信息以树形结构形式在WPF上显示出来。同时,也可以将配电网络图在WPF中打开,通过编程实现对电气图添加注释信息的功能。当供电系统出现故障时,电网调度运行控制人员输入故障点、故障原因和停电时间以及故障预计修复时间,就能以红色的字体显示出停电区域的树形结构和故障点负责人的详细信息以及停电区域负责人的信息,并以短信方式通知故障点的负责人和停电区域的负责人,在缩短了停电时间的同时使用户能够了解到停电原因和大概恢复供电时间,从而实现了配电网的规范化管理。而当需要查询某个设备情况时,只要输入该设备名称就能够查询到该设备的具体情况。
配电网络;EXCEL;WPF;设备
随着生活水平的提高,人们对供电质量要求越来越高,与此同时,配电网的规模及复杂度也在逐年递增。这些都对供电稳定性、故障解决的时效性等方面的要求提出了更大的挑战。传统情况下的配电网络发生故障时,运行人员首先会根据故障的地点去查找该故障所处位置检修人员的联系电话再去联系该检修人员,这需要花费一定的时间从而使停电时间增加,同时要想通知用户停电情况还要根据自己的电气知识在配电图上去观察停电区域;其次,当需要巡检一些经常出现故障的区域的时候需要去查阅以前的故障记录,这样做比较麻烦。基于上述的处理方式,需要较长的时间才能通知故障检修人员,从而使停电时间较长;对出现故障时所出现的停电区域情况不是那么一目了然,也不能及时的通知用户停电情况;巡检经常出现故障的区域时候需要查阅以往的故障记录,浪费时间和人力。本文针对这种情况提出了一种基于EXCEL的配电网络停电情况自动通知和设备故障情况查询方法。此方法能及时地通知用户停电消息,并及时地通知故障维修人员排除故障、恢复供电,缩短停电时间,同时还能方便工作人员随时查看设备过去出现故障的时间和原因,因此,对基于EXCEL的配电网络停电情况自动通知和设备故障情况查询方法的研究,具有很大的现实意义。
为了更好的显示各个界面,选用了Visual Studio2010中的wpf作为我们的开发平台,之所以选择wpf开发平台而不是其他开发平台,是因为wpf平台是微软在开发理念上的一次升级,它将以前那种由事件驱动界面变成了由数据驱动,使界面和内部的逻辑编程分离开来,不至于将界面逻辑和业务逻辑纠缠在一起。而为了直观的观察配电网络的结构和停电区域的结构,我们可以将配电网络和停电区域以树形结构的方式显示出来。本节将介绍如何挖掘配电网络图中的信息并以树形结构的方式显示出来。
1.1 配电网络节点信息的挖掘和录入
想要显示树形结构,我们首先就要将配电网络图中的节点信息存入EXCEL文档,然后编程的时候再调用EXCEL文档中的信息,从而将树形结构显示出。为了使一个EXCEL文档与一个配电网络图对应,我们以XPS格式的配电网络图命名与该图对应的EXCEL文档。从配电网络图中我们能够很容易的看出各节点的名称,但是仅仅知道各节点的名称是不够的,还需要附带一些额外的信息来帮助我们知道图中各节点的上下关系和各节点负责人的信息。因此我们对每个EXCEL的文档的列名进行如下设置:第一列为序号,第二列为电网中每个节点的实际名称,第三列则为每个节点的父节点的序号。第四列对应的为节点出现故障时的维修人员的姓名和联系电话。这样的设置不仅使我们知道各节点的名称和与该节点对应的上下节点。还使我们知道了各节点出现故障和停电时负责人的姓名和联系电话。列设置完后,我们便根据配电网络图录入各节点的信息。例如:在某配电网络图中,坪苑是该配电网络的电能输入点,所以将它序号设置为1,而由于其没有父节点,所以其父节点序号为0。电能通过坪苑节点进入该配电网络之后,将电能分别传送给苑典、苑交、苑世、苑佳、苑天这五个地方,因此他们的父节点序号都是1,而其序号则按照顺序依次是2、3、4、5、6。苑交又继续把电能传给交通大厦配电房,所以交通大厦配电的父节点序号就是苑交的序号,而它自己的序号则按顺序应该是7。这样依次类推下去就可以得到整配电网络的信息,其信息如下表所示:
表1 节点信息表Tab.1 Node information table
1.2 TreeView控件节点生成算法的选取
在向EXCEL文档录入节点信息之后,便需要将这其中的一些信息以树形结构的形式显示出来,这便设计到算法的选取,本文根据实际需要,在已知的算法上做出了一些改进和优化后提出了一种新的算法。
图1 算法和函数流程图Fig.1 Algorithms and functions flow chart
传统的树形图都是静态树形图,而静态树形图是由开发人员根据系统数据结构的需要在编写代码时生成,若树形图的结构发生改变,则需修改系统的源代码,将对系统的维护带来麻烦。但借助EXCEL来保存树形图的节点信息,借助TreeView控件实现动态树形图,当节点信息发生改变时,只须修改EXCEL信息而无须修改源代码。所以本文选用了基于EXCEL的客户查询方法。文献[9]介绍了一种递归算法,可以通过递归算法实现树形结构,但它需要用到数据库,而在普通用户的电脑上安装数据库软件并让他们操作数据库是非常不方便的。与文献[9]相比,文献[8]提出了一种新的算法,解决了递归算法效率低下的问题,但它不但需要用到数据库还需要对数据库的结构进行精心的设计,这根本不适合普通用户的使用。通过比较这两种算法的优劣,再结合供电系统客户查询的实际情况,同时考虑到普通电路图所包含的数据较少,则运算效率低下的问题在计算机速度如此之快的今天完全可以忽略。同时考虑到用户使用的方便性,我们提出了使用EXCEL来保存配电网络中的数据。并根据软件使用过程中要显示配电网络图的树形结构和停电区域的树形结构,提出了一种新的算法,它使我们在软件运行过程中只需连接一次数据库,同时通过构造函数降低了编程的重复性。图1(a)是算法的流程图,图1(b)是构造分层集合的函数。
1.3 树形结构的生成
图2 节点类程序Fig.2 Node class program
要想将EXCEL与程序相连,首先要通过引用中的COM添加EXCEL程序集,然后再添加名称空间using Microsoft.Office.Interop.Excel并建立节点类,图2便是这个节点类的代码,通过图2我们可以看出节点类包括了字段序号、名称、父节点序号、负责人和list<节点>。然后通过一定的编程方法将EXCEL与WPF相连,连接后通过VS编程将与配电网络图对应的节点信息提取到WPF中,再将这些信息赋予一个list<节点>集合,然后通过一定的编程方式将该集合分层。最后将该集合赋予控件TreeView的Itemsource属性,这样就将分层的集合与TreeView控件绑定在一起,通过运行便能够形成树形结构。所得的树形结构如图3所示。
图3 配电网络树形结构图Fig.3 The tree structure of the distribution network
图4 添加注释信息图Fig.4 Add comments information map
首先,我们需要打开XPS格式的配电网络图,之所以是XPS格式的,是因为XPS是微软公司开发的一种文档保存与查看的规范[6],它不但能够将图放大或缩小,还能方便我们将配电网络图打印下来。之所以需要打开配电网络图,一是为了让我们知道程序需要与那个EXCEL文档相连,以便显示对应的树形结构;二是当我们需要在图中添加一些注释的时候可以很好的添加。其中具体打开XPS格式的配电网络图和添加注释是通过使用DocumentViewer控件打开XPS格式的电气图,通过VS编程可以实现文本注释、墨迹注释和删除注释的功能。具体注释如图4所示。图中,在绿色文本框中即可添加所需要的注释[7]。其注释可以为各个设备和线路的基本信息。
停电区域菜单为此软件的核心部分,实现了停电区域的显示。如图2所示为单击停电区域菜单后所显示的配电网络树形结构图。在实际操作过程中是先输入故障点信息后单击“确定”按钮,出现如图5(b)所示的停电区域的详细信息以及
在如图5(a)所示的方框内显示停电区域的树形结构。在单击确定的同时,程序会将故障设备名称,故障原因,故障发生时间,故障预计修复时间和设置人这些信息自动添加到一个叫“设备”的EXCEL文档。而在使用程序之前就应该建立“设备”这个EXCEL文档,他的列名分别就是设备名称,故障原因,故障发生时间,故障预计修复时间,设置人。以某配电网络图为例,当打开停电区域后,在故障设备名称输入“佳苑(612)”,故障原因输入为“不知道”,故障时间和故障修复时间以及故障设置人分别安要求输入之后点击确定就会出现如图6所示的菜单。
图5 停电区域和故障点负责人的显示Fig.5 Blackout area and fault point person in charge of the display
图6 停电区域菜单Fig.6 the menu of blackout area
设备查询菜单实现的是对设备故障的查询以及新故障的记录,便于工作人员了解整个设备的运行状况和发生故障的类型,以此在设备出现故障时缩短维修时间。具体的操作方法如图7所示,当需要查询时在设备名称栏中输入设备的名称,然后点击确定,此时程序就会从“设备”EXCEL文档里查找与输入名称相同节点信息,然后将其显示出来。下面的文本框中就显示了故障原因、故障发生的时间以及故障设置人这些信息。
图7 设备查询菜单界面Fig.7 the menu of Device Query
综上所述,本文提出了一种新的算法用于显示树形结构,该算法可以使用户使用EXCEL来保存树形图的节点信息,同时借助TreeView控件实现动态树形图,当节点信息发生改变时,只需对EXCEL中的数据进行修改而无须修改程序源代码,该算法简单易操作便于非专业人员输入新的数据。同时,该系统可以将繁杂的配电网络简化成一组相对应的树形结构图,同时对配电网中配电节点的主要设备的历史检修情况及在线运行状态进行在EXCEL文档中进行备份,当配电系统发生故障时,通过该可视化系统可以有效地、及时地通知故障维修人员排除故障、恢复供电,缩短停电时间,对提升配电网调度安全管理和提供优质服务水平起着很大的作用,同时也能大大的提高供电系统的经济效益。
(References)
[1]黄山,吴竹媚.配电网络可视化管理系统建设[J].广东电力,2007,20(3):61-63.Huang Shan,Wu Zhumei.” Construction of Visualized Management System for Distribution Network”[J].Guan Dong Electric Power,2007,20(3):61-63.(in Chinese)
[2]齐立波.C#入门经典[M].(第5版).北京:清华大学出版社,2010.Qi Libo.“Beginning Visual C# 2010”[M].(5th edition).Beijing:Tsinghua University Press,2010.(in Chinese)
[3]刘铁猛.深入浅出WPF[M].北京:中国水利水电出版社,2010.Liu Tiemeng.“Head First WPF”[M].Beijing:China WaterPower Press,2010.(in Chinese)
[4]张昀.输配电线路故障可视化定位及抢修支持系统[J].动力与电气工程,2013,18:111.Zhang Jun.“Transmission and Distribution Line Fault Location and Repair Visualization Support System”[J].Science &Technology Information,2013,18:111.(in Chinese)
[5]崔晓阳.用Treeview控件实现树形管理信息系统[J].农业网络信息,2007,11:135-136.Cui Xiaoyang.“The Accomplishment of Tree Shaped MIS Using Treeview Control ”[J].Agriculture Network Information,2007,11:135-136.(in Chinese)
[6]顾嘉利.XPS文档页面处理技术的应用与实现[J].微计算机信息,2007,23:166-168.Gu Jiali.,“Applied Research on Varying Page layout of XML Paper Specification Format Document”[J].Control &Automation,2007,23:166-168.(in Chinese)
[7]王德才.WPF编程宝典C#2010版[M].北京:清华大学出版社,2011.Wang Decai.“WPF Programming Bible C#2010 Edition”[M].Beijing:Tsinghua University Press,2011.(in Chinese)
[8]李俊锋,方明.基于编码的TreeView控件节点生成算法[J].电脑知识与技术,2007,11:847-852.Li Junfeng,Fang MingNode.“Generating Algorithm of TreeView Control Basing on Code”[J].Computer Knowledge and Technology,2007,11:847-852.(in Chinese)
[9]储岳中.基于递归算法和树形控件的动态树形图的实现[J].计算机技术与发展,2007,11(6):87-93.Chu Yuezhong.“plementation of Dynamic TreeView Based on Recursion Algorithm and TreeView WebControl”[J].Computer Technology and Development,2007,11(6):87-93.(in Chinese)
Power Supply System Client Query Methods Based on EXCEL
HE Jiangtao1,LU Zhiguo2,ZHANG Ruidong1,GONG Qiujing2,LONG Fei1
(1.Nanan Power Supply Bureau of Chongqing Power Grid Corporation,400000,China 2.College of Electrical Engineering,Chongqing University,400030,China)
On the basis of using the Microsoft Visual Studio 2010 and EXCEL and other software,Proposed the power supply system client query methods based on the EXCEL.Inputted the electrical diagram node information of distribution network in the TreeView tables of database by the database software,and then used the WPF programming and TreeView function module to display the information in tree structure.Meanwhile,we can also turn on the electrical diagram in WPF by programming the electrical diagram to realize the function of adding the annotation.When the power supply system fails,the personnel of the power network dispatching operational control click a branch can show the detailed information of breakdown maintenance personnel,and note maintenance personnel by short message.Thereby this method improves the work efficiency and achieving standardized management of the distribution network.
power system;EXCEL;treeView;WPF
TP311.5
:A
1672-6332(2014)03-0066-05
【责任编辑:高潮】
2014-07-28
重庆市自然科学基金(项目编号:CQ2013250303)
何江涛(1982-),男(汉),重庆市人,高级工程师。主持或参与电网规划 、配电线路故障在线监测等多项课题研究。E-mail:57120025@qq.com