% MECDI: Programa de llamada a las distintas pantallas de programación
global DD RR LL RC CC Z Agua IIE PEE TEE TWW CN FM F EGR FU RPM AAA AAE RCE RCA comienzo
global V P T ANG Hc HR Carga calor aceptar aceptar1 Za Edad rl ralenti rev_maxima dosado_min
aceptar=0;
aceptar1=0;
aceptar2=0;
calor=1;   
Err=0;
FU=0;
seguir=0;
pantalla1;
RPM=ralenti;
if Err<2 
%Mensajes de error por introducción incorrecta de datos
if isempty(RR) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RR<3
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RR>26
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(LL) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif LL<10
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif LL>90
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(DD) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif DD<7
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif DD>40
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(Z) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif Z<1
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif Z>10
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(CC) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RC<12
  Hd_error1=errordlg('Variables fuera de límites','Error');
  waitfor(Hd_error1);
  Err=1;
elseif RC>25
  Hd_error1=errordlg('Variables fuera de límites','Error');
  waitfor(Hd_error1);
  Err=1;
elseif isempty(TEE) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif TEE<-10
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif TEE>60
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(PEE) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif PEE<0.85
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif PEE>1.03
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(HR) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif HR<20
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif HR>100
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(TWW) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif TWW<25
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif TWW>120
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(CN) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif CN<30
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif CN>60
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(FM) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif FM<0.7
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif FM>0.8
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(Agua) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif Agua<0
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif Agua>40
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(Hc) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif Hc<40
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif Hc>50
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(AAA) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif AAA<0
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif AAA>(pi/180)*20
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(RCA) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RCA<(pi/180)*0
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RCA>(pi/180)*60
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(AAE) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif AAE<(pi/180)*0
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif AAE>(pi/180)*60
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(RCE) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RCE<(pi/180)*0
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif RCE>(pi/180)*40
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(ralenti) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif ralenti<800
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif ralenti>1200
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif isempty(rev_maxima) 
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif rev_maxima<2000
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
elseif rev_maxima>5000
   Hd_error1=errordlg('Variables fuera de límites','Error');
   waitfor(Hd_error1);
   Err=1;
end   

if calor==0
% Tasa de calor por pantalla
   if isempty(gamp) 
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif gamp<(pi/180)*7
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif gamp>(pi/180)*15
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif isempty(gamd) 
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif gamd<(pi/180)*80
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif gamd>(pi/180)*90
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif isempty(Mp) 
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Mp<2
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Mp>4
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif isempty(Md) 
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error1);
   Err=1;
   elseif Md<0.5
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Md>1
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif isempty(Qp) 
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Qp<8
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Qp>20
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif isempty(Qd) 
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Qd<20
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
   elseif Qd>40
   Hd_error2=errordlg('Error en las variables de la Tasa de calor','Error');
   waitfor(Hd_error2);
   Err=1;
end   
end
if FU==1
   if isempty(Za) 
   Hd_error3=errordlg('Error en el módulo de fugas','Error');
   waitfor(Hd_error3);
   Err=1;
   elseif Za>3
   Hd_error3=errordlg('Error en el módulo de fugas','Error');
   waitfor(Hd_error3);
   Err=1;
   elseif Za<2
   Hd_error3=errordlg('Error en el módulo de fugas','Error');
   waitfor(Hd_error3);
   Err=1;
   end
   if isempty(Edad) 
   Hd_error3=errordlg('Error en el módulo de fugas','Error');
   waitfor(Hd_error3);
   Err=1;
   elseif Edad>10
   Hd_error3=errordlg('Error en el módulo de fugas','Error');
   waitfor(Hd_error3);
   Err=1;
   elseif Edad<1
   Hd_error3=errordlg('Error en el módulo de fugas','Error');
   waitfor(Hd_error3);
   Err=1;
   end
end 
rd=2*RR/DD;
rl=RR/LL;
if DD<10
   if rd<0.8
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida en el intervalo S/D=[0.9 1.2]','Error');
   waitfor(Hd_error4);
   Err=1;
   elseif rd>1.4
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida en el intervalo S/D=[0.9 1.2]','Error');
   waitfor(Hd_error4);
   Err=1;
   end   
elseif DD<=15
   if rd<0.8
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida ene el intervalo S/D=[0.8 1.3]','Error');
   waitfor(Hd_error4);
   Err=1;
   elseif rd>1.4
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida ene el intervalo S/D=[0.8 1.3]','Error');
   waitfor(Hd_error4);
   Err=1;
   end  
elseif DD<25
   if rd<1.1
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida ene el intervalo S/D=[1.1 1.3]','Error');
   waitfor(Hd_error4);
   Err=1;
   elseif rd>1.3
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida ene el intervalo S/D=[1.1 1.3]','Error');
   waitfor(Hd_error4);
   Err=1;
   end  
elseif DD<=40
   if rd<1.1
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida ene el intervalo S/D=[1.1 1.3]','Error');
   waitfor(Hd_error4);
   Err=1;
   elseif rd>1.3
   Hd_error4=errordlg('La relación carrera-diámetro para este tamaño debe estar comprendida ene el intervalo S/D=[1.1 1.3]','Error');
   waitfor(Hd_error4);
   Err=1;
   end  
end
if rl<0.25
   Hd_error5=errordlg('debe cumplirse la relación R/L=[0.25 0.3]','Error');
   waitfor(Hd_error5);
   Err=1;
elseif rl>0.3
   Hd_error5=errordlg('debe cumplirse la relación R/L=[0.25 0.3]','Error');
   waitfor(Hd_error5);
   Err=1;
end

end
%evaluación de errores
if Err==0
   programa0;
   pantalla1_1;
elseif Err==2
   clear all;
   close;
elseif Err==1
   MECDI1;
end


