<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/752cbf8a69/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/752cbf8a69/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/752cbf8a69/</id><updated>2020-02-27T20:53:03.193000Z</updated><subtitle>Recent posts to Wishlist for IEC 61131-3:2013</subtitle><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#ccc1" rel="alternate"/><published>2020-02-27T20:53:03.193000Z</published><updated>2020-02-27T20:53:03.193000Z</updated><author><name>Strucc</name><uri>https://forge.codesys.com/u/strucc/</uri></author><id>https://forge.codesys.combc99457821b8384f3eda1246ff6d56f739f27c48</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Sry,I can't see your email address,&lt;br/&gt;
Mine is pop at eik dot bme dot hu...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#d74c" rel="alternate"/><published>2020-02-27T20:53:01.788000Z</published><updated>2020-02-27T20:53:01.788000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.com8e3b83a0f58ea6bda1eb55757bf06c02d6ddac17</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hmm seems I don't get emails anymore from the forum when their are new posts. Need to check settings.&lt;/p&gt;
&lt;p&gt;Strucc you mean a book? Although I am serious I guess I need a kick in the but to get moving? Are you saying you are still interested?&lt;/p&gt;
&lt;p&gt;If so you can contact myself via email and we can see were it goes?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#9f7e" rel="alternate"/><published>2020-02-27T20:52:57.766000Z</published><updated>2020-02-27T20:52:57.766000Z</updated><author><name>Strucc</name><uri>https://forge.codesys.com/u/strucc/</uri></author><id>https://forge.codesys.com6917d97b5e77ed7e746195df6c9eac3e7a764589</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Any news about this?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#527a" rel="alternate"/><published>2020-02-27T20:52:56.352000Z</published><updated>2020-02-27T20:52:56.352000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.comcab2fcebfed03658a80861f49037703fdb3ad3e4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;shooter your in. Now we just need a starting point.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#f811" rel="alternate"/><published>2020-02-27T20:52:52.387000Z</published><updated>2020-02-27T20:52:52.387000Z</updated><author><name>shooter</name><uri>https://forge.codesys.com/u/shooter/</uri></author><id>https://forge.codesys.com587aae345cda737deb5c43025b2b252547891aae</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I like to participate when writing a book on 61131-3&lt;br/&gt;
special when it is done on codesys.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#ed66" rel="alternate"/><published>2020-02-27T20:52:50.980000Z</published><updated>2020-02-27T20:52:50.980000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.com9cda17ad5c07e56daf67963ec7baab14e3e73d14</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;One good place to start is a manual for best practices for IEC61131 for coding conventions like naming conventions,Layout conventions, Commenting (V23 doesn't support // as apposed to (&lt;em&gt; &lt;/em&gt;)) , language guidelines. This would almost boil over into some guidlines for naming conventions for automation like the use of En (Enable), Permit vs Interlock etc.. You understand, you get my drift. This way you can almost aid in some self documentation just by looking at the input / outputs of a FB. Do I hold this input TRUE all the time or only on rising edge? These questions can almost be answered at the FB interface. Anyway I would love to follow some standard that helps EVERYONE make it a bit more clear. I maybe crazy but just a thought.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#210a" rel="alternate"/><published>2020-02-27T20:52:47.024000Z</published><updated>2020-02-27T20:52:47.024000Z</updated><author><name>Strucc</name><uri>https://forge.codesys.com/u/strucc/</uri></author><id>https://forge.codesys.com9e6b05c4d5ba8439df748a425426419c1e19e277</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;spfeif: No you don't have to... 'cause  it's going to be me who write that book &lt;br/&gt;
(ok, if you have the title and the publisher, I'm happy to contribute the rest of it  )&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Anyway... Beside researching the next generation of controllers and programming languages, we should spend more time, to disperse this knowledge. And in fact, for us, involved in the "academic" sphere, it's a challenge as well...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;spfeif: did you learn from books? The last book I bought in my practice was the one with the camel at the cover. Yes, I like perl. And camels. That time it was a value. And I feel the same, there is a strong vacuum for explaining the &lt;em&gt;practical application&lt;/em&gt; of the educated programming skills. But a book is not really an answer... today... We should start a wiki page, or... something compatible with g***gle. It's a strange - and a bit sad - but still something to learn to live with.... Tomorrow's programmers are not going to be IT professionals... just today's children, with a slightly different approach... and instincts... &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a bit off-topic. (just as the effect behind the birth of CoDeSys: at a point people just suddenly realized, that PLCs are a kind of computers... and why not to use them as computers? The language seems to go trough the already known (r)evolution. WTF??!!! PLCs parsing XML??? Why not? Then... we need the right instruments to do this...)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#c1ac" rel="alternate"/><published>2020-02-27T20:52:45.603000Z</published><updated>2020-02-27T20:52:45.603000Z</updated><author><name>spfeif</name><uri>https://forge.codesys.com/u/spfeif/</uri></author><id>https://forge.codesys.comee7d2ec00282ee482dca8d0d2025c5d09754d4f5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I agree. One thing from a development standpoint is how would we know to look in a library named CAA_ListAndTree? That is one issue. Finding things that can be useful without wasting days figuring it out. All the 3s examples are so basic they need deeper level examples for us to learn from. But again 3s I think expects the OEM who implemented CoDeSys onto their target to support you, which by the time the support gets to the end user of that product (myself) no-one can answer any questions. I had the exact issue come up as Strucc mentioned just last month. I tried to use Pragmas but it didn't seem to work well. I too wanted test code or unit testing to do position control. I wrote my test FB that when commanded acts like a VFD drive that responds to velocity and encoder feedback. But I have to add all that code into the project. At least I could not find a solution that was elegant. I was hoping for at least setting a global variable to turn on/off testing. What's hard is if you are already using software from a 3rd party and they are not using at least interfaces from V3 then I'm not sure at compile time I can change one FB for another like &lt;/p&gt;
&lt;p&gt;If define (DEBUG = 1) then&lt;br/&gt;
  FB := TEST_FB;&lt;br/&gt;
else&lt;br/&gt;
  FB := Third_Party_FB;&lt;br/&gt;
end_If&lt;/p&gt;
&lt;p&gt;Especially into FBD since you have to enter a FB instance on the screen before compile time.&lt;/p&gt;
&lt;p&gt;I really do need to write a book in ENGLISH on CoDeSys since there is nothing out there.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#f3a5" rel="alternate"/><published>2020-02-27T20:52:44.186000Z</published><updated>2020-02-27T20:52:44.186000Z</updated><author><name>Strucc</name><uri>https://forge.codesys.com/u/strucc/</uri></author><id>https://forge.codesys.coma9a79c59ea4d26c19c8e90a6bde5cdad94efd9f8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks for the reply.&lt;/p&gt;
&lt;p&gt;Regarding conditional compilation / defines:&lt;br/&gt;
I don't see a (n external) reason, that it shouldn't work in the project tree. (I know, it's documented) &lt;br/&gt;
Example:&lt;br/&gt;
A library implements complex automation tasks. Debugging and logging features are useful, but in a real application they are resource consuming. Would be nice, to be able to build a debugging version of the project, and after the development simply turn that flag off. Similar with simulation options: For example, code is added to the FB to allow process simulation ... a PID controller in simulation mode should use the simulation time rate for example... But, this code should be excluded from the production application. Also... On multi-platform projects, one might imagine a library with slightly different implementations... But still relying on a common code basis.&lt;/p&gt;
&lt;p&gt;Regarding CAA_ListAndTree - The documentation /example was missing, I was playing with that, but ended up to implement something similar. However, in the future I'd be very happy to avoid that, I think the value of my code depends on it's well focused functionality. In this case, I think it's also important to see the implementation background (how much memory does a list entry take, what resources are used, etc...). &lt;/p&gt;
&lt;p&gt;Also... As a library developer, I'd be very happy to see more recommendations (I know the old CAA material, and the new document released with SP2). &lt;br/&gt;
More exactly: what libraries to rely on in the future? (Yes, in general use CAA&lt;em&gt;, try to avoid SysLib&lt;/em&gt;) For example in V2, I did a dynamic memory "wrapper" library, as SysLibMem was not available on some platforms. So, I ended up by writing a similar library relying on a simple static byte array, pointers, etc. Would be nice to know, and clearly understand, what is the minimal set of libraries one can build a library on. &lt;/p&gt;
&lt;p&gt;In general: we all know that * everything * can be done, even with CoDeSys V2. There are some really nasty tricks, one can even enjoy them ... But what we are aiming, is the "art of programming" - to be able to write compact, easy to understand, reusable code. I'm really happy to see recent CoDeSys developments, not only concerning the language, but replying business needs, like javascript based web visu. &lt;/p&gt;
&lt;p&gt;I'd be glad to discuss these in detail, and within the framework of our current project we are on the way to establish this kind of communication with 3S. Please drop me a mail to pop (at) eik dot bme dot hu.&lt;/p&gt;
&lt;p&gt;(I didn't find a way to write personal messages here)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wishlist for IEC 61131-3:2013</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/752cbf8a69/?limit=25#ca73" rel="alternate"/><published>2020-02-27T20:52:40.203000Z</published><updated>2020-02-27T20:52:40.203000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com849cc59684511ddc534917ad241d9e67347b39df</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; Bernhard Werner&lt;/p&gt;
&lt;p&gt;at the moment, I can't give you a date for the missing features.&lt;br/&gt;
But you can be sure, that we will eventually implement all of these features.&lt;/p&gt;
&lt;p&gt;You should not mix up CODESYS and the standard. Pragmas for example are only mentioned in the standard,&lt;br/&gt;
that they do exist, and any semantics of pragmas are implementation dependant.&lt;br/&gt;
In fact, you can set a define in the "Compiler defines" of the Build options of an application, and use it in your code&lt;br/&gt;
like this&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;{&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;defined&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;something&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;}
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nv"&gt;this&lt;/span&gt;
{&lt;span class="k"&gt;ELSE&lt;/span&gt;}
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="nv"&gt;that&lt;/span&gt;
{&lt;span class="nv"&gt;END_IF&lt;/span&gt;}
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;but you can't use that define in the interface, and you can't use it in the project tree.&lt;br/&gt;
Concerning Collections: have you checked the CAA_ListAndTree.library?&lt;br/&gt;
Generics as in C# would be a great thing, but not for the near future. &lt;br/&gt;
Be sure, we will continue to implement new functionality, we currently released the static analysis,&lt;br/&gt;
and we are working on UML-integration. We are planning a profiling option...&lt;/p&gt;
&lt;p&gt;Bernhard Werner&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>