<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Common Behaviour Model Library</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/</id><updated>2020-02-27T14:34:56.439000Z</updated><subtitle>Recent posts to Common Behaviour Model Library</subtitle><entry><title>Common Behaviour Model Library</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/?limit=25#8a71" rel="alternate"/><published>2020-02-27T14:34:56.439000Z</published><updated>2020-02-27T14:34:56.439000Z</updated><author><name>schaepper</name><uri>https://forge.codesys.com/u/schaepper/</uri></author><id>https://forge.codesys.comac3af248ae86824c5f3afcdc289f234bd099d878</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I agree with you, documentation is a large issue. And in the internet you find nothing, this is a big thing which annoys me about the whole language IEC 61131-3 an all the vendors.&lt;/p&gt;
&lt;p&gt;I was playing around because to me it was interesting that the IDE is getting the comments and pragmas so I found something (maybe for you).&lt;/p&gt;
&lt;p&gt;I made an FunctionBlockBase, a FunctionBlock and a Interface. So: Now FunctionBlockBase implements the Interface and its only method. Well now, the IDE adds this:&lt;br/&gt;
{error 'add method implementation or delete method to use base implementation'} if you use this FB as a base FB in a new derived FB.&lt;/p&gt;
&lt;p&gt;So you should be able to just delete this comment in your derived class and it should work, except the ones that are suposed to be overwritten. But I have no clue how to reflect that in this language because its missing the abstract keyword in the language itself...&lt;/p&gt;
&lt;p&gt;Would be nice if I could manually trigger the adding of pragmas to a baseclass do somehow "simulate" the abstract keyword because then someone that derives from the classes could be told to override it. So for the moment I think I will "cover" all the methods I want to be overwritten with an interface...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Common Behaviour Model Library</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/?limit=25#1e14" rel="alternate"/><published>2020-02-27T14:34:55.814000Z</published><updated>2020-02-27T14:34:55.814000Z</updated><author><name>pinf</name><uri>https://forge.codesys.com/u/pinf/</uri></author><id>https://forge.codesys.comda99c63a7fa8613f3460553fd354ee11b7933123</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;schaepper hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
I just recreated a sample project with a plain FB and extended the FB CBML.ETrigA and it "basically" worked, only Codesys was a little bit buggy when adding the empty method and property definitions. It automatically added nearly everything, on some properties / methods it could not find the identifiers of the names and I had to put the namespace manualy so it could recognise the identifier.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thank you, I'll try it this these days.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;schaepper hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
What Version of Codesys are you using? I use version SP11... Maybe you have a older version with more bugs in it relating the interface implementation?&lt;br/&gt;
What do you mean by "extended matter"?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I use V3 SP11.&lt;br/&gt;
It was not my intention to overwrite all the methods of the model. When one achieves the right actions with their IOs I think there is no need to edit the model.&lt;br/&gt;
And adding and configuring the timing behaviour is not well documented. That is what an example with a simple traffic signal could show...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Common Behaviour Model Library</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/?limit=25#6bc7" rel="alternate"/><published>2020-02-27T14:34:54.421000Z</published><updated>2020-02-27T14:34:54.421000Z</updated><author><name>schaepper</name><uri>https://forge.codesys.com/u/schaepper/</uri></author><id>https://forge.codesys.com15c988df0ccc899f9417383332243a84185d5852</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;By the way:&lt;/p&gt;
&lt;p&gt;I was surprised when I extended an FB that it automatically injects comments and pragmas into the method / property stubs, how is this possible to achieve? Would be very interesting for us because there is no abstract keyword, and if I want some one to be forces to override something I could at least "inject" this pragmas when someone wants to extend an FB?&lt;/p&gt;
&lt;p&gt;Thanks for the answers.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Common Behaviour Model Library</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/?limit=25#f999" rel="alternate"/><published>2020-02-27T14:34:53.924000Z</published><updated>2020-02-27T14:34:53.924000Z</updated><author><name>schaepper</name><uri>https://forge.codesys.com/u/schaepper/</uri></author><id>https://forge.codesys.com635ee3e901295850fbecd5b3f62536357cd5c22b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello&lt;/p&gt;
&lt;p&gt;I just recreated a sample project with a plain FB and extended the FB CBML.ETrigA and it "basically" worked, only Codesys was a little bit buggy when adding the empty method and property definitions. It automatically added nearly everything, on some properties / methods it could not find the identifiers of the names and I had to put the namespace manualy so it could recognise the identifier.&lt;/p&gt;
&lt;p&gt;What Version of Codesys are you using? I use version SP11... Maybe you have a older version with more bugs in it relating the interface implementation?&lt;/p&gt;
&lt;p&gt;What do you mean by "extended matter"?&lt;br/&gt;
I attached you my plain sample version...&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=3289" rel="nofollow"&gt;Sample.project &lt;span&gt;&lt;span&gt;[122.94 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Common Behaviour Model Library</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/3e13408065/?limit=25#f23b" rel="alternate"/><published>2020-02-27T14:34:53.406000Z</published><updated>2020-02-27T14:34:53.406000Z</updated><author><name>pinf</name><uri>https://forge.codesys.com/u/pinf/</uri></author><id>https://forge.codesys.comc90437d79a9b29d934b5fea0f9456fdef1ac3402</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I've tried to implement an EtrigA Interface into my FB. When compiling the message log says&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
"                ------ Übersetzungslauf gestartet: Applikation: Device.BehaviourModelBase_Test -------&lt;br/&gt;
                Code typisieren ...&lt;br/&gt;
