<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/</id><updated>2020-02-27T14:54:37.696000Z</updated><subtitle>Recent posts to How can I get all the standard library attribute names</subtitle><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#b3a6" rel="alternate"/><published>2020-02-27T14:54:37.696000Z</published><updated>2020-02-27T14:54:37.696000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comd9495b352a095ccb4b76fe7e18d05784bd8f4803</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; M.Schaber&lt;/p&gt;
&lt;p&gt;Hi, Dave,&lt;/p&gt;
&lt;p&gt;For the "ProjectInfoExample.py", you need to ask dblessin.&lt;/p&gt;
&lt;p&gt;I did attach the "ProjectInfoCreation.py" file to this post.&lt;/p&gt;
&lt;p&gt;HTH,&lt;br/&gt;
Markus&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=641" rel="nofollow"&gt;ProjectInfoCreation.py &lt;span&gt;&lt;span&gt;[1.52 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#8b62" rel="alternate"/><published>2020-02-27T14:54:37.127000Z</published><updated>2020-02-27T14:54:37.127000Z</updated><author><name>davec</name><uri>https://forge.codesys.com/u/davec/</uri></author><id>https://forge.codesys.com58040adee71e91f46e7e3067b3e1896a96ed3cee</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br/&gt;
where can i find the "ProjectInfoExample.py" or "ProjectInfoCreation.py" example script you mentioned in the previous post ?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br/&gt;
Dave&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#a70a" rel="alternate"/><published>2020-02-27T14:54:35.501000Z</published><updated>2020-02-27T14:54:35.501000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com1bc64fcf8e3083251c1122237faa938dab6f51a5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; M.Schaber&lt;/p&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;dblessin hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
DefaultNamespace must be written whitout an underline or space.&lt;br/&gt;
default_namespace = info.values&lt;span&gt;["DefaultNamespace"]&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks for the hint, I did correct my table above, and I did inform our documentation department so they correct the online help.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#845c" rel="alternate"/><published>2020-02-27T14:54:34.924000Z</published><updated>2020-02-27T14:54:34.924000Z</updated><author><name>dblessin</name><uri>https://forge.codesys.com/u/dblessin/</uri></author><id>https://forge.codesys.com54fd7753054cfd362ab661bd24b420dceaeb50bc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;That works, thank you&lt;/p&gt;
&lt;p&gt;only Thing, DefaultNamespace must be written whitout an underline or space.&lt;/p&gt;
&lt;p&gt;default_namespace = info.values&lt;span&gt;["DefaultNamespace"]&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#c7e3" rel="alternate"/><published>2020-02-27T14:54:34.319000Z</published><updated>2020-02-27T14:54:34.319000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com6507b7edd559f12eb63ee7a979b27048a3032fbd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; M.Schaber&lt;/p&gt;
&lt;p&gt;Yes, of course, you use the dictionary syntax, as it is shown in the example script:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;custom&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;values&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;"SpecialDeviceId"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;"PLC0815_4711"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;As I wrote, this dictionary syntax allows to read and write arbitrary values. But in that case, it also is your obligation to use the correct type (as it is when using the "Properties" page in the UI).&lt;/p&gt;
&lt;p&gt;Internally, the project information object contains just a dictionary with strings as keys and objects as values. There is nothing special about values like "title" and "version" compared to the others. The only exception is that they have more convenient ways to configure them via explicit scripting API and UI form, in addition to the generic access via the "Properties" page and the dictionary syntax.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#f8a4" rel="alternate"/><published>2020-02-27T14:54:32.601000Z</published><updated>2020-02-27T14:54:32.601000Z</updated><author><name>dblessin</name><uri>https://forge.codesys.com/u/dblessin/</uri></author><id>https://forge.codesys.com153ea91f472a35a86db1177b5355e5ef5b8f9b1f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I'd like to read (and if possible write) exactly These values. But when I try to execute the script Codesys replies:&lt;br/&gt;
'ScriptObject' object has no Attribute 'IsEndUserLibrary'&lt;br/&gt;
...&lt;/p&gt;
&lt;p&gt;The same happens wit the languagemodelattribute and the specialdeviceid, is it possible to read/write These attributes?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#5d82" rel="alternate"/><published>2020-02-27T14:54:31.903000Z</published><updated>2020-02-27T14:54:31.903000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comdc7a9d5d71579057bec78cd38d2fb435768b8bc2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; M.Schaber&lt;/p&gt;
&lt;p&gt;hi,&lt;/p&gt;
&lt;p&gt;I don't have your "ProjectInfoExample.py" example script. But my "ProjectInfoCreation.py" script which seems to circulate contains the following snippet:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;custom&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;values&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;"SpecialDeviceId"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;"PLC0815_4711"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;As the commment says, this is an example of how to set custom values which are not covered by the explicit API. There is no "registry" of valid values - an End-User can just define a value for his own company (by convention), and then access it e. G. via the generated IEC code. Also, OEMs can extend CODESYS with their own plugins, and thus define values which have "real" semantics for their plugins.&lt;/p&gt;
&lt;p&gt;The api was modeled after the fields which were available in the CODESYS UI back then. As the project settings UI allows to set arbitrary values on the "Properties" tab page, the scripting API also provides this possibility via the dictionary interface.&lt;/p&gt;
&lt;p&gt;Some of those values are recommended by the coding guidelines (which are included in the online help), for example, see the Section Libraries -&amp;gt; Guidelines for creating Libraries -&amp;gt; Library Development Summary -&amp;gt; CODESYS LibDevSummary V3.5.4.0 -&amp;gt; Concepts and Elements -&amp;gt; Library Properties defines the following properties:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;         &lt;span class="nv"&gt;Name&lt;/span&gt; &lt;span class="nv"&gt;Type&lt;/span&gt; &lt;span class="nv"&gt;Description&lt;/span&gt; 
&lt;span class="nv"&gt;Required&lt;/span&gt; &lt;span class="nv"&gt;Company&lt;/span&gt;                &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;Serves&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;structuring&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;filter&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; “&lt;span class="nv"&gt;Add&lt;/span&gt; &lt;span class="nv"&gt;Library&lt;/span&gt;” &lt;span class="nv"&gt;dialog&lt;/span&gt; 
&lt;span class="nv"&gt;Required&lt;/span&gt; &lt;span class="nv"&gt;Title&lt;/span&gt;                  &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;Name&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; 
&lt;span class="nv"&gt;Required&lt;/span&gt; &lt;span class="nv"&gt;Version&lt;/span&gt;                &lt;span class="nv"&gt;Version&lt;/span&gt; &lt;span class="nv"&gt;Library&lt;/span&gt; &lt;span class="nv"&gt;verison&lt;/span&gt; 
         &lt;span class="nv"&gt;Released&lt;/span&gt;               &lt;span class="nv"&gt;Bool&lt;/span&gt;    &lt;span class="nv"&gt;A&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; &lt;span class="nv"&gt;should&lt;/span&gt; &lt;span class="nv"&gt;not&lt;/span&gt; &lt;span class="nv"&gt;be&lt;/span&gt; &lt;span class="nv"&gt;modified&lt;/span&gt; &lt;span class="nv"&gt;after&lt;/span&gt; &lt;span class="nv"&gt;having&lt;/span&gt; &lt;span class="nv"&gt;been&lt;/span&gt; &lt;span class="nv"&gt;released&lt;/span&gt; 
         &lt;span class="nv"&gt;Author&lt;/span&gt;                 &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;Author&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;current&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; &lt;span class="nv"&gt;version&lt;/span&gt; 
         &lt;span class="nv"&gt;DefaultNamespace&lt;/span&gt;       &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;World&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;wide&lt;/span&gt; &lt;span class="nv"&gt;unique&lt;/span&gt; &lt;span class="nv"&gt;prefix&lt;/span&gt;, &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;defining&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;scope&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;symbols&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; 
         &lt;span class="nv"&gt;Description&lt;/span&gt;            &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;Short&lt;/span&gt; &lt;span class="nv"&gt;description&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;purpose&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; 
         &lt;span class="nv"&gt;Placeholder&lt;/span&gt;            &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;which&lt;/span&gt; &lt;span class="nv"&gt;Placeholder&lt;/span&gt; &lt;span class="nv"&gt;should&lt;/span&gt; &lt;span class="nv"&gt;be&lt;/span&gt; &lt;span class="nv"&gt;used&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;referencing&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; 
         &lt;span class="nv"&gt;IsContainerLibrary&lt;/span&gt;     &lt;span class="nv"&gt;Bool&lt;/span&gt;    &lt;span class="nv"&gt;This&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; &lt;span class="nv"&gt;follwos&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;rules&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;a&lt;/span&gt; &lt;span class="nv"&gt;Container&lt;/span&gt; &lt;span class="nv"&gt;Library&lt;/span&gt; 
         &lt;span class="nv"&gt;IsInterfaceLibrary&lt;/span&gt;     &lt;span class="nv"&gt;Bool&lt;/span&gt;    &lt;span class="nv"&gt;This&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; &lt;span class="nv"&gt;follows&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;rules&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;a&lt;/span&gt; &lt;span class="nv"&gt;Interface&lt;/span&gt; &lt;span class="nv"&gt;Library&lt;/span&gt; 
         &lt;span class="nv"&gt;LanguageModelAttribute&lt;/span&gt; &lt;span class="nv"&gt;Text&lt;/span&gt;    &lt;span class="nv"&gt;The&lt;/span&gt; &lt;span class="nv"&gt;access&lt;/span&gt; &lt;span class="nv"&gt;on&lt;/span&gt; &lt;span class="nv"&gt;symbols&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;only&lt;/span&gt; &lt;span class="nv"&gt;possible&lt;/span&gt; &lt;span class="nv"&gt;via&lt;/span&gt; &lt;span class="nv"&gt;Namespace&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;Prefix&lt;/span&gt; 
         &lt;span class="nv"&gt;IsEndUserLibrary&lt;/span&gt;       &lt;span class="nv"&gt;Bool&lt;/span&gt;    &lt;span class="nv"&gt;This&lt;/span&gt; &lt;span class="nv"&gt;Library&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;especially&lt;/span&gt; &lt;span class="nv"&gt;designed&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;needs&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="nv"&gt;users&lt;/span&gt;  
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>How can I get all the standard library attribute names</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/4c3c8521fc/?limit=25#6913" rel="alternate"/><published>2020-02-27T14:54:30.213000Z</published><updated>2020-02-27T14:54:30.213000Z</updated><author><name>dblessin</name><uri>https://forge.codesys.com/u/dblessin/</uri></author><id>https://forge.codesys.comc048940fba370971f8e554d54857dd9b14d29111</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hello,&lt;/p&gt;
&lt;p&gt;I'm trying to modify the "ProjectInfoExample.py" example script, to write all Standard library/project attributes (of course only the ones which a writable, I know that the Project attribute *.project is read only).&lt;br/&gt;
In the example file there's company, title, version, default_namespace, author and SpecialDeviceId. But there are also IsEndUserLibrary, LanguageModulAttribute and SpecialDeviceId. &lt;br/&gt;
I wasn't able to find a Definition of the Standard attributes in the help file...&lt;/p&gt;
&lt;p&gt;best regards&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>