电力系统短路故障分析的MATLAB辅助程序设计-短路计算程序(共28页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《电力系统短路故障分析的MATLAB辅助程序设计-短路计算程序(共28页).docx》由会员分享,可在线阅读,更多相关《电力系统短路故障分析的MATLAB辅助程序设计-短路计算程序(共28页).docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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是一个(e×4)阶矩阵,e是拓扑图的总支路数目。第一列和第二列为元素两端的节点编号,第三列和第四列分别是线路的电阻、电抗的标幺值。连接在0节点和发电机节点之间的发电机阻抗可能是次暂态电抗、暂态电抗或同步电抗,而且这个矩阵中还包含并联电抗器和负荷阻抗。Zbus=zbuildpi(linedata,gendat
3、a,yload) 这个函数与潮流计算程序是相容的,第一个参数linedata与潮流计算程序中的文件是一致的。第一列和第二列为节点编号;第三列到第五列分别是线路的电阻、电抗以及1/2线路电纳值,这三项都为在统一基准容量下的标幺值;最后一列是变压器分接头位置,对线路来说,必须输入1;线路无输入顺序。发电机参数不包含在Linedata参数中,而是包含在第二个参数gendata中,gendata是一个g×4阶矩阵,g是发电机总数。第一列和第二列为0节点、发电机节点编号,第三列和第四列为发电机的暂态电阻和暂态电抗。最后一个参数yload是可选择的,这个矩阵有两列,第一列为节点编号,第二列为复数
4、导纳值,yload可以由潮流程序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 |
6、 X(k) =inf R(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)*
7、ZB(I)/(Zbus(n,n) + ZB(I); end ntree(I) = 2; else,end end% 添加一个新总线分支到现有总线上while tree < nbus for n = 1:nbus nadd = 1; if abs(Zbus(n,n) = 0 for I = 1:nbr if nadd = 1; if nl(I) = n | nr(I) = n if nl(I) = n k = nr(I); elseif nr(I) = n k = nl(I); end if abs(Zbus(k,k) = 0 for m = 1:nbus if m = n Zbus(m,
8、n) = Zbus(m,k); Zbus(n,m) = Zbus(m,k); else, end end Zbus(n,n) = Zbus(k,k) + ZB(I); tree=tree+1; nadd = 2; ntree(I) = 2; else, end else, end else, end end else, endend end %增加两个原有总线间的支路阻抗 for n = 1:nbus for I = 1:nbr if ntree(I) = 1 if nl(I) = n | nr(I) = n if nl(I) = n k = nr(I); elseif nr(I) = n k
9、 = nl(I); end DM = Zbus(n,n) + Zbus(k,k) + ZB(I) - 2*Zbus(n,k); for jj = 1:nbus AP = Zbus(jj,n) - Zbus(jj,k); for kk = 1:nbus AT = Zbus(n,kk) - Zbus(k, kk); DELZ(jj,kk) = AP*AT/DM; end end Zbus = Zbus - DELZ; ntree(I) = 2; else,end else,end end end(2)Zbuildpi.m程序代码:% This program forms the complex b
10、us impedance matrix by the method% of building algorithm. Bus zero is taken as reference.% This program is compatible with power flow data. function Zbus, linedata = zbuildpi(linedata, gendata, yload)ng=length(gendata(:,1);nlg=gendata(:,1);nrg=gendata(:,2); zg= gendata(:,2) + j*gendata(:,3);nl = lin
11、edata(:,1); nr = linedata(:,2); R = linedata(:,3);X = linedata(:,4);nbr=length(linedata(:,1); nbus = max(max(nl), max(nr);nc = length(linedata(1,:);for k=1:nbr if R(k) = inf | X(k) = inf R(k) = ; X(k) = ; else, endend if nc > 4BC = linedata(:,5); for n = 1:nbus yc(n) = 0; nlc(n) = 0; nrc(n) = n;
12、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 exist('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);
13、 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);Zbus = zeros(nbus, nbus);tree=0; %从参考总线0上添加一个分支 for I = 1:nbr ntree(I) = 1; if nl(I) = 0 | nr(I) = 0 if nl(I
14、) = 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 % 添加一个新总线分支到现有总线上while tree < nbus for n = 1:nbus nadd = 1; if abs(Zbus(n,n) = 0 for I = 1:nbr if nadd = 1 if
15、nl(I) = n | nr(I) = n if nl(I) = n k = nr(I); elseif nr(I) = n k = nl(I); end if abs(Zbus(k,k) = 0 for m = 1:nbus if m = n Zbus(m,n) = Zbus(m,k); Zbus(n,m) = Zbus(m,k); else, end end Zbus(n,n) = Zbus(k,k) + ZB(I); tree=tree+1; nadd = 2; ntree(I) = 2; else, end else, end else, end end else, endendend
16、 %增加两个原有总线间的支路阻抗 for n = 1:nbus for I = 1:nbr if ntree(I) = 1 if nl(I) = n | nr(I) = n if nl(I) = n k = nr(I); elseif nr(I) = n k = nl(I); end DM = Zbus(n,n) + Zbus(k,k) + ZB(I) - 2*Zbus(n,k); for jj = 1:nbus AP = Zbus(jj,n) - Zbus(jj,k); for kk = 1:nbus AT = Zbus(n,kk) - Zbus(k, kk); DELZ(jj,kk) =
17、AP*AT/DM; end end Zbus = Zbus - DELZ; ntree(I) = 2; else,end else,end end end(3)symfault.m程序代码:% 此程序用来计算电网的三相对称故障% 计算前需要用户生成节点阻抗矩阵% 节点阻抗矩阵可由函数Zbus = zbuild(zdata)生成%此程序需要用户按提示输入短路节点编号和过度电阻Zf% 向量V是可选参数,包含节点编号和复数电压%V可由潮流程序lfgauss, lfnewton,decouple自动生成. % 如果V不存在,程序将默认故障前所有的节点电压标幺值为1.0% 程序可得到总的故障电流, 节点
18、电压幅值及输电线路的电流function symfaul(zdata, Zbus, V) nl = zdata(:,1); nr = zdata(:,2); R = zdata(:,3);X = zdata(:,4);nc = length(zdata(1,:); if nc > 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')
19、= 1 if length(V) = nbus V0 = V; else, endelse, V0 = ones(nbus, 1) + j*zeros(nbus, 1);endfprintf('Three-phase balanced fault analysis n')ff = 999;while ff > 0nf = input('Enter Faulted Bus No. -> '); rtn=isempty(nf); if rtn=1; nf=-1; end while nf <= 0 | nf > nbus fprintf(
20、39;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 + j*X in ') Zf = input('complex form (for bolted fault enter 0). Zf = ');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 短路 故障 分析 MATLAB 辅助 程序设计 计算 程序 28
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内