clc variasejecuciones=1; while variasejecuciones==1 clear % -------------------------------------------------- fprintf('PG34n\n'); fprintf('Esquema Linea Doble: SR,ST\n'); fprintf('Barras separadas(R,T) en el Extremo remoto\n'); fprintf('Unominal kV: 400,220,132,66\n'); fprintf('Ctes. de la Linea Doble, por Linea y por km, segun Unominal\n'); fprintf('Compensacion 21: Si,No\n'); fprintf('Eleccion: kE,L,Sccs,Sccr,Scct,Kr0,Ks0\n'); fprintf('*** Parametro k0=zt0/zs0=0,1-1-10 ***\n'); fprintf('Falta Doble, m=0...1, p=fijo a elegir\n'); fprintf('Analisis Sm,Rm\n'); fprintf('zt0=k0*zs0'); fprintf('Salida Grafica 1: Sm,Rm(2 Subpl),Unidad Pref.(pu) ,k0=0.1-1-10\n'); fprintf('Salida Grafica 2: Sm,Rm(2 Subpl),Unidad Pref.(pua),k0=0.1-1-10\n'); fprintf('\n'); % -------------------------------------------------- %PG34n datos=input('datos: standard=1,input=2: '); if datos==1 Un=220; kE=1; L=220; compens21=2; Sccs=1000; Sccr=1000; Scct=5000; Ks0=1; Kr0=1; % -------------------------------------------------- else Un=input('Un kV: 400,220,132,66 :'); kE=input('kE=E/Enominal: '); L=input('L km: '); compens21=input('Compensacion 21: Si=1, No=2 :'); Sccs=input('Sccs(MVA): '); Sccr=input('Sccr(MVA): '); Scct=input('Scct(MVA): '); Ks0=input('Ks0: '); Kr0=input('Kr0: '); end % -------------------------------------------------- p=input('p pu : '); faltam=input('Falta en m: ag=1,bg=2,cg=3,ab=4,bc=5,ca=6,abg=7,bcg=8,cag=9,abc=10,abcg=11 :'); Rfm=input('Resistencia de Falta en m. Rf(Ohm) = '); if faltam==7|faltam==8|faltam==9|faltam==11 Rgm=input('Resistencia de Falta en m. Rg(Ohm) = '); else Rgm=0; end faltap=input('Falta en p: ag=1,bg=2,cg=3,ab=4,bc=5,ca=6,abg=7,bcg=8,cag=9,abc=10,abcg=11 :'); Rfp=input('Resistencia de Falta en p. Rf(Ohm) = '); if faltap==7|faltap==8|faltap==9|faltap==11 Rgp=input('Resistencia de Falta en p. Rg(Ohm) = '); else Rgp=0; end fprintf('\n'); % -------------------------------------------------- pfaltam=4; pfaltap=5; % ----------------------------------------------------------------- % DATOS % ----------------------------------------------------------------- Ubase=Un; % kV Vbase=Ubase/(sqrt(3)); % kV MVAbase=100; Ibase=MVAbase/(3*Vbase); % kA zbase=Vbase/Ibase; % Ohm if Un==400 zl1u=(0.0346+0.3208i)/zbase; zl2u=zl1u; zl0u=(0.1828+1.1482i)/zbase; zlM0u=(0.1482+0.7383i)/zbase; elseif Un==220 zl1u=(0.0829+0.4135i)/zbase; zl2u=zl1u; zl0u=(0.2311+1.3085i)/zbase; zlM0u=(0.1482+0.8031i)/zbase; elseif Un==132 zl1u=(0.1342+0.4042i)/zbase; zl2u=zl1u; zl0u=(0.2824+1.3718i)/zbase; zlM0u=(0.1482+0.8947i)/zbase; elseif Un==66 zl1u=(0.2156+0.3952i)/zbase; zl2u=zl1u; zl0u=(0.3636+1.4278i)/zbase; zlM0u=(0.1482+0.9288i)/zbase; end % --------------------------------------------------- %CALCULOS PRELIMINARES % --------------------------------------------------- U=kE*Un; % kV E=U/sqrt(3)+0i; % kV E=E/Vbase; % E pu k=(zl0u-zl1u)/(3*zl1u); Km=zlM0u/zl1u; zs1=(MVAbase/Sccs)*i; % pu zr1=(MVAbase/Sccr)*i; % pu zt1=(MVAbase/Scct)*i; % pu zs2=zs1; % pu zr2=zr1; % pu zt2=zt1; % pu zs0=Ks0*zs1; % pu zr0=Kr0*zr1; % pu zl0=zl0u*L; zl1=zl1u*L; zl2=zl2u*L; zlM0=zlM0u*L; % pu % ---------------------------------------------------- % CALCULOS % ----------------------------------------------------- fila=1; k0=0.1; while k0<11 zt0=k0*zs0; i=1; m=0.02; while m<1; [Minc]=subMinc(1); [Minca]=subMinca(1); [z0]=subz0(zs0,zr0,zt0,zl0,zlM0,m,p); %pu [z1]=subz1(zs1,zr1,zt1,zl1,m,p); %pu [z2]=subz2(zs2,zr2,zt2,zl2,m,p); %pu % MATRIZ DE ADMITANCIA DE BARRAS [Y0]=subY0(Minc,z0); % pu [Y1]=subY1(Minc,z1); % pu [Y2]=subY2(Minc,z2); % pu % ZBUS(0,1,2) Z0=inv(Y0); % pu Z1=inv(Y1); % pu Z2=inv(Y2); % pu % CALCULO DE LAS COMPONENTES SIMETRICAS DE V,I EN LOS PUNTOS m,p DE FALTA [Im0,Im1,Im2,Vm0,Vm1,Vm2,Ip0,Ip1,Ip2,Vp0,Vp1,Vp2]=... mag4mp(Z0,Z1,Z2,E,faltam,faltap,Rfm,Rgm,Rfp,Rgp,pfaltam,pfaltap); %pu if faltap==1 cfaltap='ag';elseif faltap==2 cfaltap='bg';elseif faltap==3 cfaltap='cg'; elseif faltap==4 cfaltap='ab';elseif faltap==5 cfaltap='bc';elseif faltap==6 cfaltap='ca'; elseif faltap==7 cfaltap='abg';elseif faltap==8 cfaltap='bcg';elseif faltap==9 cfaltap='cag'; elseif faltap==10 cfaltap='abc';elseif faltap==11 cfaltap='abcg'; end % IBUS(0,1,2) I0=zeros(5,1); I1=zeros(5,1); I2=zeros(5,1); I0(pfaltam,1)=-Im0; %pu I1(pfaltam,1)=-Im1; %pu I2(pfaltam,1)=-Im2; %pu I0(pfaltap,1)=-Ip0; %pu I1(pfaltap,1)=-Ip1; %pu I2(pfaltap,1)=-Ip2; %pu % VBUS(0,1,2) V0=Z0*I0; %pu V1=Z1*I1+E; V1a=[V1;E]; %pu V2=Z2*I2; %pu % Ie(0,1,2) DE LOS ELEMENTOS [Ie0]=subIe0(Minc,V0,z0); %pu [Ie1]=subIe1(Minca,V1a,z1); %pu [Ie2]=subIe2(Minc,V2,z2); %pu % ASIGNACIONES V,I Vs0=V0(1);Vs1=V1(1);Vs2=V2(1); %pu Vr0=V0(2);Vr1=V1(2);Vr2=V2(2); %pu Vt0=V0(3);Vt1=V1(3);Vt2=V2(3); %pu Is0=Ie0(1);Is1=Ie1(1);Is2=Ie2(1); %pu Ir0=Ie0(2);Ir1=Ie1(2);Ir2=Ie2(2); %pu It0=Ie0(3);It1=Ie1(3);It2=Ie2(3); %pu Ism0=Ie0(4);Ism1=Ie1(4);Ism2=Ie2(4); %pu Isp0=Ie0(5);Isp1=Ie1(5);Isp2=Ie2(5); %pu Irm0=Ie0(6);Irm1=Ie1(6);Irm2=Ie2(6); %pu Itp0=Ie0(7);Itp1=Ie1(7);Itp2=Ie2(7); %pu [Ima,Imb,Imc]=abc(Im0,Im1,Im2); [Ipa,Ipb,Ipc]=abc(Ip0,Ip1,Ip2); [Vma,Vmb,Vmc]=abc(Vm0,Vm1,Vm2); [Vpa,Vpb,Vpc]=abc(Vp0,Vp1,Vp2); [Vsa,Vsb,Vsc]=abc(Vs0,Vs1,Vs2); [Vra,Vrb,Vrc]=abc(Vr0,Vr1,Vr2); [Vta,Vtb,Vtc]=abc(Vt0,Vt1,Vt2); [Isa,Isb,Isc]=abc(Is0,Is1,Is2); [Ira,Irb,Irc]=abc(Ir0,Ir1,Ir2); [Ita,Itb,Itc]=abc(It0,It1,It2); [Isma,Ismb,Ismc]=abc(Ism0,Ism1,Ism2); [Ispa,Ispb,Ispc]=abc(Isp0,Isp1,Isp2); [Irma,Irmb,Irmc]=abc(Irm0,Irm1,Irm2); [Itpa,Itpb,Itpc]=abc(Itp0,Itp1,Itp2); % PROTECCION DE DISTANCIA (21) switch(compens21) case{1}, % COMPENSADA [Sm_ZAB,Sm_ZBC,Sm_ZCA,Sm_ZAG,Sm_ZBG,Sm_ZCG]=... PDistComp(Vsa,Vsb,Vsc,Isma,Ismb,Ismc,Ism0,k,Km,Isp0); [Sp_ZAB,Sp_ZBC,Sp_ZCA,Sp_ZAG,Sp_ZBG,Sp_ZCG]=... PDistComp(Vsa,Vsb,Vsc,Ispa,Ispb,Ispc,Isp0,k,Km,Ism0); [Rm_ZAB,Rm_ZBC,Rm_ZCA,Rm_ZAG,Rm_ZBG,Rm_ZCG]=... PDistComp(Vra,Vrb,Vrc,Irma,Irmb,Irmc,Irm0,k,Km,Itp0); [Tp_ZAB,Tp_ZBC,Tp_ZCA,Tp_ZAG,Tp_ZBG,Tp_ZCG]=... PDistComp(Vta,Vtb,Vtc,Itpa,Itpb,Itpc,Itp0,k,Km,Irm0); case{2}, % NO COMPENSADA [Sm_ZAB,Sm_ZBC,Sm_ZCA,Sm_ZAG,Sm_ZBG,Sm_ZCG]=... PDist(Vsa,Vsb,Vsc,Isma,Ismb,Ismc,Ism0,k); [Sp_ZAB,Sp_ZBC,Sp_ZCA,Sp_ZAG,Sp_ZBG,Sp_ZCG]=... PDist(Vsa,Vsb,Vsc,Ispa,Ispb,Ispc,Isp0,k); [Rm_ZAB,Rm_ZBC,Rm_ZCA,Rm_ZAG,Rm_ZBG,Rm_ZCG]=... PDist(Vra,Vrb,Vrc,Irma,Irmb,Irmc,Irm0,k); [Tp_ZAB,Tp_ZBC,Tp_ZCA,Tp_ZAG,Tp_ZBG,Tp_ZCG]=... PDist(Vta,Vtb,Vtc,Itpa,Itpb,Itpc,Itp0,k); end % 67N [Vspol,Ismop,AngDirSm]=PDire(Vs0,Ism0); VVspol=Vspol*Vbase;IIsmop=Ismop*Ibase; [Vspol,Ispop,AngDirSp]=PDire(Vs0,Isp0); IIspop=Ispop*Ibase; [Vrpol,Irmop,AngDirRm]=PDire(Vr0,Irm0); VVrpol=Vrpol*Vbase;IIrmop=Irmop*Ibase; [Vtpol,Itpop,AngDirTp]=PDire(Vt0,Itp0); VVtpol=Vtpol*Vbase;IItpop=Itpop*Ibase; % ****************************************************************** % *************************** SALIDA ****************************** % ****************************************************************** if faltam==1 cfaltam='ag'; alcanceSm=abs(Sm_ZAG)/cos(angle(Sm_ZAG)-angle(zl1u)); alcanceRm=abs(Rm_ZAG)/cos(angle(Rm_ZAG)-angle(zl1u)); elementom='AG'; elseif faltam==2 cfaltam='bg'; alcanceSm=abs(Sm_ZBG)/cos(angle(Sm_ZBG)-angle(zl1u)); alcanceRm=abs(Rm_ZBG)/cos(angle(Rm_ZBG)-angle(zl1u)); elementom='BG'; elseif faltam==3 cfaltam='cg'; alcanceSm=abs(Sm_ZCG)/cos(angle(Sm_ZCG)-angle(zl1u)); alcanceRm=abs(Rm_ZCG)/cos(angle(Rm_ZCG)-angle(zl1u)); elementom='CG'; elseif faltam==4 cfaltam='ab'; alcanceSm=abs(Sm_ZAB)/cos(angle(Sm_ZAB)-angle(zl1u)); alcanceRm=abs(Rm_ZAB)/cos(angle(Rm_ZAB)-angle(zl1u)); elementom='AB'; elseif faltam==5 cfaltam='bc'; alcanceSm=abs(Sm_ZBC)/cos(angle(Sm_ZBC)-angle(zl1u)); alcanceRm=abs(Rm_ZBC)/cos(angle(Rm_ZBC)-angle(zl1u)); elementom='BC'; elseif faltam==6 cfaltam='ca'; alcanceSm=abs(Sm_ZCA)/cos(angle(Sm_ZCA)-angle(zl1u)); alcanceRm=abs(Rm_ZCA)/cos(angle(Rm_ZCA)-angle(zl1u)); elementom='CA'; elseif faltam==7 cfaltam='abg'; alcanceSm=abs(Sm_ZAB)/cos(angle(Sm_ZAB)-angle(zl1u)); alcanceRm=abs(Rm_ZAB)/cos(angle(Rm_ZAB)-angle(zl1u)); elementom='AB'; elseif faltam==8 cfaltam='bcg'; alcanceSm=abs(Sm_ZBC)/cos(angle(Sm_ZBC)-angle(zl1u)); alcanceRm=abs(Rm_ZBC)/cos(angle(Rm_ZBC)-angle(zl1u)); elementom='BC'; elseif faltam==9 cfaltam='cag'; alcanceSm=abs(Sm_ZCA)/cos(angle(Sm_ZCA)-angle(zl1u)); alcanceRm=abs(Rm_ZCA)/cos(angle(Rm_ZCA)-angle(zl1u)); elementom='CA'; elseif faltam==10 cfaltam='abc'; alcanceSm=abs(Sm_ZBC)/cos(angle(Sm_ZBC)-angle(zl1u)); alcanceRm=abs(Rm_ZBC)/cos(angle(Rm_ZBC)-angle(zl1u)); elementom='BC'; elseif faltam==11 cfaltam='abcg'; alcanceSm=abs(Sm_ZBC)/cos(angle(Sm_ZBC)-angle(zl1u)); alcanceRm=abs(Rm_ZBC)/cos(angle(Rm_ZBC)-angle(zl1u)); elementom='BC'; end if faltap==1 cfaltap='ag';elseif faltap==2 cfaltap='bg';elseif faltap==3 cfaltap='cg'; elseif faltap==4 cfaltap='ab';elseif faltap==5 cfaltap='bc';elseif faltap==6 cfaltap='ca'; elseif faltap==7 cfaltap='abg';elseif faltap==8 cfaltap='bcg';elseif faltap==9 cfaltap='cag'; elseif faltap==10 cfaltap='abc';elseif faltap==11 cfaltap='abcg'; end alcanceSmpu=alcanceSm/abs(zl1u*m*L); alcanceRmpu=alcanceRm/abs(zl1u*(1-m)*L); alcanceSmpua=alcanceSm/abs(zl1u*L); alcanceRmpua=alcanceRm/abs(zl1u*L); Abscisa(fila,i)=m; OrdenadaSm(fila,i)=alcanceSmpu; OrdenadaRm(fila,i)=alcanceRmpu; OrdenadaSma(fila,i)=alcanceSmpua; OrdenadaRma(fila,i)=alcanceRmpua; i=i+1; m=m+0.01; end fila=fila+1; k0=k0*10; end % ----------------------------------------------------------------------- if compens21==1 comp='21c'; elseif compens21==2 comp='21nc'; end cadenam1=sprintf('PG34n,%s,%3.0fkV,kE=%-4.2f,%3.0fkm,Sccs=%-5.0f,Sccr=%-5.0f,Scct=%-5.0f\n',... comp,Un,kE,L,Sccs,Sccr,Scct); cadenamT=sprintf('Ks0=%-5.2f,Kr0=%-5.2f',Ks0,Kr0); cadenam1=sprintf('%s,%s',cadenam1,cadenamT); cadenam2=sprintf('m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); if faltam==1|faltam==2|faltam==3|faltam==4|faltam==5|faltam==6|faltam==10 cadenam=sprintf('%s,%s',cadenam1,cadenam2); elseif faltam==7|faltam==8|faltam==9|faltam==11 cadenam3=sprintf('Rgm=%-3.0f',Rgm); cadenam=sprintf('%s,%s,%s',cadenam1,cadenam2,cadenam3); end cadenap=sprintf('p=%-4.2f, %s, Rfp=%-3.0f',p,cfaltap,Rfp); if faltap==7|faltap==8|faltap==9|faltap==11 cadenap=sprintf('p=%-4.2f, %s, Rfp=%-3.0f, Rgp=%-3.0f',p,cfaltap,Rfp,Rgp); end cadenamp=sprintf('%s, %s',cadenam,cadenap); % ----------------------------------------------------------------------- variassalidas=1; while variassalidas==1 fprintf('Salida Grafica 1: Sm,Rm(2 Subpl),Unidad Pref.(pu) ,k0=0.1-1-10\n'); fprintf('Salida Grafica 2: Sm,Rm(2 Subpl),Unidad Pref.(pua),k0=0.1-1-10\n'); salida=input('Salida: 1,2 :'); switch(salida) case{1}, % Salida Grafica 1: Sm,Rm(2 Subpl),Unidad Pref.(pu) ,k0=0.1-1-10\n Abscisa1m=Abscisa(1:1,1:(i-1)); Ordenada1m=OrdenadaSm(1:1,1:(i-1)); Abscisa2m=Abscisa(2:2,1:(i-1)); Ordenada2m=OrdenadaSm(2:2,1:(i-1)); Abscisa3m=Abscisa(3:3,1:(i-1)); Ordenada3m=OrdenadaSm(3:3,1:(i-1)); Abscisa4m=Abscisa(1:1,1:(i-1)); Ordenada4m=OrdenadaRm(1:1,1:(i-1)); Abscisa5m=Abscisa(2:2,1:(i-1)); Ordenada5m=OrdenadaRm(2:2,1:(i-1)); Abscisa6m=Abscisa(3:3,1:(i-1)); Ordenada6m=OrdenadaRm(3:3,1:(i-1)); mm=0.01; cont=1; while mm<1; Abscisa0(cont)=mm; Ordenada0(cont)=1; Ordenadadi(cont)=0.8/mm; Ordenadadd(cont)=0.8/(1-mm); cont=cont+1; mm=mm+0.01; end ejemasy1=input('Subplot 1: Eje +y: '); ejemenosy1=input('Subplot 1: Eje -y (con signo): '); ejemasy2=input('Subplot 2: Eje +y: '); ejemenosy2=input('Subplot 2: Eje -y (con signo): '); subplot(2,1,1) plot(Abscisa0,Ordenada0,'c',Abscisa0,Ordenadadi,'m',Abscisa1m,Ordenada1m,'r',Abscisa2m,Ordenada2m,'g',... Abscisa3m,Ordenada3m,'b'),grid on axis([0 1 ejemenosy1 ejemasy1]); title(cadenamp) xlabel('m'),ylabel('alcanceSmpu') %legend('Ref','Lim','k0=0.1','k0=1','k0=10') subplot(2,1,2) plot(Abscisa0,Ordenada0,'c',Abscisa0,Ordenadadd,'m',Abscisa4m,Ordenada4m,'r',Abscisa5m,Ordenada5m,'g',... Abscisa6m,Ordenada6m,'b'),grid on axis([0 1 ejemenosy2 ejemasy2]); %title(cadenamp) xlabel('m'),ylabel('alcanceRmpu') legend('Ref','Lim','k0=0.1','k0=1','k0=10') case(2) % Salida Grafica 2: Sm,Rm(2 Subpl),Unidad Pref.(pua),k0=0.1-1-10 mm=0.01; cont=1; while mm<1; Abscisa0(cont)=mm; Ordenada0(cont)=mm; Abscisa00(cont)=mm; Ordenada00(cont)=1-mm; Ordenadaz1(cont)=0.8; cont=cont+1; mm=mm+0.01; end Abscisa1ma=Abscisa(1:1,1:(i-1)); Ordenada1ma=OrdenadaSma(1:1,1:(i-1)); Abscisa2ma=Abscisa(2:2,1:(i-1)); Ordenada2ma=OrdenadaSma(2:2,1:(i-1)); Abscisa3ma=Abscisa(3:3,1:(i-1)); Ordenada3ma=OrdenadaSma(3:3,1:(i-1)); Abscisa4ma=Abscisa(1:1,1:(i-1)); Ordenada4ma=OrdenadaRma(1:1,1:(i-1)); Abscisa5ma=Abscisa(2:2,1:(i-1)); Ordenada5ma=OrdenadaRma(2:2,1:(i-1)); Abscisa6ma=Abscisa(3:3,1:(i-1)); Ordenada6ma=OrdenadaRma(3:3,1:(i-1)); subplot(2,1,1) plot(Abscisa0,Ordenada0,'c',Abscisa0,Ordenadaz1,'m',Abscisa1ma,Ordenada1ma,'r',Abscisa2ma,Ordenada2ma,'g',... Abscisa3ma,Ordenada3ma,'b'),grid on %axis([0 1 0 2]); title(cadenamp) xlabel('m'),ylabel('alcanceSmpua') %legend('45ș','z1','k0=0.1','k0=1','k0=10') subplot(2,1,2) plot(Abscisa00,Ordenada00,'c',Abscisa0,Ordenadaz1,'m',Abscisa4ma,Ordenada4ma,'r',Abscisa5ma,Ordenada5ma,'g',... Abscisa6ma,Ordenada6ma,'b'),grid on %axis([0 1 0 2]); %title(cadenamp) xlabel('m'),ylabel('alcanceRmpua') legend('Ref','z1','k0=0.1','k0=1','k0=10') end variassalidas=input('Mas Salidas=1,Acabar=2 :'); end % end del while variassalidas variasejecuciones=input('Mas Ejecuciones=1,Acabar=2 :'); end % end del while variasejecuciones fprintf(1,'Pulse Enter\n');