% 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 e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


DESARROLLO DE UN MODELO INTEGRAL PARA MOTORES DE ENCENDIDO POR COMPRESIÓN DE INYECCIÓN DIRECTA

: Rueda Montero, Fernando
: Ingeniería Industrial
Contenido del proyecto: