0 引言
目前,微机开票的软件研究和开发多是围绕着倒闸操作票进行的,针对电网调度命令票的软件研究和开发基本属于空白。
电网调度命令票微机开票系统所完成的功能要比倒闸操作票系统更多,而且该系统更复杂实现难度更大。以往,倒闸操作票微机开票系统主要是由开发者在开发软件的同时对电网系统结构和操作规则的定义,相对于实际的工作人员这样难免具有局限性和不专业性,更不能对实际的运行经验总结生成新的操作规则。不能满足电网调度复杂性和灵活性要求。因而在电网调度命令票微机开票系统中不能再沿用倒闸操作票微机开票系统的开发思想,必须提出一种新的解决方案。
本文将介绍一种基于图论和坐标定位的方法以及软件系统的功能实现和面向对象语言的编程实现。该系统不仅具有以往的倒闸操作票微机开票系统图形界面生动直观,操作方便快捷等优点,更为突出的是真真实现了面向实际系统用户的通用性和灵活性。大大提高了电网调度命令票微机开票系统的效率和合格率。
1 软件系统的理论基础
调度操作就是切除或投入电气设备。从图论的观点来说,调度操作即改变图的拓扑结构。在把元件抽象为点的基础上,将其电气属性归纳为位置属性和状态属性,这时图就成了点及其属性关系的集合。图在计算机中存储时将传统矩阵一分为二:一个用来记录网络元件设备,另一个用来记录元件运行状态。在进行图的坐标定位搜索运算时,首先确定被操作元件在整个图中的位置,再根据这个位置到图的存储数据结构中去找到该元件的记录,进行下一步操作。以上就是坐标定位法的基本思想。
坐标定位法在软件开发中的具体实现方法如下:把图形界面以左上角为原点,以向右、向下的方向为正方向,将整个视图划分为50×50个小区域,每个区域用来显示一个设备对象的图形。这样,每个设备图形在界面上的属性就有x和y坐标,按照设备属性中的坐标值,就可以确定其对应图形在视图上显示的位置。
1.1 电网拓扑结构数学模型的实现
据图论原理整个电网拓扑结构可描述为:
式中:Gi(i=1,2...,N)为电网中的某个变电站,S,P为每个变电站中所有元件的位置属性和状态属性分别组成的集合。
1.2 图在计算机中的存储
设图G为变电站,将其网络拓扑划分为网格,每个网格中最多有一个表示元件的点,则位置矩阵为:
式中:当网格(i,j)处存在元件时;Pij、sij 有记录;当网格(i,j)处不存在元件时,Pij、sij 空。
1.3 图的坐标定位法
对于某一变电站G(S,P),有一站内元件w,建立网络拓扑图时,首先要在位置矩阵中定义该元件的位置:
对元件进行操作时,首先在P矩阵中找出与该元件位置属性相匹配的元素p(w),再将该元件的状态属性按操作要求变位。
对元件进行的操作,首先要满足规则设置的限制。在本系统的拓扑图数据结构中,就是要使被操作元件,以及与其相关的若干元件的状态,要与规则中对这些元件的状态限制相符。用逻辑关系来实现这些规则。对元件w进行操作,首先根据位置矩阵在状态矩阵中找到该元件的状态:
s(w)=[sij]v×vw
然后用同样的方法找到与其相关的其他元件的状态,再根据调度规则的逻辑来进行判断,当逻辑关系成立时,操作可以进行,即将矩阵中的状态替换为新的状态;逻辑关系不成立,则不能进行操作。
2 软件系统的功能分析
2.1 电网调度命令票的特点
(1)电网调度每一项调度指令都有可能涉及不止一个变电站,而倒闸操作仅针对某一特定的变电站。
(2)电网调度涉及的可操作元件较多。倒闸操作主要涉及开关、刀闸、地刀这三种双态元件。
(3)电网调度中元件状态不再像倒闸操作按分、合两个状态定义,而是按检修、冷备用、热备用、运行四个状态定义。
(4)电网调度中线路以及变电站的每一个元件状态的定义通常都与其自身以及多个相关的元件有关,必须考虑多重的逻辑关系。
(5)电网调度规程较倒闸操作规程更复杂。它不仅要考虑国家有关部门制订的规程而且还要综合考虑各地区实际情况根据安全高效原则自行制订。
基于以上的分析,电网调度命令票微机开票系统应具有以下功能。
2.2 软件系统的功能要求
2.2.1 具有电网结构可编辑功能
电网的结构(如接线图等)可由用户自己构造形成。而且当电网结构发生变化(如增减变电站或设备),用户可以自行对电网结构和电站结构进行编辑和修改。
2.2.2 具有操作逻辑规则库用户可编辑功能
用户不仅可以根据实际的电网结构进行逻辑规则的设置,而且还要求用户能够据实际电网结构增减和定义新的逻辑规则。之所以强调用户可编辑,因为用户对规则的理解和对本单位运行经验的掌握,是任何其他人无法比拟的。只有用户本身才有能力制订出既符合统一安全原则,又适合本地特殊情况的操作顺序法则,同时也只有用户本身,才有能力判别一份命令票正确与否,并对命令票的合格性负责。
2.2.3 具有逻辑规则自动检测和判断功能
根据电网结构和用户设置的逻辑规则,能够自动对每一项操作进行检查、判断和功能实现。
2.2.4 具有生动直观操作仿真平台和模拟操作功能
开票工作应在生动直观图形界面上进行,相关的被操作元件图形能够随着开票过程而自动变位,这就将操作人员的开票方式转化成了模拟操作预演,实现了每项操作步骤都受到规则检验,如果规则制定无误的话,那么所开操作票的合格性就完全能得到保证。
2.2.5 具有操作票分级管理的功能
操作票要采用分级管理,管理人员和操作人员要具有不同的操作和编辑权限。
以上的几点是对该系统的主要功能要求。如图1所示是该系统的总体结构功能框图。
3 软件系统编程设计要点
该系统以 Visual C++作为开发平台, 利用面向对象的语言的特点,既可避免描述中的信息冗余 ,又增强了对知识的使用和管理 ,便于维护。
3.1 软件系统对象的描述
3.1.1 电网对象
调度操作将设备的运行情况大体分为“检修”、“冷备用”、“热备用”和“运行”四种状态。按照调度操作术语中设备状态数的不同,可将一次设备分为以下几类:四态元件:开关、电容器、低压电抗器(检修、冷备用、热备用、运行);三态元件:高压电抗器(检修、冷备用、运行);两态元件:刀闸(分、合),变压器、母线、出线(检修、冷备用);不操作元件:发电机、变电站内连接线。
3.1.2 调度命令票对象
每张调度命令票不仅有一条条的操作语句,它还与变电站操作前和操作后的状态有关。因此,在建立调度命令票对象时,还要考虑记录开票前后电网运行状态。
3.2 类及其对象属性的确定
3.2.1 电气元件类及其派生类
利用OOP的特点,对各设备类确定继承关系,根据各电气设备的共同属性抽象出父类——基本元件类,再派生出不同电气元件子类。对不能进行操作的其他设备类(如线、文字类)进行封装,以防误操作。
基本元件类具有所有元件类的共有特性,各派生元件类在继承这些共有特性的同时,又各自拥有与众不同的属性,共同组成电气元件类集合。
3.2.2 对象属性的确定
首先从最基础的元件对象类来开始。基本元件类是所有元件类的父类,它所应具有的属性有元件名称、元件编号、元件定语(用于调度命令票中的习惯称谓)、元件对应图形在界面上的坐标位置。
对于派生类还具有其他的属性,四态元件的属性还有:四种状态的定义,当前状态和过去状态,四态操作规则;三态元件的属性还有:三种状态的定义,当前状态和过去状态,三态操作规则;两态元件的属性还有:两种状态的定义,当前状态和过去状态,两态操作规则。
变电站的属性有:变电站名、站的当前状态(从计算机操作的角度来看该站是否处于激活状态)、站内设备状态、站内二次保护设备状态,以及各类元件的链式数据集合。电网由变电站组成,其主要数据就是变电站类对象的链式数据集合。
同时,在系统开发中要把调度命令,调度任务和操作前后电网运行状态变化记录均视调度命令票对象的属性,即数据。
3.3 类对象和方法的编程实现
3.3.1 类对象的实现
编程语言将每个基本元件类和派生类描述出来,派生类自动继承基本元件类的属性。例如基本元件类的实现:
3.3.2 类方法的实现
方法是类中定义的代码单元,描述该对象对其数据结构的操作和对象执行操作的算法。
设计的各个类方法,可以分成以下几类:构造对象方法,包括一般构造函数和析构函数;基本属性的设定和获取函数;类名标识函数;删除对象方法;其他(为实现特定的功能而设定的方法)。
例如:闸刀类的一个函数,它的功能是根据闸刀的定义来检测闸刀的状态。
3.4 图形的界面功能设计
3.4.1 图形的显示
从面向对象的观点出发,把单个电气设备作为基本类对象,计算机屏幕上所显示的变电站一次主接线图,既是这些单个电气设备对应图形的组合。
首先为每个设备对象类,创建一个位图资源,来表示设备没有投入运行时的未定义状态,另外再根据设备状态的不同,设计相应的位图资源。绘制变电站一次接线图时,在一个标有纵横坐标的网格中,按照现场情况,在对应坐标处填写元件代码、元件编号和元件定语。系统根据坐标和元件代码利用坐标定位法,在相应位置处显示该元件以 及元件编号。
3.4.2 元件图形在操作时的状态变位
电力系统中的调度操作是为了某一任务而进行的一系列转变电气设备运行状态的操作,本开票系统的图形界面具有点击操作功能。要将某一元件从A状态转变到B状态,在该元件图形上点击鼠标左键,系统判断此时点击位置所属的小区域的坐标值,根据坐标值找到该元件对象的数据记录,获得元件的名称、编号、当前状态等属性值,接着,界面弹出一对话框,显示元件属性值,并且操作者可在此对话框中改变元件状态,确定后,系统内部关于该元件对象的状态值也相应发生改变。
3.4.3 操作规则的设置
规则以某种数据形式存储在元件类对象中,操作时,先搜索相关元件,看其状态是否满足规则要求,再判断能否安全的进行操作,即将操作规则,用限制某些元件状态的方式表达出来。每种操作规则都可能有若干条限制,只要符合其中的任意一条,就可以进行操作。所以把操作规则的设置转变到对相关元件状态的限制,把每条规则设置为一行。规则设置输入界面如表1所示,每行代表一个限制条件,每三列代表一个指定元件的状态。
每行设置条件将进行如下逻辑运算:
行与行之间进行或运算,即可的出最后的逻辑结果:
RESULT=(Result1)or(Result2) …or(ResultN)
结果为真,则此操作可以执行,结果为假,则此操作不可执行。
4 结束语
本电网调度微机开票系统已经在华东网调投入运行。从运行情况看,该系统性能稳定,操作灵活简便,出票速度快,通用性好,不仅可以保证在当前的运行方式下,而且可以适应电网系统结构变更和增设变电站的情况下完成调度命令票生成和管理。该系统在调度命令票生成及管理中有较高的应用推广价值。