You are on page 1of 2

FUNCTION_BLOCK Fuzzy_FB

VAR_INPUT

temp : REAL;

END_VAR

VAR_OUTPUT

pot : REAL;

END_VAR

FUZZIFY temp

TERM very cold := (3, 1) (7, 0);

TERM cold := (6, 0) (9, 1) (12,0);

TERM warm := (11, 0) (14, 1) (17,0);

TERM hot := (16, 0) (20, 1);

END_FUZZIFY

DEFUZZIFY pot

TERM zero := 0;

TERM medium := 15;

TERM high := 30;

TERM very high := 50;

ACCU : MAX;

METHOD : COGS;

DEFAULT := 0;

END_DEFUZZIFY

RULEBLOCK No1

AND : MIN;

RULE 1 : IF temp IS very cold THEN pot IS very high

RULE 2 : IF temp IS cold THEN pot IS medium

RULE 2 : IF temp IS warm THEN pot IS high


RULE 3 : IF temp IS hot THEN pot IS zero

END_RULEBLOCK

END_FUNCTION_BLOCK

You might also like