&lt;span&gt;[FEHLER]&lt;/span&gt;     XXXXXXXXXXXXXXXXXXXX: FB_Test &lt;span&gt;[Device: SPS-Logik: BehaviourModelBase_Test]&lt;/span&gt;: C0087:  Keine Implementierung für Methode 'STARTACTION' aus Schnittstelle 'ISTARTACTIONPROVIDER'&lt;br/&gt;
&lt;span&gt;[FEHLER]&lt;/span&gt;         XXXXXXXXXXXXXXXXXXXX: FB_Test &lt;span&gt;[Device: SPS-Logik: BehaviourModelBase_Test]&lt;/span&gt;: C0087:  Keine Implementierung für Methode 'CYCLICACTION' aus Schnittstelle 'ICYCLICACTIONPROVIDER'&lt;br/&gt;
&lt;span&gt;[FEHLER]&lt;/span&gt;         XXXXXXXXXXXXXXXXXXXX: FB_Test &lt;span&gt;[Device: SPS-Logik: BehaviourModelBase_Test]&lt;/span&gt;: C0087:  Keine Implementierung für Methode 'CLEANUPACTION' aus Schnittstelle 'ICLEANUPACTIONPROVIDER'&lt;br/&gt;
&lt;span&gt;[FEHLER]&lt;/span&gt;        XXXXXXXXXXXXXXXXXXXX: FB_Test &lt;span&gt;[Device: SPS-Logik: BehaviourModelBase_Test]&lt;/span&gt;: C0087:  Keine Implementierung für Methode 'RESETACTION' aus Schnittstelle 'IRESETACTIONPROVIDER'&lt;br/&gt;
                Kompilierung abgeschlossen -- 4 Fehler, 3 Warnungen&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After that and some reading in the documentation of CBML I saw that an &amp;gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
 EXTENDS CBML.ETrigA &lt;br/&gt;
 creates the missing Methods. &lt;em&gt;edited&lt;/em&gt; But in a very extended manner.&lt;/p&gt;
&lt;p&gt;Is there any chance to get a running compact ETrigA FB with a Statemachine configured right for the needs of this program? I'm missing here some example programs.&lt;/p&gt;
&lt;p&gt;thank you for your advice and best regards&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: FB_CBML_test.png" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=3263"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>