<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Fuzzy Logic eFFL Library in ST</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/</id><updated>2023-01-16T01:17:28.132000Z</updated><subtitle>Recent posts to Fuzzy Logic eFFL Library in ST</subtitle><entry><title>Fuzzy Logic eFFL Library in ST</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/?limit=25#8638" rel="alternate"/><published>2023-01-16T01:17:28.132000Z</published><updated>2023-01-16T01:17:28.132000Z</updated><author><name>nk-tesla</name><uri>https://forge.codesys.com/u/nk-tesla/</uri></author><id>https://forge.codesys.comd8d3ef4bcba024bd13a72a066b7a055592af42b5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Could you make the library available again?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Fuzzy Logic eFFL Library in ST</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/?limit=100#fdfc" rel="alternate"/><published>2020-02-27T14:29:55.626000Z</published><updated>2020-02-27T14:29:55.626000Z</updated><author><name>aliazzz</name><uri>https://forge.codesys.com/u/aliazzz/</uri></author><id>https://forge.codesys.com74237a7113da3a5f6677aecf706ae70420ad2cf5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Maybe you are interested in using CODESYS FORGE platform to release your project on?&lt;br/&gt;
As I am myself an enthusiast (not related with codesys) I can really say it's an ideal platform for your work and future endeavors.&lt;br/&gt;
Hope to see you soon on &lt;a class="" href="https://forge.codesys.com/"&gt;https://forge.codesys.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Aliazzz&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Fuzzy Logic eFFL Library in ST</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/?limit=25#8078" rel="alternate"/><published>2020-02-27T14:29:55.176000Z</published><updated>2020-02-27T14:29:55.176000Z</updated><author><name>truly-bent</name><uri>https://forge.codesys.com/u/truly-bent/</uri></author><id>https://forge.codesys.com282d799252567244e20beb323eca4287a1a509a5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I don't know why it took me so long to notice. The problem was in the translation of course - i was calling the rebuild method incorrectly:&lt;/p&gt;
&lt;p&gt;Incorrect call:&lt;br/&gt;
build := THIS^.rebuild(zPoint, zPoint^.next, temp^.previous, temp^.previous^.previous);&lt;/p&gt;
&lt;p&gt;Correct call:&lt;br/&gt;
build := THIS^.rebuild(aSegmentBegin := zpoint, aSegmentEnd := zPoint^.next, bSegmentBegin := temp^.previous, bSegmentEnd := temp^.previous^.previous);&lt;/p&gt;
&lt;p&gt;Since making this correction i haven't been able to generate any exceptions. Please find the revised file (Fuzzy_eFFL_011.project) in the same cloud location as above.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Fuzzy Logic eFFL Library in ST</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/0fbbd4ff08/?limit=25#81d9" rel="alternate"/><published>2020-02-27T14:29:53.743000Z</published><updated>2020-02-27T14:29:53.743000Z</updated><author><name>truly-bent</name><uri>https://forge.codesys.com/u/truly-bent/</uri></author><id>https://forge.codesys.com5aeac53e3bca3c7a41af3402a59fbdfb919f37a2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I have finished translating the eFFL C++ Fuzzy Logic Library &lt;span style="color: #0000BF;"&gt;()&lt;/span&gt; into IEC 61131-3 (CODESYS) ST language. The project file is too large to attach here so I have provided a OneDrive link &lt;span style="color: #0000BF;"&gt;()&lt;/span&gt; with the hope that any interested parties can download it.&lt;/p&gt;
&lt;p&gt;The original C++ program was written in Spanish. During the translation process, a few liberties were taken in renaming some of the components and reorganized some of the code for (my) better understanding. You can find the original C++ code, commented out, at the bottom of each module. Note that the library is open-source.&lt;/p&gt;
&lt;p&gt;It runs reasonably well, but the advanced example program has thrown an exception or two which I haven't resolved as yet. It looks like the statement &lt;span style="color: #BF0000;"&gt;"IF temp^.previous^.previous &amp;lt;&amp;gt; NULL THEN"&lt;/span&gt; in the FuzzyComposition.build() method (line 16) is allowing a call on the next line when the pointer is invalid. If someone knows how to verify a pointer before using it, I would appreciate knowing how it's done. Apparently, the __TRY/__CATCH exception handler isn't available on the simulation platform.&lt;/p&gt;
&lt;p&gt;IF &lt;strong&gt;temp^.previous^.previous&lt;/strong&gt; &amp;lt;&amp;gt; NULL THEN&lt;br/&gt;
    // result = rebuild(zPoint, zPoint-&amp;gt;next, temp-&amp;gt;previous, temp-&amp;gt;previous-&amp;gt;previous);       C++ original source&lt;br/&gt;
    build := THIS^.rebuild(zPoint, zPoint^.next, temp^.previous, &lt;strong&gt;temp^.previous^.previous&lt;/strong&gt;); &lt;br/&gt;
END_IF&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>