电力系统短路计算MATLAB

电力系统短路计算

电力系统故障计算是电力系统不正常运行方式的一种计算。其目的是求出在电力系统正常运行状态下,当电力网络某处发生故障时系统各部分电压和电流的分布。掌握电力系统在短路时的参数后,便可选择合理的供电方案、选用适合的供电设备,校验保护装置,采用合理的措施限制断路故障的影响范围,保证电力系统安全、可靠、经济地运行。
短路计算,分对称短路和不对称短路故障两大形式。对称短路仅为三相短路;不对称短路则分单相接地短路、两相短路和两相接地短路。
故障计算是用对称分量法进行的。首先,假设网络是线性的,即系统各元件的参数是恒定的。应用迭加原理,将三相网络分解为正序、负序和零序三个网络。并假定正常情况下网络是对称的,即三个序网是各自独立的。然后,再应用迭加原理,将各序网的电压、电流分解为正常分量和故障分量。最后,根据故障点故障类型的边界条件,将三个序网连成一个完整的网络,应用线性交流电路理论,计算出三个序网电压、电流的故障分量,再与正常分量相加,便求得三序电压、电流的实际值。由三序电压和电流就可以计算出三相电压和电流。
内置6个函数

  1. Main函数
  2. 形成阻抗矩阵函数:Form_Impedance_matrix.m
  3. 三相短路电流计算:Three_phase.m
  4. 单相短路电流计算:Single_phase.m
  5. 三相短路电流计算:Two_phase.m
  6. 三相短路电流计算:Two_phase_ground.m

22节点测试系统

