电力系统潮流计算的计算机程序设计
2021-08-18宋天祥
宋天祥
(重庆湘渝盐化股份有限公司,重庆 万州 404000)
电能在现代社会发展中发挥着越来越重要的作用,稳定可靠的电能供应是当代社会和生活中必不可少的因素。电力系统潮流计算是分析电力系统运行方式的三大基本计算之一,也是短路和稳定计算的基础,是研究电网规划和运行的基本工具。但是电力潮流计算过程十分繁琐,在当前计算机技术发展的背景下,如何利用计算机辅助计算复杂电力系统潮流问题成为当前学术界关注的热点问题。因此,在研究工作中进行潮流计算和相关运算分析,具有一定的迫切性。基于此,本文在MATLAB技术支持下对电力系统潮流计算的相关程序进行设计研究,以期能够为电力系统的运行提供支持。
1 电力系统潮流计算基本概念
随着社会的发展,能源成为当前社会进步和技术应用的关键,电能作为一种洁净能源,能够通过多种绿色方式产生,比如风能发电、水能发电等技术。这些资源的运用具有一定的地域性,如何将电能传输至用电区是解决电力分配的重要工作。电能的传输一直都是电力事业发展的重要领域,提高发电和输电的效率是必要的,特别是在输电过程中损耗较大,使得大量的资源和能源被无情地消耗掉。对电力系统中用电效率的提升,成为了当今科学家们所要研究的最为急切的问题。在电力系统正常运行过程中,系统中从电源到负荷各节点的电压、电流的大小和方向以及功率的稳态分布,这个过程称为电力系统的潮流分布,电力系统的潮流分配过程中,每一条线路、每一条母线所分得的功率是多少,这个过程叫做潮流计算过程。因此本文的研究对于电力系统的安全运营与维护具有重要参考意义。
2 潮流计算的基本方法
潮流计算的计算方法有很多,现阶段比较成熟的方法是牛顿拉夫逊法、前推回代法和最小功率法等,在牛顿拉夫逊法的基础上,通过简化有功功率和频率,无功功率和电压的对应关系提出了PQ分解法等。在人工智能算法逐渐发展的今天,也有很多人工智能的黑箱方法用来潮流计算,但人工智能方法进行潮流计算准确度不高,在实际运行中,需要准确度较高的潮流计算方法。
2.1 高斯-塞德尔原理
在潮流研究中,首先必须解出非线性方程,对于每个节点有两个未知变量。用高斯-赛德尔法(Gauss-Seidel Power Flow Solution)求解Vi,改写为式(1-1)
(1-1)
(1-2)
上述的公式包括输电线路和接地之间产生的电导和电纳。因为平衡节点在实际运行过程中和潮流计算过程中是给定电压幅值和电压相角参数的,因此,平衡节点规定的标幺值幅值为1,相角为0,他是属于在潮流计算中的参考节点。在潮流计算实际运行的过程中,各个功率节点的实际功率大小要高于参考值,它们的相位要滞后于参考值功率节点电压和相角的具体大小,取决于负荷的功率需求。并且与实际的运行状态相关。
2.2 PQ分解法基本原理
计算潮流的PQ分解法。根据牛顿法对潮流程序进行改进和简化的基础上,提出了PQ分解法(又称改进牛顿法)。它的主要思想是节点功率表示为一个方程在极坐标下的电压矢量,理解基本矛盾,有功功率误差作为电压矢量角校正的基础,和无功功率误差作为电压振幅校正的基础。有功功率和无功功率是分离迭代。对于PQ解法下的方程式如下式:
(1-3)
(1-4)
上述方程式是PQ解法的简化形式,式中的V是电力系统中的节点电压幅值,表示为一种对角矩阵形式。B′与B″之间有着阶数的差异性,具体表现为B′为n-1阶,则B″为 为了保持该方程式的收敛性,一般情况下将电力系统的导纳矩阵为虚部,对此,在进行计算过程中一般采用以下形式进行: 忽略输电线路充电容量以及充电电容对输电线路整体参数的影响。公式进行相应的变换如下所示: (1-5) 式中V0为系统平均电压。此外在程序中可以用导纳矩阵中元素的虚部作为B′。快速分解法所建立的前提,是对原有的电力系统模型进行极限简化和理想状态简化的方法基础上进行的,实际的元件中电阻和电抗的大小,没有办法达到原来的假定情况,因此会造成系统在运算过程中迭代出现问题。 牛顿迭代法是取x0,在此基础上,求出比x0更接近的方程的解,通常情况下,负载功率应用于每个总线是已知的,但每个节点的电压是未知的(平衡节点除外)。根据网络结构可以形成一个节点的电导矩阵,然后显示出该节点的电导矩阵。通过电导矩阵和功率方程,可以将原始的问题转化成对于非线性问题的求解,可以采用牛顿拉夫逊高斯方法,即通过每一节点的斜率作切线与横轴相交的点,所对应的纵坐标为下一个球节点,通过一次又一次的迭代更新,分别在每一次迭代过程中形成初始值,将初始值代入功率方程进行不断修正,经过三次到四次便可以得到所需要的求解值。 设节点总数为n,PV节点数为r,则潮流应包含n-1个有功方程和n-r-1个无功方程。 牛顿法的修正方程式为: (1-6) 设n维非线性方程组为 (1-7) 求解得到修正量,并对各变量修正得 (1-8) 很容易看到,修改后的雅可比矩阵方程的系数矩阵具有以下特点: 1)相量矩阵为矢量矩阵; 2)求解矩阵具有不对称性; 3)雅可比矩阵在拓扑学意义上具有稀疏性。 牛顿法的图形解释如图1所示。 图1 牛顿拉夫孙法图形解释 现在把牛顿法推广到多变量非线性方程组的情况。设有变量的非线性联立方程组: (1-9) (1-10) 一般第k次迭代时的修正方程式为: (1-11) 上式可以简写为:F(X(k))=J(k)ΔX(k)。 从几何意义上说,牛顿法就是切线法,是一种逐渐线性化的方法。 MATLAB起源于美国科学家Cleve Moler博士在线性代数教学领域的早期工作。当他在新墨西哥大学教授线性代数课程时,他构想并开发了MATLAB软件,并在20世纪80年代早期由Mathworks公司销售。它的出现开创了科学计算的新时代。它是由Math Works开发的一款商用数学软件,Math Works是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互环境,主要包括MATLAB和Simulink。 MATLAB脚本节点是实现试验室视图和MATLAB之间互联的桥梁。它是通过一个嵌入式的Active X控件通过Lab VIEW安装的,与MATLAB服务器建立连接,与数据交互,通过调用命令和函数实现复杂而庞大的数值计算。MATLAB分析过程,使用MATLAB脚本节点的方法如下:在虚拟仪器功能面板,选择数学>脚本和公式>脚本节点>MATLAB脚本,您可以添加一个MATLAB脚本节点的流程图的左派和右派MATLAB脚本节点的各种类型的输入或输出参数可以单独添加相应的配置。 MATLAB的功率分布编程过程是这样的,首先在你点击开始运行按钮时,你所编写的程序以字符转换的形式转换成为一系列的字符串,通过字符串发送给脚本文件进行执行脚本文件,通过所规定的算法和计算流程求解非线性方程来计算每一个节点的有功功率、无功功率和电压相角等,耗时的计算和其它输出功率流分布条件和数据分析。vi对节点的输出参数进行处理,并在软件操作界面中显示。计算完成后,将出现计算完成对话框,同时使用Unset Busy.vi移动鼠标指针。未配置为忙。当需要保存计算结果时,单击save data按钮,程序将计算结果保存为Excel文件。 为了保障在MATLAB环境下系统能够保持较高的计算速度,可以对计算方程进行矢量化。这样可以是计算过程更加简单,并且程序编写也比较方便。以PQ分解法为核心的潮流计算方程如下式所示: (3-1) 式中Pi,Qi,Gij,Bij,δij分别为节点i处的有功,无功,电压幅值,i、j节点间导纳矩阵实部、虚部,i、j节点间相角差。修正方程表示为: (3-2) (3-3) 在这种潮流计算过程中,通过对矩阵的虚部进行计算,得到B′。B′在矩阵中的节点元素为0,对角元一般情况为1;方程中的B″则为矩阵的平衡节点,其对角元同样为1,行和列元素为0。方程在n×n对称矩阵中,同时将ΔP和ΔQ进行同样的运算和处理。 ΔP和ΔQ为列向量,ΔP将平衡节点对应行置0,ΔQ则将平衡节点和PV节点对应行置0。由于节点功率可表示为: Si=Pi+jQi (3-4) 取上式实部和虚部即可方便的得到ΔPi,ΔQi, 则(3-1)式可以矢量化表示为: S=V*(Y*V) (3-5) ΔP=P-Re(S) (3-6) ΔQ=Q-Im(S) (3-7) 其中:.*表示向量与向量间对应元素相乘;Y,V分别表示导纳矩阵、电压矢量的共轭;S代表节点功率。MATLAB代码如下: S=V.*(conj(Y*V)) dP=P-real(S) dQ=Q-imag(S) 通过MATLAB代码我们也不难发现,其与潮流计算的形式十分类似,这样的编写形式能够有效的提高编码的编写速度,并且符合程序的计算效率。 利用MATLAB Script节点,使用PQ速解法求解电力系统潮流分布的MATLAB程序流程图见图2。 图2 基于MATLAB的求解流程 电力系统潮流计算方法经过不断改进,正在逐步改进。每种方法都有其各自的应用领域和缺点。对于不同的情况,我们必须选择合适的方法或者结合多种方法来更好的解决问题。当然,在实际应用中也会出现计算结果不收敛的情况。功率通量计算的求解方法还需要进一步的研究和改进。本文通过推导一个公式,可以根据目标对象的基数方程对迭代公式进行设置和更新,从而避免了复杂的微分过程,得到了一个适合于编制MATLAB程序的迭代公式。潮流计算是电力系统分析中最基本的电气计算方法之一。本文编写了一个基于PQ分解法的潮流计算程序,讨论了如何利用MATLAB指令的功能快速创建迭代公式,进一步提高程序开发效率。最后给出了MATLAB的设计思想和方法。 本文研究中受到时间和精力限制,仅仅将PQ分解法利用MATLAB技术进行仿真实现,未能对牛顿-拉夫逊以及高斯-赛德尔两种算法进行研究和实现MATLAB程序的编写,在以后研究中,要对这三种算法下的程序进行设计与实现,并对比三种算法下的计算结果,得出最优的潮流计算方式,为电力系统的维护提供支持。2.3 牛顿-拉夫逊原理
3 基于Matlab的潮流计算程序设计
3.1 MATLAB简介
3.2 MATLAB Script节点技术
3.3 MATLAB编程实例
3.4 潮流公式矢量化
3.5 MATLAB编程算法
4 结 语