summaryrefslogtreecommitdiff
path: root/examples/mamdani/SimpleDimmer.fcl
diff options
context:
space:
mode:
authorJohannes Schauer <josch@debian.org>2015-07-07 10:12:00 +0100
committerJohannes Schauer <josch@debian.org>2015-07-07 10:12:00 +0100
commit0e8c1c9d31d15034b1ff1062c9bf0bfcdc849dd9 (patch)
tree840a335d9a4487d3f1909a31c8526a2e647809e7 /examples/mamdani/SimpleDimmer.fcl
Import fuzzylite_5.1+dfsg.orig.tar.xz
[dgit import orig fuzzylite_5.1+dfsg.orig.tar.xz]
Diffstat (limited to 'examples/mamdani/SimpleDimmer.fcl')
-rw-r--r--examples/mamdani/SimpleDimmer.fcl35
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/mamdani/SimpleDimmer.fcl b/examples/mamdani/SimpleDimmer.fcl
new file mode 100644
index 0000000..a9b9552
--- /dev/null
+++ b/examples/mamdani/SimpleDimmer.fcl
@@ -0,0 +1,35 @@
+FUNCTION_BLOCK simple-dimmer
+
+VAR_INPUT
+ Ambient: REAL;
+END_VAR
+
+VAR_OUTPUT
+ Power: REAL;
+END_VAR
+
+FUZZIFY Ambient
+ RANGE := (0.000 .. 1.000);
+ TERM DARK := Triangle 0.000 0.250 0.500;
+ TERM MEDIUM := Triangle 0.250 0.500 0.750;
+ TERM BRIGHT := Triangle 0.500 0.750 1.000;
+END_FUZZIFY
+
+DEFUZZIFY Power
+ RANGE := (0.000 .. 1.000);
+ TERM LOW := Triangle 0.000 0.250 0.500;
+ TERM MEDIUM := Triangle 0.250 0.500 0.750;
+ TERM HIGH := Triangle 0.500 0.750 1.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK
+ ACT : MIN;
+ RULE 1 : if Ambient is DARK then Power is HIGH
+ RULE 2 : if Ambient is MEDIUM then Power is MEDIUM
+ RULE 3 : if Ambient is BRIGHT then Power is LOW
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK