1、基于matlab电力系统潮流计算程序设计1 绪 论 11 潮流计算1.1.1 潮流计算概述电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定 的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电 压,各元件中流过的功率,系统的功率损耗等等。在电力系统规划的设计和现 有电力系统运行方式的研究中,都需要利用潮流计算来定量地分析比较供电方 案或运行方式的合理性、可靠性和经济性。此外,电力系统潮流计算也是计算 系统动态稳定和静态稳定的基础。所以潮流计算是研究电力系统的一种很重要 也很基础的计算。电力系统潮流计算也分为离线计算和在线计算两种,前者主要用于系统规 划设计和安排
2、系统的运行方式,后者则用于正在运行系统的随时监视及实时控 制。利用计算机进行电力系统潮流计算从 50 年代中期就已经开始。在这 20 年 内,潮流计算曾采用了各种不同的方法,这些方法的发展主要围绕着对潮流计 算的一些基本要求进行的。对潮流计算的要求可以归纳为下面几点:(1)计算方法的可靠性或收敛性;(2)对计算机内存量的要求;(3)计算速度;(4)计算的方便性和灵活性。 电力系统潮流计算问题在数学上是一组多元非线性方程式求解问题,其解法都离不开迭代。因此,对潮流计算方法,首先要求它能可靠地收敛,并给出 正确答案。由于电力系统结构及参数的一些特点,并且随着电力系统不断扩大, 潮流计算方程式的阶数
3、也越来越高,对这样的方程式并不是任何数学方法都能 保证给出正确答案的。这种情况成为促使电力系统计算人员不断寻求新的更可 靠方法的重要因素。在用数字计算机解电力系统潮流问题的开始阶段,普遍采取以节点导纳矩 阵为基础的逐次代入法。这个方法的原理比较简单,要求的数字计算机内存量 比较低,适应 50 年代电子计算机制造水平和当时电力系统理论水平。但它的收敛性较差,当系统规模变大时,迭代次数急剧上升,在计算中往往出现迭代不收敛的情况。这就迫使电力系统计算人员转向以阻抗矩阵为基础的逐次代入法。 60 年代初,数字计算机已发展到第二代,计算机的内存和速度发生了很大的飞 跃,从而为阻抗法的采用创造了条件。阻抗
4、法要求的数字计算机储存表征系统 接线和参数的阻抗矩阵需要较大的内存量。而且阻抗法每迭代一次都要求顺次 取阻抗矩阵中的每一个元素进行运算,因此,每次迭代的运算量很大。这两种 情况是过去电子管数字计算机无法适应的。阻抗法改善了系统潮流计算问题的 收敛性,解决了导纳法无法求解的一些系统的潮流计算,在 60 年代获得了广泛 的应用,曾为我国电力系统设计、运行和研究作出了很大的贡献。目前,我国 电力工业中仍有一些单位采用阻抗法计算潮流。阻抗法的主要缺点是占用计算 机内存大,每次迭代的计算量大。当系统不断扩大时,这些缺点就更加突出。 一个内存 16K 的计算机在采用阻抗法时只能计算 100 个节点以下的系
5、统,32K 内存的计算机也只能计算 150 个节点以下的系统。这样,我国很多电力系统为 了采用阻抗法计算潮流就不得不先对系统进行相当的简化工作。为了克服阻抗法在内存和速度方面的缺点,60 年代中期发展了以阻抗矩阵 为基础的分块阻抗法。这个方法把一个大系统分割为几个小的地区系统,在计 算机内只需要存储各个地区系统的阻抗矩阵及它们之间联络线的阻抗,这样不 仅大幅度地节省了内存容量,同时也提高了计算速度。克服阻抗法缺点的另一 途径是采用牛顿-拉夫逊法。这是数学中解决非线性方程式的典型方法,有较好 的收敛性。在解决电力系统潮流计算问题时,是以导纳矩阵为基础的,因此, 只要我们能在迭代过程中尽可能保持方
6、程式系数矩阵的稀疏性,就可以大大提 高牛顿-拉夫逊法潮流程序的效率。自从 60 年代中期,在牛顿-拉夫逊法中利用 了最佳顺序消去法以后,牛顿法在收敛性、内存要求、速度方面都超过了阻抗 法,成为 60 年代末期以后广泛采用的优秀方法。与此同时,为了保证可靠的收 敛,在我国还进行了网流法潮流计算的研究。随着电力系统的日益扩大和复杂 化,特别是电力系统逐步实现自动控制的需要,对系统潮流计算在速度、内存 以及收敛性方面都提出了更高的要求。70 年代以来,潮流计算方法通过不同的 途径继续向前发展,其中比较成功的一个方法就是 P-Q 分解法。这个方法,根 据电力系统的退热点,抓住主要矛盾,对纯数学的牛顿法
7、进行了改进,从而在 内存容量及计算速度方面都大大向前迈进内了一步。使一个 32K 内存容量的数 字计算机可以计算 1000 个节点系统的潮流问题,此法计算速度已能用于在线计 算 ,作系统静态安全监视。目前,我国很多电力系统都采用了 P-Q 分解法潮流程序。潮流计算灵活性和方便性的要求,对数字计算机的应用也是一个很关键的 问题。过去在很长时间内,电力系统潮流计算是借助于交流台进行的。交流台 模拟了电力系统,因此在交流计算台上计算潮流时,计算人员可以随时监视系 统各部分运行状态是否满足要求,如发现某些部分运行不合理,则可以立即进 行调整。这样,计算的过程就相当于运算人员对系统进行操作、调整的过程,
8、 非常直观,物理概念也很清楚。当利用数字计算机进行潮流计算时,就失去了 这种直观性。为了弥补这个缺点,潮流程序的编制必须尽可能使计算人员在计 算机计算的过程中加强对计算机过程的监视和控制,并便于作各种修改和调整。 电力系统潮流计算问题并不是单纯的计算问题,把它当作一个运行方式的调整 问题可能更为确切。为了得到一个合理的运行方式,往往需要不断根据计算结 果,修改原始数据。在这个意义上,我们在编制潮流计算程序时,对使用的方 便性和灵活性必须予以足够的重视。因此,除了要求计算方法尽可能适应各种 修改、调整以外,还要注意输入和输出的方便性和灵活性,加强人机联系,以 便使计算人员能及时监视计算过程并适当
9、地控制计算的进行。电力系统潮流计算是电力系统分析中的一种最基本的计算,是对复杂电力 系统正常和故障条件下稳态运行状态的计算。潮流计算的目标是求取电力系统 在给定运行状态的计算。即节点电压和功率分布,用以检查系统各元件是否过 负荷、各点电压是否满足要求,功率的分布和分配是否合理以及功率损耗等。 对现有电力系统的运行和扩建,对新的电力系统进行规划设计以及对电力系统 进行静态和暂态稳定分析都是以潮流计算为基础。潮流计算结果可用如电力系 统稳态研究,安全估计或最优潮流等对潮流计算的模型和方法有直接影响。实 际电力系统的潮流技术主要采用牛顿-拉夫逊法。在运行方式管理中,潮流是确定电网运行方式的基本出发点
10、;在规划领域,需要进行潮流分析验证规划方案的合理性;在实时运行环境,调度员潮流 保证 了在预想操作情况下电网的潮流分布 以及校验运行可靠性。在电力系统调度运 行的多个领域都涉及到电网潮流计算。潮流是确定电力网络运行状态的基本因 素,潮流问题是研究电力系统稳态问题的基础和前提。牛顿-拉夫逊法早在 50 年代末就已应用于求解电力系统潮流问题,但作为 一种实用的,有竞争力的电力系统潮流计算方法,则是在应用了稀疏矩阵技巧 和高斯消去法求修正方程后。牛顿-拉夫逊法是求解非线性代数方程有效的迭代 计算。P-Q 分解法进行电力系统分析的潮流计算程序的编制与调试,获得电力系统中各节点电压,为进一步进行电力系统
11、分析作准备。通过本文加深对电力系统潮流计算原理的理解和计算,初步学会运用计算机知识解决电力系统的问 题,掌握潮流计算的过程及其特点。熟悉各种常用应用软件,熟悉硬件设备的 使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何 将理论知识和实际工程问题结合起来。1.1.2 潮流计算的意义电力系统潮流计算是电力系统最基本的计算,也是最重要的计算。所谓潮 流计算,就是已知电网的接线方式与参数及运行条件,计算电力系统稳态运行 各母线电压、各支路电流与功率及网损。对于正在运行的电力系统,通过潮流 计算可以判断电网母线电压、支路电流和功率是否越限,如果有越限,就应采 取措施,调整运行方式。对
12、于正在规划的电力系统,通过潮流计算,可以为选 择电网供电方案和电气设备提供依据。潮流计算还可以为继电保护和自动装置 定整计算、电力系统故障计算和稳定计算等提供原始数据。在运行方式管理中,潮流是确定电网运行方式的基本出发点;在规划领域, 需要进行潮流分析验证规划方案的合理性;在实时运行环境,调度员潮流提供 了多个在预想操作情况下电网的潮流分布以校验运行可靠性。在电力系统调度 运行的多个领域都涉及到电网潮流计算。潮流是确定电力网络运行状态的基本 因素,潮流问题是研究电力系统稳态问题的基础和前提。1.2 MATLAB1.2.1 MATLAB 概述目前电子计算机已广泛应用于电力系统的分析计算,潮流计算
13、是其基本应 用软件之一。现有很多潮流计算方法。对潮流计算方法有五方面的要求:(1) 计算速度快(2)内存需要少(3)计算结果有良好的可靠性和可信性(4)适应 性好,亦即能处理变压器变比调整、系统元件的不同描述和与其它程序配合的 能力强(5)简单。MATLAB 是一种交互式、面向对象的程序设计语言,广泛应用于工业界与 学术界,主要用于矩阵运算,同时在数值分析、自动控制模拟、数字信号处理、动态分析、绘图等方面也具有强大的功能。MATLAB 程序设计语言结构完整, 且具有优良的移植性,它的基本数据元素是不需要定义的数组。它可以高效率地解决工业计算问题,特别是关于矩阵和矢量的计算。MATLAB 与 C
14、 语言和FORTRAN 语言相比更容易被掌握。通过 M 语言,可以用类似数学公式的方式 来编写算法,大大降低了程序所需的难度并节省了时间,从而可把主要的精力 集中在算法的构思而不是编程上。另外,MATLAB 提供了一种特殊的工具:工 具箱(TOOLBOXES).这些工具箱主要包括:信号处理(SIGNAL PROCESSING)、 控制系统(CONTROL SYSTEMS)、神经网络(NEURAL NETWORKS)、模 糊逻辑(FUZZY LOGIC)、小波(WAVELETS)和模拟(SIMULATION)等等。不 同领域、不同层次的用户通过相应工具的学习和应用,可以方便地进行计算、 分析及设
15、计工作。MATLAB 设计中,原始数据的填写格式是很关键的一个环节, 它与程序使用的方便性和灵活性有着直接的关系。原始数据输入格式的设计, 主要应从使用的角度出发,原则是简单明了,便于修改。1.2.2 MATLAB 的优缺点MATLAB 语言最大的特点是简单和直接,它主要有如下特点: 编程效率高MATLAB 是一种面向科学与工程计算的高级语言,允许使用数学形式的语 言编写程序,且比 BASIC、FORTRAN 和 C 等语言更加接近我们书写计算公式 的思维方式,用 MATLAB 编写程序犹如在演算纸上排列出公式与求解问题。因 此,MATLAB 语言也可通俗地称为演算纸式科学算法语言。由于它编写
16、简单, 所以编程效率高,易学易懂。用户使用方便MATLAB 语言是一种解释执行的语言(在没被专门的工具编译之前),它 灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任 何一种语言编写程序一般都要经过四个步骤:编辑、编译、链接,以及执行和 调试。各个步骤之间是顺序关系,编程的过程就是在它们之间做瀑布型的循环。 MATLAB 语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接 和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序中的书 写错误、语法错误以至语义错误,从而加快了用户编写、修改和调试程序的速 度,可以说在编程和调试过程中它是一种比 VB 还要简单
17、的语言。具体的说,MATLAB 运行时,如直接在命令行输入 MATLAB 语句(命令), 包括调 M 文件的语句,每输入一条语句,就立即对其进行处理,完成编译、链接和运行的全过程。又如,将 MATLAB 源程序编辑为 M 文件,由于 MATLAB磁盘文件也是 M 文件,所以编辑后的源文件就可以直接运行,而不需要进行编译和链接。在运行 M 文件时,如果有错,计算机屏幕上会给出详细的出错信息, 用户经修改后再执行,直到正确为止。所以可以说,MATLAB 语言不仅是一种 语言,广义上讲是一种该语言的开发系统,即语言调试系统。扩充能力强,交互性好高版本的 MATLAB 语言有丰富的库函数,在进行复杂的
18、数序运算时可以直 接调用,而且 MATLAB 的库函数同用户文件在形成上一样,所以用户文件也可 作为 MATLAB 的库函数来调用。因而,用户可以根据自己的需要方便地建立和 扩充新的库函数,以便提高 MATLAB 的使用效率和扩充它的功能。另外,为了 充分利用 FORTRAN、C 等语言的资源,包括用户已编好的 FORTRAN、C 语言 程序,通过建立 Me 文件的形式,混合编程,方便地调用有关的 FORTRAN、C 语言的子程序,还可以在 C 语言和 FORTRAN 语言中方便地使用 MATLAB 的 数值计算功能。这样良好的交互性使程序员可以使用以前编写过的程序,减少 重复性工作,也使现在
19、编写的程序具有重复利用的价值。移植性和开放性很好MATLAB 是用 C 语言编写的,而 C 语言的可移植性很好。于是 MATLAB 可以很方便地移植到能运行 C 语言的操作平台上。MATLAB 合适的工作平台 有:Windows 系列、UNIX、Linux、VMS6.1 和 PowerMac。除了内部函数外, MATLAB 所有的核心文件和工具箱文件都是公开的,都是可读可写的源文件, 用户可以通过对源文件的修改和自己编程构成新的工具箱。语句简单,内涵丰富MATLAB 语 言 中 最 基 本 最 重 要 的 成 分 是 函 数 , 其 一 般 形 式 为 a,b,c,.=fun(d,e,f,.)
20、,即一个函数由函数名,输入变量 d,e,f,.和输出变量 a,b,c,. 组成,同一函数名 F,不同数目的输入变量(包括无输入变量)及不同数目的 输出变量,代表着不同的含义 (有点像面向对象中的多态性)。这不仅 使 MATLAB 的库函数功能更丰富,而且大大减少了需要的磁盘空间看 ,使 得 MATLAB 编写的 M 文件简单、短小而高效。高效方便的矩阵和数组运算MATLAB 语言像 BASIC、FORTRAN 和 C 语言一样规定了矩阵的算术运算 符、关系运算符、罗技运算符、条件运算符,而且这些运算符大部分可以毫无 改变地照搬到数组间的运算,有些如算术运算符只要增加“.”就可用于数组间 的运算
21、。另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其他高级语言所不能比拟的。在此基础 上,高版本的 MATLAB 一定能名副其实地称为“万能演算纸”式的科学算法语 言。方便的绘图功能MATLAB 的绘图是十分方便的,它有一系列绘图函数(命令),例如线性 坐标、对数坐标、半对数坐标及极坐标,均只需调用不同的绘图函数(命令), 在图上标出图题、XY 轴标注,格(栅)绘制也只需调用相应的命令,简单易行。 另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。 这种为科学研
22、究着想的设计是通用的编程语言所不能及的。MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于 MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行, 所以速度较慢,并且 MA TLAB 的界面功能比较弱, 不能实现交互界面、数据 采集和端口操作等功能。1.3 总结本文介绍了图形化潮流计算软件的开发设计思想和总体结构,阐述了该软 件所具备的功能和特点。结合电力系统的特点,软件采用 MATLAB 语言运行 于 WINDOWS 操作系统的图形化潮流计算软件。本系统的主要特点是操作简单, 图形界面直观,运行稳定,计算准确。计算中,算法做了一些改进,提高了计 算速度
23、,各类的有效封装又使程序具有很好的模块性、可维护性和重用性。2 电力系统的潮流计算2.1 概述潮流计算在数学上是多元非线性方程组的求解问题,求解的方法有很多种。 自从 20 世纪 50 年代计算机应用于电力系统以来,当时求解潮流的方法是以节 点导纳矩阵为基础的逐次代入法(导纳法),后来为解决导纳法的收敛性较差 的问题,出现了以阻抗矩阵为基础的逐次代入法(阻抗法),到 20 世纪 60 年 代,针对阻抗法占用计算机内存大的问题又出现了分块阻抗法及牛顿 拉夫逊 法。牛顿-拉夫逊法是数学上解非线性方程式的有效方法,有较好的收敛性 ,将 NR 法用于潮流计算是以导纳矩阵为基础的,由于利用了导纳矩阵的对
24、称性、 稀疏性及节点编号顺序优化等技巧,使 NR 法在收敛性、占用内存、计算机 速度方面的优点都超过了阻抗法,成为 20 世纪 60 年代末期以后普遍采用的方 法,同时国内外广泛研究了诸如非线性规划法、直流法、交流法等各种不同的 潮流计算方法。20 世纪 70 年代以来,又涌现出了更新的潮流计算方法,其中有 1974 年由 B.Stoot 和 O.Alsac 提出的快速分解法以及 1978 年由岩本伸一等提出 的保留非线性的高速潮流计算法,其中快速分解法从 1975 年开始已在国内使用, 并习惯称之为 PQ 分解法。由于 PQ 分解法在计算速度上大大超过了 NR 法, 不但能应用于离线潮流计算
25、,而且也能应用于在线潮流计算。2.2 潮流计算的基本方程2.2.1 节点的分类用一般的电路理论求解网络方程,目的是给出电压源(或电流源)研究网 络内的电流(或电压)分布,作为基础的方程式,一般用线性代数方程式表示。 然而在电力系统中,给出发电机或负荷连接母线上电压或电流(都是向量)的 情况是很少的,一般是给出发电机母线上发电机的有功功率(P)和母线电压的 幅值(U),给出负荷母线上负荷消耗的有功功率( P)和无功功率(Q)。主 要目的是由这些已知量去求电力系统内的各种电气量。所以,根据电力系统中 各节点性质的不同,很自然的把节点分成三种类型。PQ 节点 对这一类节点,事先给定的是节点功率(P、
26、Q),待求的未知量是节点电压向量(U、),所以叫“PQ 节点”。通常变电所母线都是 PQ 节点,当某些发电机的输出功率 P、Q 给定时,也作为 PQ 节点。PQ 节点上的发电机称之 为 PQ 机(或 PQ 给定型发电机)。在潮流计算中,系统大部分节点属于 PQ 节 点。PU 节点这类节点给出的参数是该节点的有功功率 P 及电压幅值 U,待求量为该节 点的无功功率 Q 及电压向量的相角。这类节点在运行中往往要有一定可调节 的无功电源,用于维持给定的电压值。通常选择有一定无功功率储备的发电机 母线或者变电所有无功补偿设备的母线作 PU 节点处理。PU 节点上的发电机称 之为 PU 机。平衡节点 在
27、潮流计算中,这类节点一般只设一个。对该节点,给定其电压值,并在计算中取该节点电压向量的方向作为参考轴,相当于给定该点电压向量的角度 为零。也就是说,对平衡节点给定的运行参数是 U 和,因此又称为 U节点, 而待求量是该节点的 P,Q,整个系统的功率平衡由这一节点承担。关于平衡节点的选择,一般选择系统中担任调频调压的某一发电厂(或发 电机),有时也可能按其他原则选择,例如,为提高计算的收敛性,可以选择出线数多或者靠近电网中心的发电厂母线作平衡节点。以上三类节点 4 个运行参数 P、Q、U、中,已知量都是两个,待求量也 是两个,只是类型不同而已。2.2.2 基本方程式在潮流计算中任何复杂的电力系统
28、都可以归结为以下元件(参数)组成: 发电机(注入电流或功率);负荷(注入负的电流或功率); 输电线支路(电阻、电抗); 变压器支路(电阻、电抗、变比); 母线上对地支路(阻抗和导纳); 线路上的对地支路(一般为线路充电电容导纳)。 集中了以上各种类型的元件的简单网络如图 2.1(a)所示。必须指出,如果仅研究稳态情况下的潮流而不涉及暂态过程的计算,则不需要发电机和负荷的阻抗参数,只需要给出发电机和负荷的注入功率和电流,并且规定发电机和负荷的注入功率和电流取正,而负荷取负。Pg1 + jQg1(a) 潮流计算用的电网结构图(a) The flow calculation grid chartI
29、1 无源线性网络 I4 -PR 4 - jQR 4 Pg 2 + jQg 2 I2 (可用导纳矩I5 -PR5 - jQR50 + j0 I3阵或阻抗矩阵表示)I6 -PR6 - jQR6R6 R4R5(b) 潮流计算等值网络(b) the trend to calculate the equivalent network图 2.1 潮流计算用的电网结构图和等值网络Figure 2.1 The flow calculation grid structure diagram and the equivalent network将图 2.1(a)中的发电机和负荷节点用无阻抗线从网络中抽出(为不失一
30、 般性,将既非发电机又非负荷的浮动节点当作零注入功率的母线抽出网络之 外),剩下的部分既由接地和不接地支路组成一个无源线性网络如图 2.1(b) 所示。对于这个无源线性网络可用相应的导纳矩阵(或阻抗矩阵)来描述,采用 导纳矩阵时,节点注入电流和节点电压构成以下线性方程组I = YU1 I U 1 其中 I = I2 U = U2 In 可展开为如下形式:Un i ij jnI = Y U (i1,=2,., ) nj =1若 U = ZI可展开为如下形式:(2.1)i ij jnU = Z I (i1,=2,., ) nj =1(2.2)式中 n 为网络节点数。由于实际电网中测量的节点注入量一
31、般不是电流而是功率,因此必须将式(2.1)中的注入电流用节点注入功率来表示。 根据电工理论,节点功率与节点电流之间的关系为i i i i iS = P + jQ = U I (2.3) 式中, Pi = PGi - PLDi , Qi = QGi - QLDi因此用导纳矩阵式(2.1)时,PQ 节点可以表示为iI = Si= Pi - jQi(2.4)Ui Ui把这个关系式代入式(2.1)中,得Pi - jQi Uin= j =1Y U ij j(i1,=2,., ) n(2.5)比较式(2.1)和(2.5),由于功率代替电流的结果,使式(2.1)电流电压 的线性方程组变化为功率和电压的非线性方程组,这个非线性方程组就是潮流 计算的基本方程。式(2.5)是一组共有 n 个非线性方程组组成的复数方程组,如果把实部和 虚部分开便得到 2n 个实数方程,因此由该方程组可解出 2n 个运行参数。但是已经知道每一个节点都有 4 个运行变量,即节点的功率 P 、 Qi ,以及节点电压的幅值和相位(或对应于某一选定参考直角坐标的实部和虚部),记作( Pi 、Qi 、Ui 、i )或( Pi 、 Qi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1