$ 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