<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Conditional Compilation</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a16fab1d2e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a16fab1d2e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/a16fab1d2e/</id><updated>2020-02-27T14:22:26.056000Z</updated><subtitle>Recent posts to Conditional Compilation</subtitle><entry><title>Conditional Compilation</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/a16fab1d2e/?limit=25#fa0f" rel="alternate"/><published>2020-02-27T14:22:26.056000Z</published><updated>2020-02-27T14:22:26.056000Z</updated><author><name>Andreaz</name><uri>https://forge.codesys.com/u/andreaz/</uri></author><id>https://forge.codesys.com795530268cb3c889be5f0ce1c88448d46ca48a53</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have a customer that wants to use conditional compilation to configure his machine (today they've done it using exp files). &lt;/p&gt;
&lt;p&gt;They want to generate a pou or variable list using PLCopenXML containing conditional pragmas that they want to import to the project. The problem is that i cant seem to get the conditional pragmas to be global for the application:&lt;/p&gt;
&lt;p&gt;I've created the program as below.&lt;/p&gt;
&lt;p&gt;PlcProg:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;ConfigProg&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;Only&lt;/span&gt; &lt;span class="nv"&gt;way&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt; &lt;span class="nv"&gt;get&lt;/span&gt; &lt;span class="nv"&gt;temp&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;get&lt;/span&gt; &lt;span class="nv"&gt;value&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;uncomment&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;following&lt;/span&gt; &lt;span class="nv"&gt;row&lt;/span&gt;.
&lt;span class="o"&gt;//&lt;/span&gt;{&lt;span class="nv"&gt;define&lt;/span&gt; &lt;span class="nv"&gt;MODULE_TEST&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="nv"&gt;MODULE_TEST&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;}
   &lt;span class="nv"&gt;Temp&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
{&lt;span class="k"&gt;ELSE&lt;/span&gt;}
   &lt;span class="nv"&gt;Temp&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
{&lt;span class="nv"&gt;END_IF&lt;/span&gt;}
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;I have tested using a configuration program:&lt;/p&gt;
&lt;p&gt;ConfigProg:&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="n"&gt;define&lt;/span&gt; &lt;span class="n"&gt;MODULE_TEST&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;As well as a configuration global variable list:&lt;/p&gt;
&lt;p&gt;ConfigVars:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;VAR_GLOBAL&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; {&lt;/span&gt;&lt;span class="n"&gt;define&lt;/span&gt; &lt;span class="n"&gt;MODULE_TEST&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;But the only way I've got it to work is to put it in the local program where I'm using it or in the compiler define property dialog of the application.&lt;/p&gt;
&lt;p&gt;Anyone got an idea why this doesn't work?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>