Spaces:
Running
Running
<title>CodeMirror: FCL mode</title> | |
<meta charset="utf-8"/> | |
<link rel=stylesheet href="../../doc/docs.css"> | |
<link rel="stylesheet" href="../../lib/codemirror.css"> | |
<link rel="stylesheet" href="../../theme/elegant.css"> | |
<script src="../../lib/codemirror.js"></script> | |
<script src="../../addon/edit/matchbrackets.js"></script> | |
<script src="fcl.js"></script> | |
<style>.CodeMirror {border:1px solid #999; background:#ffc}</style> | |
<div id=nav> | |
<a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a> | |
<ul> | |
<li><a href="../../index.html">Home</a> | |
<li><a href="../../doc/manual.html">Manual</a> | |
<li><a href="https://github.com/codemirror/codemirror">Code</a> | |
</ul> | |
<ul> | |
<li><a href="../index.html">Language modes</a> | |
<li><a class=active href="#">FCL</a> | |
</ul> | |
</div> | |
<article> | |
<h2>FCL mode</h2> | |
<form><textarea id="code" name="code"> | |
FUNCTION_BLOCK Fuzzy_FB | |
VAR_INPUT | |
TimeDay : REAL; (* RANGE(0 .. 23) *) | |
ApplicateHost: REAL; | |
TimeConfiguration: REAL; | |
TimeRequirements: REAL; | |
END_VAR | |
VAR_OUTPUT | |
ProbabilityDistribution: REAL; | |
ProbabilityAccess: REAL; | |
END_VAR | |
FUZZIFY TimeDay | |
TERM inside := (0, 0) (8, 1) (22,0); | |
TERM outside := (0, 1) (8, 0) (22, 1); | |
END_FUZZIFY | |
FUZZIFY ApplicateHost | |
TERM few := (0, 1) (100, 0) (200, 0); | |
TERM many := (0, 0) (100, 0) (200, 1); | |
END_FUZZIFY | |
FUZZIFY TimeConfiguration | |
TERM recently := (0, 1) (30, 1) (120, 0); | |
TERM long := (0, 0) (30, 0) (120, 1); | |
END_FUZZIFY | |
FUZZIFY TimeRequirements | |
TERM recently := (0, 1) (30, 1) (365, 0); | |
TERM long := (0, 0) (30, 0) (365, 1); | |
END_FUZZIFY | |
DEFUZZIFY ProbabilityAccess | |
TERM hight := 1; | |
TERM medium := 0.5; | |
TERM low := 0; | |
ACCU: MAX; | |
METHOD: COGS; | |
DEFAULT := 0; | |
END_DEFUZZIFY | |
DEFUZZIFY ProbabilityDistribution | |
TERM hight := 1; | |
TERM medium := 0.5; | |
TERM low := 0; | |
ACCU: MAX; | |
METHOD: COGS; | |
DEFAULT := 0; | |
END_DEFUZZIFY | |
RULEBLOCK No1 | |
AND : MIN; | |
RULE 1 : IF TimeDay IS outside AND ApplicateHost IS few THEN ProbabilityAccess IS hight; | |
RULE 2 : IF ApplicateHost IS many THEN ProbabilityAccess IS hight; | |
RULE 3 : IF TimeDay IS inside AND ApplicateHost IS few THEN ProbabilityAccess IS low; | |
END_RULEBLOCK | |
RULEBLOCK No2 | |
AND : MIN; | |
RULE 1 : IF ApplicateHost IS many THEN ProbabilityDistribution IS hight; | |
END_RULEBLOCK | |
END_FUNCTION_BLOCK | |
</textarea></form> | |
<script> | |
var editor = CodeMirror.fromTextArea(document.getElementById("code"), { | |
theme: "elegant", | |
matchBrackets: true, | |
indentUnit: 8, | |
tabSize: 8, | |
indentWithTabs: true, | |
mode: "text/x-fcl" | |
}); | |
</script> | |
<p><strong>MIME type:</strong> <code>text/x-fcl</code></p> | |
</article> | |