<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Simple Code with Script</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/735c7a9e39/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/735c7a9e39/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/735c7a9e39/</id><updated>2020-02-27T14:57:41.286000Z</updated><subtitle>Recent posts to Simple Code with Script</subtitle><entry><title>Simple Code with Script</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/735c7a9e39/?limit=25#32a8" rel="alternate"/><published>2020-02-27T14:57:41.286000Z</published><updated>2020-02-27T14:57:41.286000Z</updated><author><name>XopHeT</name><uri>https://forge.codesys.com/u/xophet/</uri></author><id>https://forge.codesys.com7ea9650af3432978f5b0c1c3abb4064ddbb4d8e1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;You have to use &lt;strong&gt;textual_implementation&lt;/strong&gt; and &lt;strong&gt;textual_declaration&lt;/strong&gt; properties of IScriptTextDocument.&lt;/p&gt;
&lt;p&gt;There are few methods like replace, insert, append and so on (see ScriptEngine.chm for more information).&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;proj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;projects&lt;/span&gt;.&lt;span class="nv"&gt;primary&lt;/span&gt;
&lt;span class="nv"&gt;found&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;proj&lt;/span&gt;.&lt;span class="nv"&gt;find&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Application&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;, &lt;span class="nv"&gt;True&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;found&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;]
\# &lt;span class="nv"&gt;Create&lt;/span&gt; &lt;span class="nv"&gt;FB&lt;/span&gt;
&lt;span class="nv"&gt;mypou&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;app&lt;/span&gt;.&lt;span class="nv"&gt;create_pou&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MyPou&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
\# &lt;span class="nv"&gt;Change&lt;/span&gt; &lt;span class="nv"&gt;declaration&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;FB&lt;/span&gt;
&lt;span class="nv"&gt;implementation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;mypou&lt;/span&gt;.&lt;span class="nv"&gt;textual_declaration&lt;/span&gt;.&lt;span class="nv"&gt;replace&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;FUNCTION_BLOCK MyPou&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
   &lt;span class="nv"&gt;iValue&lt;/span&gt; : &lt;span class="nv"&gt;INT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR_OUTPUT&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;)&lt;/span&gt;
\# &lt;span class="nv"&gt;Change&lt;/span&gt; &lt;span class="nv"&gt;implementation&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;FB&lt;/span&gt;
&lt;span class="nv"&gt;mypou&lt;/span&gt;.&lt;span class="nv"&gt;textual_implementation&lt;/span&gt;.&lt;span class="nv"&gt;replace&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;iValue := iValue + 1;&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
\# &lt;span class="nv"&gt;Add&lt;/span&gt; &lt;span class="nv"&gt;method&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;FB&lt;/span&gt;
&lt;span class="nv"&gt;dosomething&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;mypou&lt;/span&gt;.&lt;span class="nv"&gt;create_method&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;DoSomething&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;, &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;INT&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
\# &lt;span class="nv"&gt;Change&lt;/span&gt; &lt;span class="nv"&gt;declaration&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;method&lt;/span&gt;
&lt;span class="nv"&gt;dosomething&lt;/span&gt;.&lt;span class="nv"&gt;textual_declaration&lt;/span&gt;.&lt;span class="nv"&gt;replace&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;METHOD DoSomething : INT&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
   &lt;span class="nv"&gt;iVal1&lt;/span&gt; : &lt;span class="nv"&gt;INT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;iVal2&lt;/span&gt; : &lt;span class="nv"&gt;INT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;)&lt;/span&gt;
\# &lt;span class="nv"&gt;Change&lt;/span&gt; &lt;span class="nv"&gt;implementation&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;method&lt;/span&gt;
&lt;span class="nv"&gt;dosomething&lt;/span&gt;.&lt;span class="nv"&gt;textual_implementation&lt;/span&gt;.&lt;span class="nv"&gt;replace&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;DoSomething := iVal1 + iVal2;&lt;/span&gt;&lt;span class="s2"&gt;"""&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
\# &lt;span class="nv"&gt;Find&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;pou&lt;/span&gt; &lt;span class="nv"&gt;and&lt;/span&gt; &lt;span class="nv"&gt;delete&lt;/span&gt; &lt;span class="nv"&gt;it&lt;/span&gt;
&lt;span class="nv"&gt;found&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;app&lt;/span&gt;.&lt;span class="nv"&gt;find&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MyPou&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;found&lt;/span&gt; &lt;span class="nv"&gt;and&lt;/span&gt; &lt;span class="nv"&gt;len&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;found&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;:
   &lt;span class="nv"&gt;found&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;].&lt;span class="nv"&gt;remove&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;:
   &lt;span class="nv"&gt;print&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;POU 'MyPou' was not found&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Simple Code with Script</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/735c7a9e39/?limit=25#23b9" rel="alternate"/><published>2020-02-27T14:57:40.688000Z</published><updated>2020-02-27T14:57:40.688000Z</updated><author><name>MKeo</name><uri>https://forge.codesys.com/u/mkeo/</uri></author><id>https://forge.codesys.comdc9b223518e2d52a4879d7a345304f206f08bcd7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;Is it possible to write a simple Codefragment, something like "&lt;strong&gt;count := count + 1; etc.. &lt;/strong&gt;" including creating the variable count over a Python Script?&lt;/p&gt;
&lt;p&gt;I already have written a script which creates a &lt;strong&gt;POU (ST)&lt;/strong&gt;, but i can not find any topics about writing an application over a script.&lt;/p&gt;
&lt;p&gt;Regards!&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>