<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to fuzzy 61131-7</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/cfdd8d8de3/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/cfdd8d8de3/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/cfdd8d8de3/</id><updated>2020-02-27T19:57:53.500000Z</updated><subtitle>Recent posts to fuzzy 61131-7</subtitle><entry><title>fuzzy 61131-7</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/cfdd8d8de3/?limit=25#5ade" rel="alternate"/><published>2020-02-27T19:57:53.500000Z</published><updated>2020-02-27T19:57:53.500000Z</updated><author><name>shooter</name><uri>https://forge.codesys.com/u/shooter/</uri></author><id>https://forge.codesys.combb38581b0f53fdeacf3e2acef4cfa939990731da</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;anybody busy in this field for codesys?&lt;/p&gt;
&lt;p&gt;I have found an example&lt;br/&gt;
FUZZIFY Our_Health&lt;br/&gt;
    TERM Near_Death := (0, 0) (0, 0.50) (0, 1) (0, 1) (7, 0.66) (26, 0.22) (50.50, 0) ;&lt;br/&gt;
    TERM Good := (14, 0) (22.50, 0.25) (31, 0.75) (48.50, 1) (66, 0.75) (74.50, 0.25) (83, 0) ;&lt;br/&gt;
    TERM Excellent := (50.50, 0) (100, 1) (100, 0) ;&lt;br/&gt;
END_FUZZIFY&lt;/p&gt;
&lt;p&gt;FUZZIFY Enemy_Health&lt;br/&gt;
    TERM Near_Death := (0, 0) (0, 1) (50.50, 0) ;&lt;br/&gt;
    TERM Good := (14, 0) (48.50, 1) (83.50, 0) ;&lt;br/&gt;
    TERM Excellent := (50.50, 0) (100, 1) (100, 0) ;&lt;br/&gt;
END_FUZZIFY&lt;/p&gt;
&lt;p&gt;FUZZIFY Aggressiveness&lt;br/&gt;
    TERM Run_Away := 1;&lt;br/&gt;
    TERM Fight_Defensively := 2;&lt;br/&gt;
    TERM All_Out_Attack := 3;&lt;br/&gt;
END_FUZZIFY&lt;/p&gt;
&lt;p&gt;DEFUZZIFY valve&lt;br/&gt;
    METHOD: MoM;&lt;br/&gt;
END_DEFUZZIFY&lt;/p&gt;
&lt;p&gt;RULEBLOCK first&lt;br/&gt;
    AND:MIN;&lt;br/&gt;
    ACCU:MAX;&lt;br/&gt;
    RULE 0: IF (Our_Health IS Near_Death) AND (Enemy_Health IS Near_Death) THEN (Aggressiveness IS Fight_Defensively);&lt;br/&gt;
    RULE 1: IF (Our_Health IS Near_Death) AND (Enemy_Health IS Good) THEN (Aggressiveness IS Run_Away);&lt;br/&gt;
    RULE 2: IF (Our_Health IS Near_Death) AND (Enemy_Health IS Excellent) THEN (Aggressiveness IS Run_Away);&lt;br/&gt;
    RULE 3: IF (Our_Health IS Good) AND (Enemy_Health IS Near_Death) THEN (Aggressiveness IS All_Out_Attack);&lt;br/&gt;
    RULE 4: IF (Our_Health IS Good) AND (Enemy_Health IS Good) THEN (Aggressiveness IS Fight_Defensively);&lt;br/&gt;
    RULE 5: IF (Our_Health IS Good) AND (Enemy_Health IS Excellent) THEN (Aggressiveness IS Fight_Defensively);&lt;br/&gt;
    RULE 6: IF (Our_Health IS Excellent) AND (Enemy_Health IS Near_Death) THEN (Aggressiveness IS All_Out_Attack);&lt;br/&gt;
    RULE 7: IF (Our_Health IS Excellent) AND (Enemy_Health IS Good) THEN (Aggressiveness IS All_Out_Attack);&lt;br/&gt;
    RULE 8: IF (Our_Health IS Excellent) AND (Enemy_Health IS Excellent) THEN (Aggressiveness IS Fight_Defensively);&lt;br/&gt;
END_RULEBLOCK&lt;/p&gt;
&lt;p&gt;END_FUNCTION_BLOCK&lt;/p&gt;
&lt;p&gt;How to put this in my PLC?&lt;br/&gt;
i did write my own fuzzer.lib, however there is a document which describes above.&lt;br/&gt;
has anybody done it?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>