$               This information is provided by the
$                       Aptronix FuzzyNet
$                 http://www.aptronix.com/fuzzynet 
$                  email fuzzynet@aptronix.com 
$               Aptronix may also be reached by phone
$                       at 408-261-1898 or
$                       FAX at 408-490-2729
$
$
$ FILENAME:	temp/temp1_dt.fil
$ DATE: 	31/08/1992
$ UPDATE:	02/09/1992

$ Temperature Controller : Part 1 : dead time compensator
$ Two inputs, one output
$ 	INPUT(S):	Prev(ious)_Var(iationOf)_Control, TimeDiff(erentialOf)_Output
$ 	OUTPUT(S):	Var(iationOf)_Control

$ FIU HEADER

fiu tvfi (min max) *8;

$ DEFINITION OF INPUT VARIABLE(S)

invar Prev_Var_Control " " : -1 () 1 [
	P_Large     (@0.45,  0, @0.75,  1,  @1.00,  1),
	P_Medium    (@0.15,  0, @0.45,  1,  @0.75,  0),
	P_Small     (@-0.15, 0, @0.15,  1,  @0.45,  0),
	N_Small     (@-0.45, 0, @-0.15, 1,  @0.15,  0),
	N_Medium    (@-0.75, 0, @-0.45, 1,  @-0.15, 0),
	N_Large     (@-1.00, 1, @-0.75, 1,  @-0.45, 0)
	]; 

invar TimeDiff_Output " " : -90 () 90 [
	P_Large     (@20,  0,  @60,  1,  @90,  1),
	P_Small     (@-20, 0,  @20,  1,  @60,  0),
	N_Small     (@-60, 0,  @-20, 1,  @20,  0),
	N_Large     (@-90, 1,  @-60, 1,  @-20, 0)
	]; 


$ DEFINITION OF OUTPUT VARIABLE(S)

outvar Var_Control " " : -1 () 1 * (
	P_Large      = 0.80,      
	P_Medium     = 0.40,
	P_Small      = 0.20,
	Zero         = 0.00,
	N_Small      = -0.20,
	N_Medium     = -0.40,
	N_Large      = -0.80
    );


$ RULES

if Prev_Var_Control is P_Large and TimeDiff_Output is P_Large then Var_Control is N_Large;
if Prev_Var_Control is P_Large and TimeDiff_Output is P_Small then Var_Control is N_Medium;
if Prev_Var_Control is P_Large and TimeDiff_Output is N_Small then Var_Control is N_Small;
if Prev_Var_Control is P_Large and TimeDiff_Output is N_Large then Var_Control is Zero;
 
if Prev_Var_Control is P_Medium and TimeDiff_Output is P_Large then Var_Control is N_Medium;
if Prev_Var_Control is P_Medium and TimeDiff_Output is P_Small then Var_Control is N_Small;
if Prev_Var_Control is P_Medium and TimeDiff_Output is N_Small then Var_Control is Zero;
if Prev_Var_Control is P_Medium and TimeDiff_Output is N_Large then Var_Control is Zero;

if Prev_Var_Control is P_Small and TimeDiff_Output is P_Large then Var_Control is N_Small;
if Prev_Var_Control is P_Small and TimeDiff_Output is P_Small then Var_Control is Zero;
if Prev_Var_Control is P_Small and TimeDiff_Output is N_Small then Var_Control is Zero;
if Prev_Var_Control is P_Small and TimeDiff_Output is N_Large then Var_Control is Zero;

if Prev_Var_Control is N_Small and TimeDiff_Output is P_Large then Var_Control is Zero;
if Prev_Var_Control is N_Small and TimeDiff_Output is P_Small then Var_Control is Zero;
if Prev_Var_Control is N_Small and TimeDiff_Output is N_Small then Var_Control is Zero;
if Prev_Var_Control is N_Small and TimeDiff_Output is N_Large then Var_Control is P_Small;

if Prev_Var_Control is N_Medium and TimeDiff_Output is P_Large then Var_Control is Zero;
if Prev_Var_Control is N_Medium and TimeDiff_Output is P_Small then Var_Control is Zero;
if Prev_Var_Control is N_Medium and TimeDiff_Output is N_Small then Var_Control is P_Small;
if Prev_Var_Control is N_Medium and TimeDiff_Output is N_Large then Var_Control is P_Medium;

if Prev_Var_Control is N_Large and TimeDiff_Output is P_Large then Var_Control is Zero;
if Prev_Var_Control is N_Large and TimeDiff_Output is P_Small then Var_Control is P_Small;
if Prev_Var_Control is N_Large and TimeDiff_Output is N_Small then Var_Control is P_Medium;
if Prev_Var_Control is N_Large and TimeDiff_Output is N_Large then Var_Control is P_Large

end