基于MATLAB的电力系统潮流计算目录潮流计算的定义及应用电力系统的潮流计算方法MATPOWER的功能与使用方法MATPOWER的潮流计算的应用Powergui在简单电力系统潮流计算中的应用一、潮流计算的定义及应用作为研究电力系统稳态运行情况的一种基本电气计算,潮流计算的任务是根据给定的运行条件和网路结构来确定整个系统的运行状态,比如各母线上的电压(幅值及相角),网络中的功率分布以及功率损耗等。潮流计算的结果是电力系统稳定性计算和故障分析的基础。在电力系统运行方式和规划方案的研究中,都需要进行潮流计算以比较运行方式或规划供电方案的可行性、可靠性和经济性。同时,为了实时监控电力系统的运行状态,也需要进行大量而快速的潮流计算。因此,潮流计算是电力系统中应用最广泛、最基本和最重要的一种电气运算。在系统规划设计和安排系统的运行方式时,采用离线潮流计算;在电力系统运行状态的实时监控中,则采用在线潮流计算。二、电力系统潮流计算方法随着电力系统的规模的扩大,原始的用解析法进行手工计算的方法进行潮流分析已经是不可能的了,基本上现在的潮流分析都是在计算机上进行的。运行计算机进行潮流分布计算,一般要完成以下四个步骤:(1)建立数学模型。电力系统潮流计算属于稳态分析范畴,不涉及系统元件的动态特性和过渡过程。因此其数学模型不包含微分方程,是一组高阶非线性方程。(2)确定计算方法。非线性代数方程组的解法离不开迭代,因此,潮流计算方首先要求他是能可靠的收敛,并给出正确答案。现在比较常用的方法有牛顿-拉夫逊法(简称牛顿法)和P-Q分解法。牛顿法是数学中解决非线性方程式的典型方法,有较好的收敛性。在解决电力系统潮流计算问题时,是以导纳矩阵为基础的,因此,只要我们能在迭代过程中尽可能保持方程式矩阵的稀疏性,就可以大大提高牛顿法潮流程序的效率。P-Q分解法是从改进和简化牛顿法潮流程序的基础上提出来的,他的基本思想是:把节点功率表示为电压向量的极坐标方程式,抓住主要矛盾,以有功功率误差作为修正电压向量角度的依据。(3)制定计算流程并编制程序。无论采用什么编程语言,其基本流程都是绘制程序流程图,根据选定的计算方法进行循环迭代从而得到最终的计算结果。(4)上机计算及对计算结果进行分析。三、MATPOWER的功能与使用方法MATPOWER是一个用MATLAB的M文件编写,用来解决电力系统潮流计算和优化潮流计算问题的软件包。MATPOWER的特点是简单、易懂而且代码公开,这位电力系统专业学生深入学习和理解掌握潮流计算中的难点(如节点导纳矩阵、算法及迭代过程等)提供了一个开放、便捷的平台。MATPOWER数据格式•MATPOWER所用的所有数据文件均为MATLAB的M文件或者MAT文件,用来定义和返回变量:baseMVA、bus、branch、gen等。•baseMVA变量是一个标量,用来设置基准容量。对于计算中采用有名值,可以根据需要设置,如IOOMVA;对于计算中采用标么值,一般设置为1。•bus变量是一个矩阵,用来设置电网中各母线参数,其格式为:bus_i、type、Pd、Qd、Gs、Bs、83ea、Vm、Va、baseKV、zone、Vmax、Vmin。bus-i用来设置母线编号,范围为1~29997。type用来设置母线类型,1为PQ节点母线,2为PV节点母线,3为平衡(参考)节点母线。Pd和Qd用来设置母线注入负荷的有功和无功功率。Gs、Bs用来设置与母线并联电导和电纳。baseKV用来设置该母线基准电压。Vm和Va用来设置母线电压的幅值、相位初值。Vmax和Vmin用来设置工作时母线最高、最低电压幅值。area和zone用来设置电网断面号和省耗分区号,一般都设置为1,前者可设置范围为l~100,后者可设置范围为1—999。branch变量是一个矩阵,用来设置电网中各支路参数,其格式为:fbus、tbus、r、x、b、rateA、mteB、mteC、ratio、aJlgle、status。fbus和tbus用来设置该支路由起始节点(母线)编号和终止节点(母线)编号。r、x和b用来设置该支路的电阻、电抗和充电电纳。rateA、rateB和rate(;分别用来设置该支路长期、短期和紧急允许功率。ratio用来设置该支路的变比,如果支路元件仅仅是导线为O;如果支路元件为变压器,则该变比为fl,us侧母线的基准电压与thus侧母线的基准电压之比。angle用来设置支路的相位角度,如果支路元件为变压器,就是变压器的转角;如果支路元件不是变压器,相位角度为0度。status用来设置支路工作状态,1表示投入运行,0表示退出运行。gen变量也是一个矩阵,用来设置接入电网中的发电机(电源)参数,其格式为:bus、魄、Qg、Qmax、Qmin、Vg、mBase、status、Pmax、Pmin。bus用来设置接人发电机(电源)的母线编号。Pg和Qg用来设置接人发电机(电源)的有功和无功功率。Pmax和Pmin用来设置接入发电机(电源)的有功功率最大、最小允许值。9max和Qmin用来设置接入发电机(电源)的无功功率最大、最小允许值。Vg用来设置接人发电机(电源)的工作电压。mBase用来设置接入发电机(电源)的功率基准,如为缺省值,就是base~lVA变量的值。status用来设置发电机(电源)工作状态,l表示投入运行,0表示退出运行。MATPOWER电力潮流和最优潮流电力潮流•MATPOWER拥有5种潮流计算方法,他们可以通过runpf来调用。除了可以输出到屏幕之外(作为默认方式),runpf还可以有以下的返回选项可以选择参数来输出解:[baseMVA,bus,gen,branch,success,et]=runpf(casename);•这些解的值被存储在以下的结果中:•bus(:,VM)busvoltagemagnitudes(母线电压幅值)•bus(:,VA)busvoltageangles(母线电压相角)•gen(:,PG)generatorrealpowerinjections(发电机有功输入)•gen(:,QG)generatorreactivepowerinjections(发电机无功输入)•branch(:,PF)realpowerinjectedinto“from”endofbranch(支路首端的有功输入)•branch(:,PT)realpowerinjectedinto“to”endofbranch(支路末端的有功输入)branch(:,QF)reactivepowerinjectedinto“from”endofbranch(支路首端的无功输入)branch(:,QT)reactivepowerinjectedinto“to”endofbranch(支路末端的无功输入)•success1=solvedsuccessfully,0=unabletosolve(1表示计算成功,0表示失败)•etcomputationtimerequiredforsolution(计算所用时间)•默认的潮流计算方法是标准的潮流法[12],采用全雅克比矩阵,迭代求解。这种方法在许多文教科书中都有提到。法则2和法则3是改进型快速解耦算法[10].MATPOWER采用XB和BX变换,参见文献[1].法则4是标准的高斯-赛德尔方法[5],基于意大利Bologna大学的AlbertoBorhetti的贡献的代码开发。要使用出默认的牛顿法之外的其他算法,PF_ALG选项必须正确的设置。比如说,要使用XB快速解耦算法:•mpopt=mpoption('PF_ALG',2);•runpf(casename,mpopt);最后一种算法是直流潮流算法[13],它的使用是通过设置PF_DC为1,运行runpf而进行的,或者直接使用rundcpf。直流潮流的计算是通过直接的不迭代的的方法解母线电压相角和指定母线的有功注入获得,基于方程2,3和4。对于交流潮流解法,如果ENFORCE_Q_LIMS选项被设为true(默认为false),并且运行过程中有任何发电机组的无功越限,相应的母线被转换为PQ母线(节点),将无功出力设定在限制值,并且案例重新计算。该母线的电压幅值为满足无功限制的要求将偏离指定值。如果参考母线(节点)的有功出力达到限制值,该节点将自动转化为PQ母线(节点),在下一轮迭代中第一个依然存在的PV母线(节点)将被当作松弛母线(节点),这将导致该母线(节点)的机组有功出力稍微偏离指定值•通常,没有MATPOWER的潮流解法中不包含变压器分接头的改变或者操作,或者部分系统从网络中解列等。潮流计算的解法,除了高斯-赛德尔法之外,都可以很好的解决甚至是大规模网络,因为这些算法和计算充分利用了MATLAB的内部稀疏矩阵处理•最优潮流•MATPOWER提供多种解算最优潮流问题(OPF)的方法,可以通过访问函数runopf的方法实现。除了提供将计算结果输出到屏幕之外(默认),runopf函数还可以通过设置以下的参数返回解到其他地方。[baseMVA,bus,gen,gencost,branch,f,success,et]=runopf(casename);四、MATPOWER在潮流计算上的应用在进行潮流计算之前,首先要将电网的各种参数携程MATPOWER所用的数据文件格式。一般采用的数据文件格式有以下两种:(1)version1格式。数据文件中的电网各种参数采用baseMVA、bus、branch、gen、等变量来定义和返回。(2)version2格式。每一个电网用变量名为“mpc”的结构体来定义,结构体mpc的不同字段用baseMVA、bus、branch、gen等来定义和返回电网的具体参数。用version2格式编写数据文件清单,我们采用的是一个2机组5个节点的电力网络,系统图如下:仿真分析:因为设计采用version2格式,每个电网用变量名为”mpc“的结构体来定义,根据下列数据利用MATPOWE进行编程,以下为对实例进行编程MATPOWER潮流仿真计算程序的M文件:functionmpc=case5_01%MATPOWERCaseFormat:Version2mpc.Version='2';%%-----PowerFlowData-----%%%%systemMVAbasempc.baseMVA=100;functionmpc=case5_01%MATPOWERCaseFormat:Version2mpc.Version='2';%%-----PowerFlowData-----%%%%systemMVAbasempc.baseMVA=100;%busdata%bus_itypePdQdGsBsareaVmVabaseKVzoneVmaxVminmpc.bus=[11160800011010011.10.94;212001000011010011.10.94;313701301300011010011.10.94;42000011.05010011.10.94;53000011.05010011.10.94;];%%generatordata%busPgQgQmaxQminVgmBasestatusPmaxPminmpc.gen=[450009990-99991.0510016000;5009990-99991.0510016000;];%%branchdata%fbustbusrxbrateArateBrateCratioanglestatusangminangmaxmpc.branch=[210.040.250.5000001-360360;310.10.350000001-360360;230.080.30.5000001-360360;3500.0300001.0501-360360;2400.01500001.0501-360360;];Return;仿真计算结果截图:五、Powergui在简单电力系统潮流计算中的应用同样我们以2机组5个节点电力系统