%% iparameter:输入的参数   支路类型:1:线路,2:YN,yn变压器,3:YN,d变压器
%% iparameter.line=【支路号	 支路类型(S)  节点(I)	 节点(J) 	正序电抗(X)	零序电抗(Xo)%% iparameter.gen=【发电机节点(I)  直轴次暂态电抗(xd")   负序电抗(x2)%%
function iparameter = CSEE22
iparameter.line = [...
1	3	7	1	0.0150	inf     ;
2	3	9	2	0.0217	0.0503  ;
3	3	22	3	0.0124	0.049   ;
4	3	19	4	0.0640	0.134   ;
5	3	18	5	0.0375	0.0066  ;
6	3	17	6	0.0337	0.0337  ;
7	1	7	8	0.074	inf       ;
8	1	7	9	0.104	inf       ;
9	1	8	9	0.0131	0.03768 ;
10	2	10	9	-0.0020	-0.0020 ;
11	1	9	22	0.218	0.6407  ;
13	2	11	10	0.018	0.018   ;
14	2	15	12	0.018	0.018   ;
16	1	12	13	0.0255	0.0591  ;
17	2	17	13	0.01	0.01    ;
18	2	15	14	-0.002	-0.002   ;
19	1	14	19	0.02	0.0743  ;
21	2	16	17	0.001	0.001   ;
22	1	16	19	0.218	0.6339  ;
23	1	16	20	0.0662	0.1849  ;
24	1	16	21	0.1780	0.5304  ;
25	1	16	18	0.0333	0.0622  ;
26	1	19	21	0.037	0.113   ;
27	1	20	22	0.0859	0.2541  ;
28	1	21	22	0.0607	0.1776  ;
29	1	22	8	0.19	0.5658  ;
30	1	11	12	0.0343	0.0796  ;...
];
iparameter.gen=[...	
1	0.0150	0.0150;			
2	0.0238	0.0288;			
3	0.0284	0.0284;			
4	0.0780	0.0950;			
5	0.0480  0.0310;			
6	0.148	0.18;...		
];

main函数

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%   计算程序  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
%% 短路计算 
[data_phase]=EPRI_22;               %从文件中读入短路数据
n=22;                               %计算节点的个数为22
Uf0=1;                              %采用近似计算,设故障点正常时电压为1
f=input('输入故障点:');              %设置短路点f
%% 形成阻抗矩阵
tic
[Z1,Z2,Z0,Y1,Y2,Y0,x0,linei,geni,S,i,j]=Form_Impedance_matrix(n,data_phase);
T=[1 1 1;-1/2-3^(1/2)/2*1i -1/2+3^(1/2)/2*1i 1;-1/2+3^(1/2)/2*1i -1/2-3^(1/2)/2*1i 1];
%% 三相短路电流计算
[Ithree,Uthree]=Three_phase(f,Z1,i,j,n,linei);
%% 单相短路电流计算
[If1_1,If1_2,If1_0,Uf1_1,Uf1_2,Uf1_0,Isingle,Usingle]=Single_phase(f,Z1,Z2,Z0,i,j,Uf0,T,n,S,x0);     
%% 两相短路电流计算 
[If2_1,If2_2,If2_0,Uf2_1,Uf2_2,Uf2_0,Itwo,Utwo]=Two_phase(f,Z1,Z2,Z0,i,j,Uf0,T,n,S,x0);
%% 两相短路接地电流计算
[If20_1,If20_2,If20_0,Uf20_1,Uf20_2,Uf20_0,Itwo_g,Utwo_g]=Two_phases_ground(f,Z1,Z2,Z0,i,j,Uf0,T,n,S,x0); 
%% 统计时间
toc

形成阻抗矩阵的部分代码

%% 功能:形成正、负、零序阻抗矩阵
function [Z1,Z2,Z0,Y1,Y2,Y0,x0,linei,geni,S,i,j]=Form_Impedance_matrix(n,parameter)
    line=parameter.line;
    gen=parameter.gen;
    linei=size(line,1);      %线路数
    S=line(:,2);             %支路类型
    i=line(:,3);             %线路i
    j=line(:,4);             %线路j
    x1=line(:,5);            %线路正序电抗 
    x0=line(:,6);            %线路零序电抗
    geni=gen(:,1);           %发电机节点号
    xd=gen(:,2);             %发电机直轴次暂态电抗
    x2=gen(:,3);             %发电机负序电抗
%% 1.正序阻抗
%% 1.1 线路与变压器
    y1=1./(1i*x1);                               %求线路导纳      
    Y1=sparse(i,j,-y1,n,n)+sparse(j,i,-y1,n,n);  %求取互导纳
    Y1=Y1+sparse(i,i,y1,n,n)+sparse(j,j,y1,n,n); %求取自导纳
%% 1.2 发电机
    geny1=1./(1i*xd);                            %求发电机导纳   
    Y1=Y1+sparse(geni,geni,geny1,n,n);           %发电机导纳加上自导纳
    Z1=Y1^(-1);                                  %正序阻抗
%% 2.负序阻抗
%% 2.1 线路与变压器
    y2=1./(1i*x1);                               %与正序阻抗一样 
    Y2=sparse(i,j,-y2,n,n)+sparse(j,i,-y2,n,n);
    Y2=Y2+sparse(i,i,y2,n,n)+sparse(j,j,y2,n,n);
%% 2.2 发电机
    geny2=1./(1i*x2);   
    Y2=Y2+sparse(geni,geni,geny2,n,n);
    Z2=Y2^(-1);                                  %负序阻抗
%% 3.零序阻抗
    zeros0=find(line(:,6)==0);                   %找出零序电抗为0的行
    zeros=zeros0;
    zeros(zeros0>7,:)=[];                        %由线路第7 节点为孤立节点,故需对矩阵进行降维
    line(zeros0,:)=[];                           %去除零序电抗为0的行
    line0=line(line(:,2)==1,:);                  %根据支路类型分类
    Ynyn=line(line(:,2)==2,:);
    Ynd=line(line(:,2)==3,:);

%% 单相短路电流计算
function [If1_1,If1_2,If1_0,Uf1_1,Uf1_2,Uf1_0,Isingle,Usingle]=Single_phase(f,Z1,Z2,Z0,i,j,Uf0,T,n,S,x0)
disp('****************************单相短路****************************');
%% 电流计算:
    If1_1=Uf0/(Z1(f,f)+Z2(f,f)+Z0(f,f));  %正序电流计算
    If1_2=If1_1;                          %边界条件
    If1_0=If1_2;
    If1=[If1_1;If1_2;If1_0];
    I_T1=T*If1;                           %正、负、零相电流计算
    disp('正、负、零序电流:');
    disp(If1);
    disp('正、负、零相电流:');
    disp(I_T1);
%% 电压计算:
    Uf1_1=Uf0-If1_1*Z1(f,f);              %边界条件
    Uf1_2=0-If1_2*Z2(f,f);
    Uf1_0=0-If1_0*Z0(f,f);
    Uf1=[Uf1_1;Uf1_2;Uf1_0];
    U_T1=T*Uf1;                           %正、负、零相电压计算
    disp('正、负、零序电压:' );
    disp(Uf1);
    disp('正、负、零相电压:');
    disp(U_T1);
    
%% 计算短路序电流 
    If1_1=1.0/(Z1(f,f)+Z2(f,f)+Z0(f,f));  %令Uf0=1计算短路序电流
    If1_2=If1_1;
    If1_0=If1_1;
%% 计算任一节点各序电压
for t=1:n
    Uf1_1(t)=1.0-Z1(t,f)*If1_1;           %单相短路正序电压
    Uf1_2(t)=-Z2(t,f)*If1_1;              %单相短路负序电压
    Uf1_0(t)=-Z0(t,f)*If1_1;              %单相短路零序电压
end
%% 计算任一支路电流 
for x=1:27
    If1_1(i(x),j(x))=(Uf1_1(i(x))-Uf1_1(j(x)))/Z1(i(x),j(x));  %单相短路支路正序电流
    If1_2(i(x),j(x))=(Uf1_2(i(x))-Uf1_2(j(x)))/Z2(i(x),j(x));  %单相短路支路负序电流
    if(S(x)~=3&&x0(x)~=0)                                      %判断零序电流是否可以流通
    If1_0(i(x),j(x))=(Uf1_0(i(x))-Uf1_0(j(x)))/Z0(i(x),j(x));  %单相短路支路零序电流
    end
end
for x=1:n
    if(S(x)==3&&x0(x)~=0)
        If1_0(i(x),j(x))=Uf1_0(i(x))/Z0(i(x),j(x));
    end
end
     If1_0(isnan(If1_0))=0;                %解决输出结果出现NAN的情况
     Uf1_0(isnan(Uf1_0))=0;
     If1_1=sparse(If1_1);
     If1_2=sparse(If1_2);
     If1_0=sparse(If1_0);
     Usingle=Uf1_1+Uf1_2+Uf1_0;
     Isingle=If1_1+If1_2+If1_0;
end

运行结果:
三相短路、单相短路、两相短路、两相接地短路时的短路点电流和电压
输入故障点:11
三相短路
三相短路电流:0-35.6471i
三相短路电压:0
单相短路
正、负、零序电流:
0.0000 -10.0894i
0.0000 -10.0894i
0.0000 -10.0894i

正、负、零相电流:
0.0000 -30.2682i
0.0000 + 0.0000i
0.0000 + 0.0000i

正、负、零序电压:
0.7170
-0.2903
-0.4267

正、负、零相电压:
0.0000 + 0.0000i
-0.6401 – 0.8723i
-0.6401 + 0.8723i

两相短路
正、负、零序电流:
0.0000 -17.5991i
0.0000 +17.5991i
0.0000 + 0.0000i

正、负、零相电流:
0
-30.4826
30.4826

正、负、零序电压:
0.5063
0.5063
0

正、负、零相电压:
1.0126
-0.5063
-0.5063

两相短路接地
正、负、零序电流:
0.0000 -22.1364i
0.0000 +13.1747i
0.0000 + 8.9616i

正、负、零相电流:
0.0000 + 0.0000i
-30.5803 +13.4425i
30.5803 +13.4425i

正、负、零序电压:
0.3790
0.3790
0.3790

正、负、零相电压:
1.1370 + 0.0000i
0.0000 + 0.0000i
0.0000 – 0.0000i

时间已过 0.030333 秒。

完整代码可私聊
完整代码https://download.csdn.net/download/qq_44990523/68224247

    原文作者:锦衣夜行ddd
    原文地址: https://blog.csdn.net/qq_44990523/article/details/122067985
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