电力系统短路故障分析的MATLAB辅助程序设计短路计算程序(共28页).docx
《电力系统短路故障分析的MATLAB辅助程序设计短路计算程序(共28页).docx》由会员分享,可在线阅读,更多相关《电力系统短路故障分析的MATLAB辅助程序设计短路计算程序(共28页).docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上电力系统短路故障分析的MATLAB辅助程序设计电力系统短路故障可分为三相对称短路故障(three-phase balanced faults)和不对称短路故障(unbalanced faults )。不对称短路故障又分为单相接地短路故障(single line-to-ground fault)、两相短路故障 (line-to-line fault)以及两相接地短路故障(double line-to-ground fault)。根据故障分析结果可以对继电保护装置、自动装置进行整定计算,我们可以建立算法来形成节点阻抗矩阵,利用节点阻抗矩阵来计算短路故障情况下的节点电压和线
2、路电流。一、三相对称短路故障进行三相短路计算需要两个程序:zbuild / zbuildpi和symfault程序 ,zbuild、zbuildpi用来在MATLAB中形成节点阻抗矩阵,symfault用来计算三相对称故障。Zbus=zbuild(zdata) 这里的参数zdata是一个(e4)阶矩阵,e是拓扑图的总支路数目。第一列和第二列为元素两端的节点编号,第三列和第四列分别是线路的电阻、电抗的标幺值。连接在0节点和发电机节点之间的发电机阻抗可能是次暂态电抗、暂态电抗或同步电抗,而且这个矩阵中还包含并联电抗器和负荷阻抗。Zbus=zbuildpi(linedata,gendata,yloa
3、d) 这个函数与潮流计算程序是相容的,第一个参数linedata与潮流计算程序中的文件是一致的。第一列和第二列为节点编号;第三列到第五列分别是线路的电阻、电抗以及1/2线路电纳值,这三项都为在统一基准容量下的标幺值;最后一列是变压器分接头位置,对线路来说,必须输入1;线路无输入顺序。发电机参数不包含在Linedata参数中,而是包含在第二个参数gendata中,gendata是一个g4阶矩阵,g是发电机总数。第一列和第二列为0节点、发电机节点编号,第三列和第四列为发电机的暂态电阻和暂态电抗。最后一个参数yload是可选择的,这个矩阵有两列,第一列为节点编号,第二列为复数导纳值,yload可以由
4、潮流程序lfguss,lfnewton或者decouple自动生成。Zbuild和 zbuildpi两个函数可以通过建立算法求出节点阻抗矩阵。首先添加所有与参考节点相连的树支,然后添加其余的树支,最后添加共轭连支。程序symfault(zdata,Zbus,V)用来计算三相对称故障,程序要求输入zdata和Zbus两个矩阵,第三个参数V是可选的。如果V不存在,程序将默认故障前所有的节点电压标幺值为1.0,如果变量V存在,那么V包括节点编号和复数电压值。电压向量V也可以由潮流计算程序自动生成。当symfault程序运行时,用户要输入故障节点编号和故障阻抗,运行可得到总的故障电流,节点电压幅值以及
5、故障情况下的线路电流。在三相短路计算中,zbuild 和symfault程序,zbuildpi和symfault程序都可以进行计算,下面是三相短路计算使用的程序代码:(1)Zbuild.m程序代码:function Zbus = zbuild(linedata)nl = linedata(:,1); nr = linedata(:,2); R = linedata(:,3);X = linedata(:,4);nbr=length(linedata(:,1); nbus = max(max(nl), max(nr);for k=1:nbr if R(k) = inf | X(k) =inf R
6、(k) = ; X(k) = ;%无穷 else, endend ZB = R + j*X;Zbus = zeros(nbus, nbus);tree=0; %从参考总线0上添加一个分支 for I = 1:nbr ntree(I) = 1; if nl(I) = 0 | nr(I) = 0 if nl(I) = 0 n = nr(I); elseif nr(I) = 0 n = nl(I); end if abs(Zbus(n, n) = 0 Zbus(n,n) = ZB(I);tree=tree+1; %new else Zbus(n,n) = Zbus(n,n)*ZB(I)/(Zbus(
7、n,n) + ZB(I); end ntree(I) = 2; else,end end% 添加一个新总线分支到现有总线上while tree 4BC = linedata(:,5); for n = 1:nbus yc(n) = 0; nlc(n) = 0; nrc(n) = n; for k = 1:nbr if nl(k) = n | nr(k) = n yc(n) = yc(n) + j*BC(k); else, end end endelseif nc=4 yc= zeros(1, nbr); endnlc=nlc; nrc=nrc; yc=yc.;ZB = R + j*X;if e
8、xist(yload) = 1 yload = yload.; yc =yc + yload;else, endm = 0;for n = 1:nbus if abs(yc(n) =0 m=m+1; nlcc(m) = nlc(n); nrcc(m) = nrc(n); zc(m) = 1/yc(n); else, endendnlcc=nlcc; nrcc=nrcc; zc=zc.;nl=nlg; nlcc; nl; nr = nrg; nrcc; nr; ZB = zg; zc; ZB;linedata=nl nr real(ZB) imag(ZB);nbr= length(nl);Zbu
9、s = zeros(nbus, nbus);tree=0; %从参考总线0上添加一个分支 for I = 1:nbr ntree(I) = 1; if nl(I) = 0 | nr(I) = 0 if nl(I) = 0 n = nr(I); elseif nr(I) = 0 n = nl(I); end if abs(Zbus(n, n) = 0 Zbus(n,n) = ZB(I); tree=tree+1; else Zbus(n,n) = Zbus(n,n)*ZB(I)/(Zbus(n,n) + ZB(I); end ntree(I) = 2; else,end end % 添加一个新总
10、线分支到现有总线上while tree 4 BC = zdata(:,5); elseif nc =4, BC = zeros(length(zdata(:,1), 1); endZB = R + j*X;nbr=length(zdata(:,1); nbus = max(max(nl), max(nr);if exist(V) = 1 if length(V) = nbus V0 = V; else, endelse, V0 = ones(nbus, 1) + j*zeros(nbus, 1);endfprintf(Three-phase balanced fault analysis n)
11、ff = 999;while ff 0nf = input(Enter Faulted Bus No. - ); rtn=isempty(nf); if rtn=1; nf=-1; end while nf nbus fprintf(Faulted bus No. must be between 1 & %g n, nbus) nf = input(Enter Faulted Bus No. - ); rtn=isempty(nf); if rtn=1; nf=-1; end endrtz=1; while rtz=1 fprintf(nEnter Fault Impedance Zf = R
12、 + j*X in ) Zf = input(complex form (for bolted fault enter 0). Zf = ); rtz=isempty(Zf); endfprintf( n)fprintf(Balanced three-phase fault at bus No. %gn, nf) If = V0(nf)/(Zf + Zbus(nf, nf);Ifm = abs(If); Ifmang=angle(If)*180/pi;fprintf(Total fault current = %8.4f per unit nn, Ifm)%fprintf( p.u. nn,
13、Ifm)fprintf(Bus Voltages during fault in per unit nn)fprintf( Bus Voltage Anglen)fprintf( No. Magnitude degreesn) for n = 1:nbus if n=nf Vf(nf) = V0(nf)*Zf/(Zf + Zbus(nf,nf); Vfm = abs(Vf(nf); angv=angle(Vf(nf)*180/pi; else, Vf(n) = V0(n) - V0(n)*Zbus(n,nf)/(Zf + Zbus(nf,nf); Vfm = abs(Vf(n); angv=a
14、ngle(Vf(n)*180/pi; end fprintf( %4g, n), fprintf(%13.4f, Vfm),fprintf(%13.4fn, angv) end fprintf( n) fprintf(Line currents for fault at bus No. %gnn, nf)fprintf( From To Current Anglen)fprintf( Bus Bus Magnitude degreesn) for n= 1:nbus for I = 1:nbr if nl(I) = n | nr(I) = n if nl(I) =n k = nr(I); el
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 短路 故障 分析 MATLAB 辅助 程序设计 计算 程序 28
限制150内