% ----------------------------------------------------------------------- clc variasejecuciones=1; while variasejecuciones==1 clear % ----------------------------------------------------------------------- fprintf('PG42n\n'); fprintf('Esquema Linea Doble SE\n'); fprintf('Lineas Separadas ER y ET\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,L1,L2,L3,Sccs,Sccr,Scct,Kr0,Ks0\n'); fprintf('*** Parametro k0=zt0/zs0=0,1-1-10 ***\n'); fprintf('Linea SR:Falta Simple, m=0...1\n'); fprintf('Analisis Sm,Rm\n'); fprintf('zt0=k0*zs0'); fprintf('Salida Grafica 1: Sm,Rm(2Subpl), Unidad Pref.(pu), k0=0.1-1-10\n'); fprintf('Salida Grafica 2: Sm,Rm(2Subpl), Unidad Pref.(pua),k0=0.1-1-10\n'); fprintf('\n'); % ------------------------------------------------------------------- %PG42n datos=input('datos: standard=1,input=2: '); if datos==1 Un=220; kE=1; L1=200; L2=100; L3=10; Sccs=1000; Sccr=1000; Scct=5000; compens21=2; Ks0=1.0; Kr0=1.0; % ------------------------------------------------------------------- else Un=input('U(Fase-Fase) kV:400,220,132,66: '); kE=input('kE=E/Enominal: '); L1=input('Longitud Linea SE km: '); L2=input('Longitud Linea ER km: '); L3=input('Longitud Linea ET km: '); Sccs=input('Sccs(MVA): '); Sccr=input('Sccr(MVA): '); Scct=input('Scct(MVA): '); Ks0=input('Ks0: '); Kr0=input('Kr0: '); compens21=input('Compensacion 21: Si=1, No=2 :'); end % ------------------------------------------------------------------- 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 Rgm=input('Resistencia de Falta en m. Rg(Ohm) = '); elseif faltam==8 Rgm=input('Resistencia de Falta en m. Rg(Ohm) = '); elseif faltam==9 Rgm=input('Resistencia de Falta en m. Rg(Ohm) = '); elseif faltam==11 Rgm=input('Resistencia de Falta en m. Rg(Ohm) = '); else Rgm=0; end fprintf('\n'); % ------------------------------------------------------------------- pfaltam=1; % ------------------------------------------------------------------- En=Un/sqrt(3); U=kE*Un; E=kE*En; if Un==400 zl1u=0.0346+0.3208i; zl2u=zl1u; zl0u=0.1828+1.1482i; zlM0u=0.1482+0.7383i; elseif Un==220 zl1u=0.0829+0.4135i; zl2u=zl1u; zl0u=0.2311+1.3085i; zlM0u=0.1482+0.8031i; elseif Un==132 zl1u=0.1342+0.4042i; zl2u=zl1u; zl0u=0.2824+1.3718i; zlM0u=0.1482+0.8947i; elseif Un==66 zl1u=0.2156+0.3952i; zl2u=zl1u; zl0u=0.3636+1.4278i; zlM0u=0.1482+0.9288i; end k=(zl0u-zl1u)/(3*zl1u); zs1=(Un^2/Sccs)*i; zs2=zs1; zr1=(Un^2/Sccr)*i; zr2=zr1; zt1=(Un^2/Scct)*i; zt2=zt1; zs0=Ks0*zs1; zr0=Kr0*zr1; Km=zlM0u/zl1u; zlSR1=zl1u*(L1+L2); zlSR2=zlSR1; zlSR0=zl0u*(L1+L2); zlST1=zl1u*(L1+L3); zlST2=zlST1; zlST0=zl0u*(L1+L3); fila=1; k0=0.1; while k0<11 zt0=k0*zs0; i=1; m=0.01; while m<1; [Minc]=subMinc(1); [z1]=subz1(zs1,zr1,zt1,zlSR1,zlST1,m); [z2]=subz2(zs2,zr2,zt2,zlSR2,zlST2,m); [z0]=subz0(zs0,zr0,zt0,zlSR0,zlST0,zlM0u,L1,L2,m); % MATRIZ DE ADMITANCIA DE BARRAS [Y0]=subY0(Minc,z0); [Y1]=subY1(Minc,z1); [Y2]=subY2(Minc,z2); % ZBUS(0,1,2) Z0=inv(Y0); Z1=inv(Y1); Z2=inv(Y2); % V(0,1,2), I(0,1,2) EN EL PUNTO m DE LA FALTA [Im0,Im1,Im2,Vm0,Vm1,Vm2]=mag2m(Z0,Z1,Z2,E,faltam,Rfm,Rgm,pfaltam); % IBUS(0,1,2) I0=zeros(4,1); I1=zeros(4,1); I2=zeros(4,1); I0(pfaltam,1)=-Im0; I1(pfaltam,1)=-Im1; I2(pfaltam,1)=-Im2; % VBUS(0,1,2) V0=Z0*I0; V1=Z1*I1+E; V2=Z2*I2; % I(0,1,2) DE LOS ELEMENTOS [Ie0]=subIe0(Minc,V0,z0); [Ie1]=subIe1(Minc,V1,z1); [Ie2]=subIe2(Minc,V2,z2); % V(0,1,2), I(0,1,2) EN LOS EXTREMOS DE LINEA Vs0=V0(2); Vr0=V0(3); Vt0=V0(4); Vs1=V1(2); Vr1=V1(3); Vt1=V1(4); Vs2=V2(2); Vr2=V2(3); Vt2=V2(4); Ism0=Ie0(4); Irm0=Ie0(5); Its0=Ie0(6); Ist0=-Its0; Ism1=Ie1(4); Irm1=Ie1(5); Its1=Ie1(6); Ist1=-Its1; Ism2=Ie2(4); Irm2=Ie2(5); Its2=Ie2(6); Ist2=-Its2; [Vma,Vmb,Vmc]=abc(Vm0,Vm1,Vm2); [Ima,Imb,Imc]=abc(Im0,Im1,Im2); [Vsa,Vsb,Vsc]=abc(Vs0,Vs1,Vs2); [Vra,Vrb,Vrc]=abc(Vr0,Vr1,Vr2); [Vta,Vtb,Vtc]=abc(Vt0,Vt1,Vt2); [Isma,Ismb,Ismc]=abc(Ism0,Ism1,Ism2); [Irma,Irmb,Irmc]=abc(Irm0,Irm1,Irm2); [Ista,Istb,Istc]=abc(Ist0,Ist1,Ist2); [Itsa,Itsb,Itsc]=abc(Its0,Its1,Its2); % 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,Ist0); [Rm_ZAB,Rm_ZBC,Rm_ZCA,Rm_ZAG,Rm_ZBG,Rm_ZCG]=... PDist(Vra,Vrb,Vrc,Irma,Irmb,Irmc,Irm0,k); [St_ZAB,St_ZBC,St_ZCA,St_ZAG,St_ZBG,St_ZCG]=... PDistComp(Vsa,Vsb,Vsc,Ista,Istb,Istc,Ist0,k,Km,Ism0); [Ts_ZAB,Ts_ZBC,Ts_ZCA,Ts_ZAG,Ts_ZBG,Ts_ZCG]=... PDist(Vta,Vtb,Vtc,Itsa,Itsb,Itsc,Its0,k); 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); [Rm_ZAB,Rm_ZBC,Rm_ZCA,Rm_ZAG,Rm_ZBG,Rm_ZCG]=... PDist(Vra,Vrb,Vrc,Irma,Irmb,Irmc,Irm0,k); [St_ZAB,St_ZBC,St_ZCA,St_ZAG,St_ZBG,St_ZCG]=... PDist(Vsa,Vsb,Vsc,Ista,Istb,Istc,Ist0,k); [Ts_ZAB,Ts_ZBC,Ts_ZCA,Ts_ZAG,Ts_ZBG,Ts_ZCG]=... PDist(Vta,Vtb,Vtc,Itsa,Itsb,Itsc,Its0,k); end [Vspol,Ismop,AngDirSm]=PDire(Vs0,Ism0); [Vrpol,Irmop,AngDirRm]=PDire(Vr0,Irm0); [Vspol,Istop,AngDirSt]=PDire(Vs0,Ist0); [Vtpol,Itsop,AngDirTs]=PDire(Vt0,Its0); % 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f;Rgm=%-3.0f',cfaltam,elementom,Rfm,Rgm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f;Rgm=%-3.0f',cfaltam,elementom,Rfm,Rgm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f;Rgm=%-3.0f',cfaltam,elementom,Rfm,Rgm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f',cfaltam,elementom,Rfm); 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'; cadenam=sprintf('SR,m:%s,%s,Rfm=%-3.0f;Rgm=%-3.0f',cfaltam,elementom,Rfm,Rgm); end alcanceSmpu=alcanceSm/abs(m*zl1u*(L1+L2)); alcanceRmpu=alcanceRm/abs((1-m)*zl1u*(L1+L2)); alcanceSmpua=alcanceSm/abs(zl1u*(L1+L2)); alcanceRmpua=alcanceRm/abs(zl1u*(L1+L2)); 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 cadena0=sprintf('PG42n,%s,%4.0f(KV),kE=%-4.2f,L1=%4.0f(km),',comp,Un,kE,L1); cadena1=sprintf('L2=%4.0f(km),L3=%4.0f(km),Sccs=%-5.0f,Sccr=%-5.0f\n',L2,L3,Sccs,Sccr); cadena2=sprintf('Scct=%-5.0f,Ks0=%-4.2f,Kr0=%-4.2f,',Scct,Ks0,Kr0); cadenam=sprintf('%s %s %s %s',cadena0,cadena1,cadena2,cadenam); % ----------------------------------------------------------------------- variassalidas=1; while variassalidas==1 fprintf('Salida Grafica 1: Sm,Rm(2Subpl), Unidad Pref.(pu), k0=0.1-1-10\n'); fprintf('Salida Grafica 2: Sm,Rm(2Subpl), Unidad Pref.(pua),k0=0.1-1-10\n'); salida=input('Salida: 1,2 :'); switch(salida) case{1}, 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(cadenam) 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(cadenam) xlabel('m'),ylabel('alcanceRmpu') legend('Ref','Lim','k0=0.1','k0=1','k0=10') case(2) 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 Abscisa1a=Abscisa(1:1,1:(i-1)); Ordenada1a=OrdenadaSma(1:1,1:(i-1)); Abscisa2a=Abscisa(2:2,1:(i-1)); Ordenada2a=OrdenadaSma(2:2,1:(i-1)); Abscisa3a=Abscisa(3:3,1:(i-1)); Ordenada3a=OrdenadaSma(3:3,1:(i-1)); Abscisa4a=Abscisa(1:1,1:(i-1)); Ordenada4a=OrdenadaRma(1:1,1:(i-1)); Abscisa5a=Abscisa(2:2,1:(i-1)); Ordenada5a=OrdenadaRma(2:2,1:(i-1)); Abscisa6a=Abscisa(3:3,1:(i-1)); Ordenada6a=OrdenadaRma(3:3,1:(i-1)); subplot(2,1,1) plot(Abscisa0,Ordenada0,'c',Abscisa0,Ordenadaz1,'m',Abscisa1a,Ordenada1a,'r',Abscisa2a,Ordenada2a,'g',... Abscisa3a,Ordenada3a,'b'),grid on %axis([0 1 0 2]); title(cadenam) xlabel('m'),ylabel('alcanceSmpua') %legend('Ref','z1','k0=0.1','k0=1','k0=10') subplot(2,1,2) plot(Abscisa00,Ordenada00,'c',Abscisa0,Ordenadaz1,'m',Abscisa4a,Ordenada4a,'r',... Abscisa5a,Ordenada5a,'g',Abscisa6a,Ordenada6a,'b'),grid on %axis([0 1 0 2]); %title(cadenam) 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');