资源描述
电力系统分析课程设计
电力系统短路故障计算机
算法程序设计
姓 名____刘佳琪___
学 号_409436__
班 级__4094___
指导老师___鲁明芳____
目录
1 目标和原理 ……………………………………………………………………………1
1.2 相关电力系统短路故障计算机算法程序设计目标 ……………………………1
1.2 设计原理 ……………………………………………………………………………1
1.2.1计算机计算原理 ………………………………………………………………1
1.2.2电力系统短路计算计算机算法 ………………………………………………2
2 计算机编程环境及编程语言选择 ………………………………………………2
2.1 优势特点 ……………………………………………………………………………2
2.1.1编程环境 ………………………………………………………………………3
2.1.2简单易用 ………………………………………………………………………3
2.1.3强处理能力 ……………………………………………………………………3
2.1.4图形处理 ………………………………………………………………………3
2.1.5模块集和工具箱 ………………………………………………………………4
2.1.6程序接口 ………………………………………………………………………4
2.1.7应用软件开发 …………………………………………………………………4
3 对称故障计算机算法 ……………………………………………………………5
3.1 用阻抗矩阵计算三相短路电流 …………………………………………………7
3.2 用节点导纳矩阵计算三相短路电流 ………………………………………………9
4 附录 程序清单 ………………………………………………………………………14
4.1 形成节点导纳矩阵 ………………………………………………………………14
4.2 形成节点阻抗矩阵 ………………………………………………………………15
4.2 对称故障计算 …………………………………………………………………17
1 目标和原理
1.1 相关电力系统短路故障计算机算法程序设计目标
电力系统正常运行破坏多半是因为短路故障引发,发生短路时,系统从一个状态剧变成另一个状态,并伴随复杂暂态现象。所谓短路故障,是指一切不正常相和相之间或相和地发生通路情况。
本文依据电力系统三相对称短路特点,建立了合理三相短路数学模型,在此基础上, 形成电力系统短路电流实用计算方法;节点阻抗矩阵支路追加法。编制了对任意一个电力系统在任意点发生短路故障时三相短路电流及其分布通用计算程序,该措施适适用于多种复杂结构电力系统。从一个侧面展示了计算机应用于电力系统宽广前景。
依据所给电力系统,编制短路电流计算程序,经过计算机进行调试,最终完成一个切实可行电力系统计算应用程序。经过自己设计电力系统计算程序使同学对电力系统分析有深入了解,同时加强计算机实际应用能力训练。
电力系统短路故障是严重,而又是发生几率最多故障,通常说来,最严重短路是三相短路。当发生短路时, 其短路电流可达数万安以至十几万安,它们所产生热效应和电动力效应将使电气设备遭受严重破环。为此,当发生短路时,继电保护装置必需快速切除故障线路,以避免故障部分继续遭受危害,并使非故障部分从不正常运行情况下解脱出来,这要求电气设备必需有足够 机械强度和热稳定度,开关电气设备必需含有足够开断能力,即必需经得起可能最大短路侵扰而不致损坏。所以,电力系统短路电流计算是电力系统运行分析,设计计算关键步骤,很多电业设计单位和个人倾注极大精力从事这一工作研究。因为电力系统结构复杂,伴随生产发展,技术进步系统日趋扩大和复杂化,短路电流计算工作量也随之增大,采取计算机辅助计算势在并行。
1.2 设计原理
1.2.1 计算机计算原理
应用计算机进行电力系统计算,首先要掌握电力系统对应计算数学模型;其次是利用合理计算方法;第三则是选择适宜计算机语言编制计算程序。
建立电力系统计算相关数学模型,就是建立用于描述电力系统对应计算相关参数间相互关系数学方程式。该数学模型建立往往要突出问题关键方,即考虑影响问题关键原因,而忽略部分次要原因,使数学模型既能正确地反应实际问题,又使计算不过于复杂。
利用合理计算方法,就是要求所选择计算方法能快速正确地得出正确结果,同时还应要求在解算过程中占用内存少,以利于提升计算机解题规模。
选择适宜语言编写程序,就是首先确定用什么计算机语言来编制程序;其次是做出计算步骤图;第三依据步骤图用选择语言编写计算程序。然后上机调试,直到语法上无错误。
所编制程序难免存在逻辑错误。所以先用一个已知结果系统作为例题进行计算。用程序计算结果和已知结果相比较,假如结果相差甚远就要逐步分析程序计算步骤,查出问题出处;假如结果比较靠近,则逐步分析误差起源;直到结果正确为止。
最终将所编制出正确计算程序,用于电力系统实际计算。
1.2.2 电力系统短路计算计算机算法
通常在电力系统短路计算中,多数情况下只要计算短路电流、电压周期分量起始值。所以,电力系统短路电流计算数学模型,可归结为求解短路故障初始状态下等值电路稳态解问题。对于三相对称短路,可建立一相等值电路计算模型,对于不对称短路,则可应用对称分量法建立系统正、负、零序网络,从而建立故障计算序网络模型。
2 计算机编程环境及编程语言选择
本课程设计采取数学建模软件MATLABa为关键设计工具。
MATLAB能够进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言程序等,关键应用于工程计算、控制设计、信号处理和通讯、图像处理、信号检测、金融建模设计和分析等领域。
MATLAB基础数据单位是矩阵,它指令表示式和数学、工程中常见形式十分相同,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同事情简捷得多,而且MATLAB也吸收了像Maple等软件优点,使MATLAB成为一个强大数学软件。在新版本中也加入了对C,FORTRAN,C++,JAVA支持。
2.1 优势特点
1) 高效数值计算及符号计算功效,能使用户从繁杂数学运算分析中解脱出来;
2) 含有完备图形处理功效,实现计算结果和编程可视化;
3) 友好用户界面及靠近数学表示式自然化语言,使学者易于学习和掌握;
4) 功效丰富应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用处理工具。
2.1.1 编程环境
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB函数和文件,其中很多工具采取是图形用户界面。包含MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件浏览器。伴随MATLAB商业化和软件本身不停升级,MATLAB用户界面也越来越精巧,愈加靠近Windows标准界面,人机交互性更强,操作更简单。而且新版本MATLAB提供了完整联机查询、帮助系统,极大方便了用户使用。简单编程环境提供了比较完备调试系统,程序无须经过编译就能够直接运行,而且能够立即地汇报出现错误及进行犯错原因分析。
2.1.2 简单易用
MATLAB是一个高级矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户能够在命令窗口中将输入语句和实施命令同时,也能够先编写好一个较大复杂应用程序(M文件)后再一起运行。新版本MATLAB语言是基于最为流行C++语言基础上,所以语法特征和C++语言极为相同,而且愈加简单,愈加符合科技人员对数学表示式书写格式。使之更利于非计算机专业科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域关键原因。
2.1.3 强处理能力
MATLAB是一个包含大量计算算法集合。其拥有600多个工程中要用到数学运算函数,能够方便实现用户所需多种计算功效。函数中所使用算法全部是科研和工程计算中最新研究结果,而且经过了多种优化和容错处理。在通常情况下,能够用它来替换底层编程语言,如C和C++ 。在计算要求相同情况下,使用MATLAB编程工作量会大大降低。MATLAB这些函数集包含从最简单最基础函数到诸如矩阵,特征向量、快速傅立叶变换复杂函数。函数所能处理问题其大致包含矩阵运算和线性方程组求解、微分方程及偏微分方程组求解、符号运算、傅立叶变换和数据统计分析、工程中优化问题、稀疏矩阵运算、复数多种运算、三角函数和其它初等数学运算、多维数组操作和建模动态仿真等。
2.1.4 图形处理
MATLAB自产生之日起就含有方便数据可视化功效,以将向量和矩阵用图形表现出来,而且能够对图形进行标注和打印。高层次作图包含二维和三维可视化、图象处理、动画和表示式作图。可用于科学计算和工程绘图。新版本MATLAB对整个图形处理功效作了很大改善和完善,使它不仅在通常数据可视化软件全部含有功效(比如二维曲线和三维曲面绘制和处理等)方面愈加完善,而且对于部分其它软件所没有功效(例图形光照处理、色度处理和四维数据表现等),MATLAB一样表现了出色处理能力。同时对部分特殊可视化要求,例图形对话等,MATLAB也有对应功效函数,确保了用户不一样层次要求。另外新版本MATLAB还着重在图形用户界面(GUI)制作上作了很大改善,对这方面有特殊要求用户也能够得到满足。
2.1.5 模块集和工具箱
MATLAB对很多专门领域全部开发了功效强大模块集和工具箱。通常来说,它们全部是由特定领域教授开发,用户能够直接使用工具箱学习、应用和评定不一样方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型估计、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP和通讯、电力系统仿真等,全部在工具箱(Toolbox)家族中有了自己一席之地。
2.1.6 程序接口
新版本MATLAB能够利用MATLAB编译器和C/C++数学库和图形库,将自己MATLAB程序自动转换为独立于MATLAB运行C和C++代码。许可用户编写能够和MATLAB进行交互C或C++语言程序。另外,MATLAB网页服务程序还许可在Web应用中使用自己MATLAB数学和图形程序。MATLAB一个关键特色就是含有一套程序扩展系统和一组称之为工具箱特殊应用子程序。工具箱是MATLAB函数子程序库,每一个工具箱全部是为某一类学科专业和应用而定制,关键包含信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面应用。
2.1.7 应用软件开发
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中止等;在图形化方面,有了更强大图形标注和处理功效,包含对性对起连接注释等;在输入输出方面,能够直接向Excel和HDF5进行连接。
3 对称故障计算机算法
对称故障是指三相短路故障。
这里首先经过一个简单例子进行说明。
右图(a)所表示电力系统有三
条母线,标为①②③,其等值
电路图(b)所表示,图中xc1、
xc2、xc3代表和该母线连接
输电线容抗总和,ZL代表母
线③负荷阻抗,Zf代表故障
阻抗,故障发生在母线③。图
(b)也可简化为图(c)所表示,是
一个有三个节点有源网络,
U1、U2、U3是节点电压,
I1、I2、I3是节点注入电
流,故障阻抗Zf是外加到
节点③三相对称阻抗,
当Zf = 0时,代表三相直
接短路。右图(c)也能够看成是有
三个端口有源网络,每个节点
和零电位点组成一个端口,按叠
加定理能够经过阻抗型参数方程
或导纳型参数方程来表示其电压
和电流关系。以下分别进行叙
述。
图3.1 电力系统接线网络及简化网络
3.1 用阻抗矩阵计算三相短路电流
图16.2(c)网络阻抗型参数方程以下:
(3.1)
式中, U1(0)、U2(0)、U3(0)为各节点开路电压(也即注入电流I1 = I2 = I3 = 0时各节点电压),开路电压可由正常运行时尚计算求得。近似计算中,则设各节点开路电压标幺值为1.0。阻抗矩阵中各元素Z11、Z12、Z13、等,为各节点自阻抗和各节点之间互阻抗,据自、互阻抗物理意义能够确定其数值以下:
其它类推。
当在节点③发生三相故障时,相当于在节点③接上故障阻抗Zf,流过Zf故障电流If,其参考方向图16.2(c)所表示,其它节点没有外接电路,所以其注入电流为零,所以节点③故障时边界条件是
(3.2)
将公式(3.1)和(3.2)联立求解,得
(3.3)
公式(3.3)就是计算故障电流数学模型。当Zf给定时,只要知道故障点开路电压U3(0)和自阻抗Z33就能够算出If。求出If后代入公式(3.1)可求得各节点电压为
将上述关系推广到有n个节点电力系统,则其阻抗型参数方程为
(3.4)
设在节点k发生三相故障,故障阻抗为Zf时,其边界条件
(3.5)
联立求解式(3.4)和(3.5),得
(3.6)
故障电流求出后,代入式(3.4)求出各节点电压
(3.7)
各节点电压求得后,可按下式求各支路电流
(3.8)
式中,Zij为连接节点i和节点j支路阻抗。在略去输电线电容电流条件下,支路电流也就是输电线电流。
公式(3.6)、(3.7)、(3.8)就是计算三相故障基础数学模型,从式中看到当Zf给定后,只需知道节点开路电压Uk(0)和阻抗矩阵中元素Zij,就能够求出需要结果。节点开路电压能够由正常时尚计算得出,阻抗矩阵中全部元素能够用支路追加法求得。当这些量全部已求出并储存于计算机中,计算短路电流工作就很简单。要计算任一节点短路电流和电压、电流分布时,只要按上述公式编好程序,取出相关开路电压,相关自阻抗、互阻抗进行计算便可。通常利用支路追加法可直接形成节点阻抗矩阵。
3.2 用节点导纳矩阵计算三相短路电流
导纳矩阵易于形成,而且是稀疏矩阵,所以占用计算机内存容量少,所以常利用导纳矩阵来计算短路电流。直接利用导纳矩阵元素来计算并不方便,实际做法是利用已知导纳矩阵来求出阻抗矩阵中相关元素,然后仍然利用前述公式(3.6)、(3.7)、(3.8)来进行计算。
一个网络导纳矩阵和其阻抗矩阵存在互为逆矩阵关系,所以一个方法是将导纳矩阵直接求逆,得出阻抗矩阵。但当矩阵阶数大时这么做计算量大,所以常见下面方法。
当计算k点短路电流时,从公式(3.6)、(3.7)、(3.8)看到所需阻抗矩阵元素是Z1k, Z2k,…,Zkk,…,Znk,而按定义
当Ik = 1时,Zik=Ui,也就是在k点注入单位电流,而其它节点注人电流全部为零时,则节点k电压值就等于其自阻抗Zkk,其它各节点电压值就等于各节点和节点k之间互阻抗Zik。所以只要在计算机上进行下面一次线性方程组求解,就能够算出各节点电压值
(3.9)
解出各点电压值就等于所需阻抗值
(3.10)
图3.2给出了三相短路计算原理框图。
例3.1 图3.3所表示网络,母线③发
生三相直接短路,试作下列计算:
(1)母线③故障电流。(2)故障后母
线1、2电压。各元件参数以下:
发电机 G1,100MV·A;G2,200MV·A。
额定电压均为10.5 kV,次暂态电抗xd''*均
为0.2。
变压器 T1,100MV·A;T2,200MV·A。
变比均为10.5kV/115kV,短路电压百分数
均为10。
电力线路 三条电力线路(L1、L2、L3)
参数均为115kV,60km,电抗x1=0.44Ω/km, 图3.2 三相短路计算原理框图
电容C1=0.008×10-6 F/km。
负荷 LD1,50MW, cosφ=0.985;LD2,100MW, cosφ=1。
解:元件参数标幺值注于简化等值电路网络图3.4中(元件参数计算、网络简化略),首先据图16.4电路所表示,形成节点导纳矩阵。
图3.3 例3.1图 图3.4 例3.1简化等值电路
网络节点导纳矩阵为
然后,对YB求逆或解线性方程组,得节点阻抗矩阵为
③点短路电流为
节点①、②电压为
例3.2 图3.5所表示电力系统,负荷全部略去,简化后各电抗标幺值注于等值网络中。试计算f点三相短路时短路电流及网络中电流分布。
解题步骤:
(1)请输入短路点数目NF
(2)请输入节点数n
(3)请输入支路数nl
(4)输入各支路参数矩阵B
矩阵B每行是由下列参数组成:
①某支路首端号p;
②末端号q,且p<q;
③支路阻抗(R+jX);
④支路对地电纳;
⑤支路变比K;
⑥折算到哪一侧标志(假如支路首端p处于高压侧则请输入“1”,不然请输入“0”)。
(5)输入由短路点号,短路点阻抗形成矩阵D
(6)请输入由各节点初电压标幺值形成列矩阵V0
(7)形成节点阻抗矩阵Z
(8)求短路点电流
(9)求网络中各节点电压
(10)求网络中各支路电流
解:输入数据:
请输入短路点数目:NF=1
请输入节点数:n=4
请输入支路数:nl=5
请输入由线路参数形成矩阵:B=[0 1 0.2i 0 1 0; 0 2 4i 0 1 0; 1 3 0.51i 0 1 0; 2 3 0.59i 0 1 0; 3 4 1.43i 0 1 0]
请输入由各节点初电压标幺值形成列矩阵:V0=[1;1;1;1]
请输入由短路号,短路点阻抗组成矩阵D=[4, 0]
结果:
4点短路时电流标幺值If=
0 – 0.4890i
各节点电压标幺值U(节点号从小到大排)为:
0.9153
0.7380
0.6993
0
各支路短路电流标幺值I(次序同您输入B时一样)为:
0 + 4.5765i
0 + 0.1845i
0 – 0.4235i
0 – 0.0655i
0 – 0.4890i
4 附录 程序清单
4.1 形成节点导纳矩阵
%本程序是形成节点导纳矩阵
n=input('请输入节点数:n=');
nl=input('请输入支路数:nl=');
B=input('请输入由支路参数形成矩阵:B=');
X=input('请输入由节点号及其对地阻抗形成矩阵:X=');
Y=zeros(n);
for i=1:n
if X(i,2)~=0;
p=X(i,1);
Y(p,p)=1./X(i,2);
end
end
for i=1:nl
if B(i,6)==0
p=B(i,1);q=B(i,2);
else
p=B(i,2);q=B(i,1);
end
Y(p,q)=Y(p,q)-1./(B(i,3)*B(i,5));
Y(q,p)=Y(p,q);
Y(q,q)=Y(q,q)+1./(B(i,3)*B(i,5)^2)+B(i,4)./2;
Y(p,p)=Y(p,p)+1./B(i,3)+B(i,4)./2;
end
disp('导纳矩阵Y=');
disp(Y)
4.2 形成节点阻抗矩阵
%本程序是用支路追加法形成节点阻抗矩阵
n=input('请输入节点数:n=');
nl=input('请输入支路数:nl=');
B=input('请输入由支路参数形成矩阵:B=');
m=0;Z=zeros(n);
for k1=1:nl
p=B(k1,1);q=B(k1,2);
if B(k1,6)==0
l=1./B(k1,5);
elsel=B(k1,5);
end
if p==0
if q>m %追加接地树枝
Z(q,q)=B(k1,3);m=m+1;
else %追加接地连支
for k=1:m,
Z(k,m+1)=-Z(k,q);Z(m+1,k)=-Z(q,k);
end
Z(m+1,m+1)=Z(q,q)+B(k1,3);
for l1=1:m
for k=1:m
Z(l1,k)=Z(l1,k)-Z(l1,m+1)*Z(m+1,k)./Z(m+1,m+1);
end
Z(l1,m+1)=0;
end
for k=1:m+1
Z(m+1,k)=0
end
end
else if q>m %追加不接地树枝
for k=1:m
Z(k,q)=Z(k,p)*l;Z(q,k)=Z(p,k)*l;
end
Z(q,q)=l^2*Z(p,p)+l^2*B(k1,3);
m=m+1;
else
for k=1:m %追加不接地连支
Z(k,m+1)=l*Z(k,p)-Z(k,q);
Z(m+1,k)=l*Z(p,k)-Z(q,k);
end
Z(m+1,m+1)=l^2*Z(p,p)+Z(q,q)-2*l*Z(p,q)+l^2*B(k1,3);
for l1=1:m
for k=1:m
Z(l1,k)=Z(l1,k)-Z(l1,m+1)*Z(m+1,k)./Z(m+1,m+1);
end
Z(l1,m+1)=0;
end
for k=1:m+1
Z(m+1,k)=0;
end
end
end
end
disp('阻抗矩阵Z=');
disp(Z)
4.3 对称故障计算
%本程序是计算三相短路短路电流、各节点电压、各支路电流
NF=input('请输入短路点数目:NF=');
n=input('请输入独立节点数:n=');
nl=input('请输入支路数:nl=');
B=input('请输入由线路参数形成矩阵:B=');
V0=input('请输入由各节点初电压标幺值形成列矩阵:V0=');
D=input('请输入由短路号、短路点阻抗组成矩阵:D=');
m=0;Z=zeros(n);V=zeros(n);I=zeros(nl);
for k1=1:nl
p=B(k1,1);q=B(k1,2);
if B(k1,6)==0
k=1./B(k1,5);
else k=B(k1,5);
end
if p==0
if q>m %追加接地树枝
Z(q,q)=B(k1,3);m=m+1;
else %追加接地连支
for i=1:m,
Z(i,m+1)=-Z(i,q);Z(m+1,i)=-Z(q,i);
end
Z(m+1,m+1)=Z(q,q)+B(k1,3);
for i=1:m
for j=1:m
Z(i,j)=Z(i,j)-Z(i,m+1)*Z(m+1,j)./Z(m+1,m+1);
end
Z(i,m+1)=0;
end
for i=1:m+1
Z(m+1,i)=0;
end
end
else if q>m %追加不接地树支
for i=1:m
Z(i,q)=Z(i,p)*k;Z(q,i)=Z(p,i)*k;
end
Z(q,q)=k^2*Z(p,p)+k^2*B(k1,3);
m=m+1;
else
for i=1:m %追加不接地连支
Z(i,m+1)=k*Z(i,p)-Z(i,q);
Z(m+1,i)=k*Z(p,i)-Z(q,i);
end
Z(m+1,m+1)=k^2*Z(p,p)+Z(q,q)-2*k*Z(p,q)+k^2*B(k1,3);
for i=1:m
for j=1:m
Z(i,j)=Z(i,j)-Z(i,m+1)*Z(m+1,j)./Z(m+1,m+1);
end
Z(i,m+1)=0;
end
for i=1:m+1
Z(m+1,i)=0;
end
end
end
end
for k=1:NF %求各短路点电流标幺值
I(D(k,1),D(k,1))=V0(D(k,1),1)./(Z(D(k,1),D(k,1))+D(k,2));
ft=num2str(D(k,1));
ts1=('点短路时');
ts2=('电流标幺值If=');
dn=strcat(ft,ts1,ts2);
disp(dn);
disp(I(D(k,1),D(k,1)));
for i=1:n
V(i,i)=V0(i,1)-I(D(k,1),D(k,1))*Z(i,D(k,1)); %求各节点电压标
end
end
展开阅读全文