Académique Documents
Professionnel Documents
Culture Documents
Luego emergerá la ventana DPL Command en la que ponemos nombre a nuestro DPL, una vez
hecho esto damos click en Save y Execute.
Una vez creado el archivo DPL, en el lado derecho de la ventana hacer clic derecho y
seleccionar la opción que se ve a continuación.
Una vez hecho esto, procedemos a dar clic derecho en nuestro DPL creado y en la
opción editar, luego clickamos en la opción de script. Y procedemos con la
Programación.
En nuestra programación utilizamos variables (en este caso del tipo double que
quiere decir que son números, pero con una capacidad máxima de decimales).
Definimos el DPL filtro con el cual vamos a trabajar (en este caso se llama
Generador) y también los objetos de dicho filtro (Generador1 y Generador2).
Luego utilizamos el comando Get, el cual nos permite iniciar el enlace con el DPL,
las siguientes dos líneas son para obtener los datos de dicho DPL.
set sGenerador;
object oGenerador1, oGenerador2;
double a1,b1,c1,a2,b2,c2,Costo1,Costo2,CostoTot;
a1=17113;
b1=121.89;
c1=0.1627;
a2=21418;
b2=-171.46;
c2=2.945;
sGenerador=Generador.Get();
oGenerador1=sGenerador.First();
oGenerador2=sGenerador.Next();
PROGRAMACION EN MATLAB:
Despacho Optimo considerando limites de generacion y sin
perdidas
%C=Matriz de costo de las generadoras termoeléctricas
%Pd=Demanda de potencia
C=input('Ingresa la matriz de costo de las Generadoras: ');
Pd=input('Ingresa el valor de la Demanda de potencia (MW): ');
lamb=input('Ingresa el Valor de lambda inicial: ');
iter=input('Ingresa el Número de iteraciones: ');
[m,n]=size(C); %m=Número de Generadoras termoelectricas
Pg=zeros(m,1); %Vector de costos calculados
Plim=zeros(m); %Matriz de limites de potencia
for i=1:m
fprintf('Límite de generación de Central %d\n ',i);
Plim(i,1:n-1)=input('[min max] (MW): ');
End
for i=1:iter
for j=1:m
Pg(j)=(lamb-C(j,2))/(2*C(j,3));
end
for j=1:m
if Pg(j)<=Plim(j,1) %Si la generacion esta debajo
del minimo toma ese valor minimo
Pg(j)=Plim(j,1);
end
end
for k=1:m
if Pg(k)>=Plim(k,2) %Si la generacion esta encima
del máximo toma ese valor maximo
Pg(k)=Plim(k,2);
end
end
Ptot=sum(Pg);
varP=Pd-Ptot; %Variacion de potencia
S=0;
for k=1:m
S=S+(1/(2*C(k,3)));
end
varL=varP/S; %Variacion de lambda
lamb=lamb+varL;
if abs(varP)<0.00000001
break
end
end
%CALCULO DEL COSTO TOTAL
Costo_tot=0;
for i=1:m
Costo_tot=Costo_tot+C(i,1)+C(i,2)*Pg(i)+C(i,3)*(Pg(i))^2;
end
disp('---Potencias Generadas---')
disp(' G1 G2')
disp(Pg')
fprintf('Lambda final: %f \n',lamb)
fprintf('Costo total del despacho ($/h)= %f \n',Costo_tot)
ANÁLISIS DE CONTINGENCIAS:
A)