clc variasejecuciones=1; while variasejecuciones==1 clear % -------------------------------------------------- fprintf('PG44co\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('*** Comparacion Compensacion Si,No ***\n'); fprintf('Eleccion: kE,L1,L2,L3,Sccs,Sccr,Scct,Kr0,Ks0\n'); fprintf('Eleccion: k0=zt0/zs0\n'); fprintf('Falta Doble,m=0...1 de SE(R) o ER\n'); fprintf(' p=fijo a elegir de SE(T) o ET\n'); fprintf('Analisis Sm,Rm\n'); fprintf('Salida Grafica 1: Sm,Rm(2 Subpl),Unidad Pref.(pu)\n'); fprintf('Salida Grafica 2: Sm,Rm(2 Subpl),Unidad Pref.(pua)\n'); fprintf('\n'); % -------------------------------------------------- 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; Ks0=1; Kr0=1; % -------------------------------------------------- else Un=input('Un kV: 400,220,132,66 :'); kE=input('kE=E/Enominal: '); L1=input('L1 km: '); L2=input('L2 km: '); L3=input('L3 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 % -------------------------------------------------- a=0.5; b=0.5; c=0.5; d=0.5; % -------------------------------------------------- k0=input('k0=zt0/zs0: '); fprintf('Tramo con Falta p: T21=8,T22=9\n'); pfaltap=input('Tramo con Falta p: '); if pfaltap==8 fprintf('Falta p en Linea ST, entre S y E\n'); c=input('p=(0...1)='); p=c; elseif pfaltap==9 fprintf('Falta p en Linea ST, entre E y T\n'); d=input('p=(0...1)='); p=d; end if pfaltap==8 tfaltap='T21'; elseif pfaltap==9 tfaltap='T22'; end fprintf('Tramo con Falta m: T11=6,T12=7\n'); pfaltam=input('Tramo con Falta m: '); if pfaltam==6 tfaltam='T11'; elseif pfaltam==7 tfaltam='T12'; 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|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 % ----------------------------------------------------------------- % 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 %L=L1+L2; % ---------------------------------------------------- % CALCULOS % ----------------------------------------------------- zt0=k0*zs0; fila=1; while fila<3 i=1; m=0.01; while m<1; if pfaltam==6 a=m; elseif pfaltam==7 b=m; end [Minc]=subMinc(1); [Minca]=subMinca(1); [z0]=subz0(zs0,zr0,zt0,zl0u,zlM0u,L1,L2,L3,a,b,c,d); % pu [z1]=subz1(zs1,zr1,zt1,zl1u,L1,L2,L3,a,b,c,d); % pu [z2]=subz2(zs2,zr2,zt2,zl2u,L1,L2,L3,a,b,c,d); % 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); 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(9,1); I1=zeros(9,1); I2=zeros(9,1); I0(pfaltam,1)=-Im0; I1(pfaltam,1)=-Im1; I2(pfaltam,1)=-Im2; I0(pfaltap,1)=-Ip0; I1(pfaltap,1)=-Ip1; I2(pfaltap,1)=-Ip2; % VBUS(0,1,2) V0=Z0*I0; V1=Z1*I1+E; V1a=[V1;E]; V2=Z2*I2; % I(0,1,2) DE LOS ELEMENTOS [Ie0]=subIe0(Minc,V0,z0); [Ie1]=subIe1(Minca,V1a,z1); [Ie2]=subIe2(Minc,V2,z2); % ASIGNACIONES V,I Vs0=V0(1);Vs1=V1(1);Vs2=V2(1); Vr0=V0(2);Vr1=V1(2);Vr2=V2(2); Vt0=V0(3);Vt1=V1(3);Vt2=V2(3); Is0=Ie0(1);Is1=Ie1(1);Is2=Ie2(1); Ir0=Ie0(2);Ir1=Ie1(2);Ir2=Ie2(2); It0=Ie0(3);It1=Ie1(3);It2=Ie2(3); Isr0=Ie0(4);Isr1=Ie1(4);Isr2=Ie2(4); Ist0=Ie0(5);Ist1=Ie1(5);Ist2=Ie2(5); Irs0=Ie0(6);Irs1=Ie1(6);Irs2=Ie2(6); Its0=Ie0(7);Its1=Ie1(7);Its2=Ie2(7); [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); [Isra,Isrb,Isrc]=abc(Isr0,Isr1,Isr2); [Ista,Istb,Istc]=abc(Ist0,Ist1,Ist2); [Irsa,Irsb,Irsc]=abc(Irs0,Irs1,Irs2); [Itsa,Itsb,Itsc]=abc(Its0,Its1,Its2); % PROTECCION DE DISTANCIA (21) if fila==1 % COMPENSADA [Sr_ZAB,Sr_ZBC,Sr_ZCA,Sr_ZAG,Sr_ZBG,Sr_ZCG]=... PDistComp(Vsa,Vsb,Vsc,Isra,Isrb,Isrc,Isr0,k,Km,Ist0); [St_ZAB,St_ZBC,St_ZCA,St_ZAG,St_ZBG,St_ZCG]=... PDistComp(Vsa,Vsb,Vsc,Ista,Istb,Istc,Ist0,k,Km,Isr0); %[Rs_ZAB,Rs_ZBC,Rs_ZCA,Rs_ZAG,Rs_ZBG,Rs_ZCG]=... % PDistComp(Vra,Vrb,Vrc,Irsa,Irsb,Irsc,Irs0,k,Km,Its0); %[Ts_ZAB,Ts_ZBC,Ts_ZCA,Ts_ZAG,Ts_ZBG,Ts_ZCG]=... % PDistComp(Vta,Vtb,Vtc,Itsa,Itsb,Itsc,Its0,k,Km,Irs0); [Rs_ZAB,Rs_ZBC,Rs_ZCA,Rs_ZAG,Rs_ZBG,Rs_ZCG]=... PDist(Vra,Vrb,Vrc,Irsa,Irsb,Irsc,Irs0,k); [Ts_ZAB,Ts_ZBC,Ts_ZCA,Ts_ZAG,Ts_ZBG,Ts_ZCG]=... PDist(Vta,Vtb,Vtc,Itsa,Itsb,Itsc,Its0,k); elseif fila==2 % NO COMPENSADA [Sr_ZAB,Sr_ZBC,Sr_ZCA,Sr_ZAG,Sr_ZBG,Sr_ZCG]=... PDist(Vsa,Vsb,Vsc,Isra,Isrb,Isrc,Isr0,k); [St_ZAB,St_ZBC,St_ZCA,St_ZAG,St_ZBG,St_ZCG]=... PDist(Vsa,Vsb,Vsc,Ista,Istb,Istc,Ist0,k); [Rs_ZAB,Rs_ZBC,Rs_ZCA,Rs_ZAG,Rs_ZBG,Rs_ZCG]=... PDist(Vra,Vrb,Vrc,Irsa,Irsb,Irsc,Irs0,k); [Ts_ZAB,Ts_ZBC,Ts_ZCA,Ts_ZAG,Ts_ZBG,Ts_ZCG]=... PDist(Vta,Vtb,Vtc,Itsa,Itsb,Itsc,Its0,k); end % 67N [Vspol,Isrop,AngDirSr]=PDire(Vs0,Isr0); VVspol=Vspol*Vbase;IIsrop=Isrop*Ibase; [Vspol,Istop,AngDirSt]=PDire(Vs0,Ist0); IIstop=Istop*Ibase; [Vrpol,Irsop,AngDirRs]=PDire(Vr0,Irs0); VVrpol=Vrpol*Vbase;IIrsop=Irsop*Ibase; [Vtpol,Itsop,AngDirTs]=PDire(Vt0,Its0); VVtpol=Vtpol*Vbase;IItsop=Itsop*Ibase; % ****************************************************************** % *************************** SALIDA ****************************** % ****************************************************************** if faltam==1 cfaltam='ag'; alcanceSm=abs(Sr_ZAG)/cos(angle(Sr_ZAG)-angle(zl1u)); alcanceRm=abs(Rs_ZAG)/cos(angle(Rs_ZAG)-angle(zl1u)); elementom='AG'; elseif faltam==2 cfaltam='bg'; alcanceSm=abs(Sr_ZBG)/cos(angle(Sr_ZBG)-angle(zl1u)); alcanceRm=abs(Rs_ZBG)/cos(angle(Rs_ZBG)-angle(zl1u)); elementom='BG'; elseif faltam==3 cfaltam='cg'; alcanceSm=abs(Sr_ZCG)/cos(angle(Sr_ZCG)-angle(zl1u)); alcanceRm=abs(Rs_ZCG)/cos(angle(Rs_ZCG)-angle(zl1u)); elementom='CG'; elseif faltam==4 cfaltam='ab'; alcanceSm=abs(Sr_ZAB)/cos(angle(Sr_ZAB)-angle(zl1u)); alcanceRm=abs(Rs_ZAB)/cos(angle(Rs_ZAB)-angle(zl1u)); elementom='AB'; elseif faltam==5 cfaltam='bc'; alcanceSm=abs(Sr_ZBC)/cos(angle(Sr_ZBC)-angle(zl1u)); alcanceRm=abs(Rs_ZBC)/cos(angle(Rs_ZBC)-angle(zl1u)); elementom='BC'; elseif faltam==6 cfaltam='ca'; alcanceSm=abs(Sr_ZCA)/cos(angle(Sr_ZCA)-angle(zl1u)); alcanceRm=abs(Rs_ZCA)/cos(angle(Rs_ZCA)-angle(zl1u)); elementom='CA'; elseif faltam==7 cfaltam='abg'; alcanceSm=abs(Sr_ZAB)/cos(angle(Sr_ZAB)-angle(zl1u)); alcanceRm=abs(Rs_ZAB)/cos(angle(Rs_ZAB)-angle(zl1u)); elementom='AB'; elseif faltam==8 cfaltam='bcg'; alcanceSm=abs(Sr_ZBC)/cos(angle(Sr_ZBC)-angle(zl1u)); alcanceRm=abs(Rs_ZBC)/cos(angle(Rs_ZBC)-angle(zl1u)); elementom='BC'; elseif faltam==9 cfaltam='cag'; alcanceSm=abs(Sr_ZCA)/cos(angle(Sr_ZCA)-angle(zl1u)); alcanceRm=abs(Rs_ZCA)/cos(angle(Rs_ZCA)-angle(zl1u)); elementom='CA'; elseif faltam==10 cfaltam='abc'; alcanceSm=abs(Sr_ZBC)/cos(angle(Sr_ZBC)-angle(zl1u)); alcanceRm=abs(Rs_ZBC)/cos(angle(Rs_ZBC)-angle(zl1u)); elementom='BC'; elseif faltam==11 cfaltam='abcg'; alcanceSm=abs(Sr_ZBC)/cos(angle(Sr_ZBC)-angle(zl1u)); alcanceRm=abs(Rs_ZBC)/cos(angle(Rs_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 if pfaltam==6 alcanceSmpu=alcanceSm/abs(zl1u*m*L1); alcanceRmpu=alcanceRm/abs(zl1u*(L2+(1-m)*L1)); elseif pfaltam==7 alcanceSmpu=alcanceSm/abs(zl1u*(L1+m*L2)); alcanceRmpu=alcanceRm/abs(zl1u*(1-m)*L2); end 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 % ----------------------------------------------------------------------- cadenam1=sprintf('PG44co,%3.0fkV,kE=%-4.2f,L1=%3.0fkm,L2=%3.0fkm,L3=%3.0fkm',... Un,kE,L1,L2,L3); cadenamT1=sprintf('Sccs=%-5.0f,Sccr=%-5.0f,Scct=%-5.0f\n',Sccs,Sccr,Scct); cadenamT2=sprintf('Ks0=%-5.2f,Kr0=%-5.2f,k0=%-5.2f',Ks0,Kr0,k0); cadenam1=sprintf('%s,%s,%s',cadenam1,cadenamT1,cadenamT2); cadenam2=sprintf('m:%s,%s,%s,Rfm=%-3.0f',cfaltam,tfaltam,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,%s,Rfp=%-3.0f',p,tfaltap,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 (1 plot),Unidad Pref.(pu)\n'); fprintf('Salida Grafica 2: Sm (1 plot),Unidad Pref.(pua)\n'); salida=input('Salida: 1,2 :'); switch(salida) case{1}, % Salida Grafica 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)); if pfaltam==6 mm=0.01; cont=1; while mm<1; Abscisa0(cont)=mm; Ordenada0(cont)=1; LimSr(cont)=(0.8*(L1+L2))/(mm*L1); LimRs(cont)=(0.8*(L1+L2))/(L2+(1-mm)*L1); cont=cont+1; mm=mm+0.01; end elseif pfaltam==7 mm=0.01; cont=1; while mm<1; Abscisa0(cont)=mm; Ordenada0(cont)=1; LimSr(cont)=(0.8*(L1+L2))/(L1+mm*L2); LimRs(cont)=(0.8*(L1+L2))/((1-mm)*L2); cont=cont+1; mm=mm+0.01; end end ejemasy1=input('Subplot 1: Eje +y: '); ejemenosy1=input('Subplot 1: Eje -y (con signo): '); plot(Abscisa0,Ordenada0,'c',Abscisa0,LimSr,'m',Abscisa1m,Ordenada1m,'r',Abscisa2m,Ordenada2m,'g'),grid on axis([0 1 ejemenosy1 ejemasy1]); title(cadenamp) xlabel('m'),ylabel('alcanceSmpu') legend('Ref','Lim','21c','21nc') case(2) % Salida Grafica 2 if pfaltam==6 mm=0.01; cont=1; while mm<1; Abscisa0(cont)=mm; Ordenada0(cont)=(L1/(L1+L2))*mm; Abscisa00(cont)=mm; Ordenada00(cont)=1-(L1/(L1+L2))*mm; Ordenadaz1(cont)=0.8; cont=cont+1; mm=mm+0.01; end elseif pfaltam==7 mm=0.01; cont=1; while mm<1; Abscisa0(cont)=mm; Ordenada0(cont)=L1/(L1+L2)+(L2/(L1+L2))*mm; Abscisa00(cont)=mm; Ordenada00(cont)=L2/(L1+L2)-(L2/(L1+L2))*mm; Ordenadaz1(cont)=0.8; cont=cont+1; mm=mm+0.01; end end % fin del if 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)); plot(Abscisa0,Ordenada0,'c',Abscisa0,Ordenadaz1,'m',Abscisa1ma,Ordenada1ma,'r',Abscisa2ma,Ordenada2ma,'g'),grid on %axis([0 1 0 2]); title(cadenamp) xlabel('m'),ylabel('alcanceSmpua') legend('Ref','z1','21c','21nc') 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');