<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/</id><updated>2020-02-27T13:52:58.468000Z</updated><subtitle>Recent posts to Defining Arrays.</subtitle><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#ca73" rel="alternate"/><published>2020-02-27T13:52:58.468000Z</published><updated>2020-02-27T13:52:58.468000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com5b05906743587acc59d9938a0fed2fa3fb9f799e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; scott_cunningham&lt;/p&gt;
&lt;p&gt;A suggestion if your array is rather large: Use a method to check for all false and use AND_THEN, which is a conditional and check - if the first element is false, the rest of the IF is not evaluated... Something like this:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;PROGRAM&lt;/span&gt; &lt;span class="nv"&gt;PLC_PRG&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt; &lt;span class="nv"&gt;CONSTANT&lt;/span&gt;
   &lt;span class="nv"&gt;c_min&lt;/span&gt; : &lt;span class="nv"&gt;INT&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;c_max&lt;/span&gt; : &lt;span class="nv"&gt;INT&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&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&lt;/span&gt;      
   &lt;span class="nv"&gt;myArray&lt;/span&gt; : &lt;span class="nv"&gt;ARRAY&lt;/span&gt;[&lt;span class="nv"&gt;c_min&lt;/span&gt;..&lt;span class="nv"&gt;c_max&lt;/span&gt;] &lt;span class="nv"&gt;OF&lt;/span&gt; &lt;span class="nv"&gt;BOOL&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; [&lt;span class="nv"&gt;FALSE&lt;/span&gt;,&lt;span class="nv"&gt;FALSE&lt;/span&gt;,&lt;span class="nv"&gt;FALSE&lt;/span&gt;,&lt;span class="nv"&gt;FALSE&lt;/span&gt;,&lt;span class="nv"&gt;FALSE&lt;/span&gt;]&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;DidIt&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;DidIt&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;AND_THEN&lt;/span&gt; &lt;span class="nv"&gt;AllAreFalse&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;DoSomething&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;DidIt&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;ELSE&lt;/span&gt;
   &lt;span class="c1"&gt;; //not doing it anymore&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Once "DidIt" is TRUE, AllAreFalse() will not be called.  Also, by putting the checking in a method, the code intent should be easier to see two years from now when no one remembers what we were doing.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;METHOD&lt;/span&gt; &lt;span class="nv"&gt;PRIVATE&lt;/span&gt; &lt;span class="nv"&gt;AllAreFalse&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;i&lt;/span&gt; : &lt;span class="nv"&gt;INT&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;Check&lt;/span&gt; : &lt;span class="nv"&gt;BOOL&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="k"&gt;WHILE&lt;/span&gt; &lt;span class="nv"&gt;Check&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;myArray&lt;/span&gt;[&lt;span class="nv"&gt;i&lt;/span&gt;] &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;this&lt;/span&gt; &lt;span class="nv"&gt;one&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;true&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;stop&lt;/span&gt; &lt;span class="nv"&gt;checking&lt;/span&gt;
      &lt;span class="nv"&gt;AllAreFalse&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;Check&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="k"&gt;ELSE&lt;/span&gt;
      &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nv"&gt;c_max&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
         &lt;span class="nv"&gt;i&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;i&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="o"&gt;//&lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;array&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;all&lt;/span&gt; &lt;span class="nv"&gt;were&lt;/span&gt; &lt;span class="nv"&gt;false&lt;/span&gt;
         &lt;span class="nv"&gt;AllAreFalse&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
         &lt;span class="nv"&gt;Check&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;END_IF&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;END_WHILE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;(This is an example of how our company would solve this as we are trying to follow the PLCopen programming recommendations, which suggests not exiting early out of FOR loops and always show the ELSE, even if it is empty to make the "intent" clear).&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#e7f2" rel="alternate"/><published>2020-02-27T13:52:57.899000Z</published><updated>2020-02-27T13:52:57.899000Z</updated><author><name>drChiavo</name><uri>https://forge.codesys.com/u/drchiavo/</uri></author><id>https://forge.codesys.com572aee18ad75afa6a4359e94c7eec794d4175b33</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Yes! That works!&lt;br/&gt;
Thanks a lot!&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br/&gt;
Chiavo&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#1d16" rel="alternate"/><published>2020-02-27T13:52:57.669000Z</published><updated>2020-02-27T13:52:57.669000Z</updated><author><name>Bakkertje</name><uri>https://forge.codesys.com/u/bakkertje/</uri></author><id>https://forge.codesys.com7898b30351dc034eea8e3fd583efdc25688fbb94</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi drChaivo,&lt;/p&gt;
&lt;p&gt;If I correct understand what you want than is this the solution:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;VAR&lt;/span&gt; &lt;span class="n"&gt;CONSTANT&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_min&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_max&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; 
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;iIndex&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;  &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;idoThisCounter&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;iItemsFalseCounter&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;xTriggerOneTime&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;myArray&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;ARRAY&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;c_min&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="n"&gt;c_max&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;iItemsFalseCounter&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;iIndex&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;c_min&lt;/span&gt; &lt;span class="nv"&gt;TO&lt;/span&gt; &lt;span class="nv"&gt;c_max&lt;/span&gt; &lt;span class="nv"&gt;BY&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;myArray&lt;/span&gt;[&lt;span class="nv"&gt;iIndex&lt;/span&gt;] &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;xTriggerOneTime&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;EXIT&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;iItemsFalseCounter&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;iItemsFalseCounter&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="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;END_FOR&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;iItemsFalseCounter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;c_max&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; 
   &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;xTriggerOneTime&lt;/span&gt;
&lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;xTriggerOneTime&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;idoThisCounter&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;idoThisCounter&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="nv"&gt;doThis&lt;/span&gt;&lt;span class="ss"&gt;()&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;Regards, Bakkertje&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#ffc4" rel="alternate"/><published>2020-02-27T13:52:57.490000Z</published><updated>2020-02-27T13:52:57.490000Z</updated><author><name>drChiavo</name><uri>https://forge.codesys.com/u/drchiavo/</uri></author><id>https://forge.codesys.com210d767fc5ccabd7e27031eded6fbcd5af7620f0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello Bakkertje,&lt;/p&gt;
&lt;p&gt;I just need to call the DoSomething() one time, but just if all the values are false.&lt;/p&gt;
&lt;p&gt;For example,&lt;/p&gt;
&lt;p&gt;if I have in my array two values that are true (i.e. myArray&lt;span&gt;[2]&lt;/span&gt; := TRUE and myArray&lt;span&gt;[4]&lt;/span&gt; := TRUE) then I have to change this two values to false. This means that if I just change one value (i.e. myArray&lt;span&gt;[2]&lt;/span&gt; := FALSE) DoSomething() is NOT called. DoSomething() will be called just if the other value is also FALSE. (i.e. myArray&lt;span&gt;[4]&lt;/span&gt;:= FALSE ... called DoSomething()...)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#7df4" rel="alternate"/><published>2020-02-27T13:52:57.307000Z</published><updated>2020-02-27T13:52:57.307000Z</updated><author><name>Bakkertje</name><uri>https://forge.codesys.com/u/bakkertje/</uri></author><id>https://forge.codesys.comead2ed1fa1dacf844ca73714101a753a633aed11</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi drChiavo,&lt;/p&gt;
&lt;p&gt;Do you need this each PLC cycle that for each value that is false the "doThis();" is called? &lt;br/&gt;
Or only it one time for each value that is changed from TRUE to False?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#1497" rel="alternate"/><published>2020-02-27T13:52:57.092000Z</published><updated>2020-02-27T13:52:57.092000Z</updated><author><name>drChiavo</name><uri>https://forge.codesys.com/u/drchiavo/</uri></author><id>https://forge.codesys.com6ca9e19f1b461a199573840a0f0feee27f932338</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello Bakkertje,&lt;/p&gt;
&lt;p&gt;Yes, I have used "EXIT;". What I want to do is to call a function if all the values are FALSE.&lt;/p&gt;
&lt;p&gt;For example,&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;VAR&lt;/span&gt; &lt;span class="n"&gt;CONSTANT&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_min&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_max&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; 
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;xAllFalse&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;myArray&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;ARRAY&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;c_min&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="n"&gt;c_max&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;So just if all are "FALSE" THEN.. DoSomething()... but the values change during the RunTime. I used your method but it just works for the first value. This means that when I change the first value of myArray&lt;span&gt;[0]&lt;/span&gt; to "FALSE" then the function DoSomething() is called and it should be just called if myArray&lt;span&gt;[2]&lt;/span&gt; and myArray&lt;span&gt;[4]&lt;/span&gt; are also FALSE.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#b763" rel="alternate"/><published>2020-02-27T13:52:56.512000Z</published><updated>2020-02-27T13:52:56.512000Z</updated><author><name>Bakkertje</name><uri>https://forge.codesys.com/u/bakkertje/</uri></author><id>https://forge.codesys.com10abf5715d16dde551a9da299529216d7d65d156</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi drChiavo,&lt;/p&gt;
&lt;p&gt;That is strange I test it and I see no problem.&lt;br/&gt;
Did you use the "exit;" to jump out the FOR loop?&lt;br/&gt;
When you don't use this in your code the result depends only on the last item of the array.&lt;br/&gt;
When you don't use this in my code you are checking always all item of the array, which is not necessary.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#5202" rel="alternate"/><published>2020-02-27T13:52:56.329000Z</published><updated>2020-02-27T13:52:56.329000Z</updated><author><name>drChiavo</name><uri>https://forge.codesys.com/u/drchiavo/</uri></author><id>https://forge.codesys.com828eb41bc60c710f0aedf33152a118c89bb39ce5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;@Bakkertje - Thanks for your answer but same result. Not working.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#44a9" rel="alternate"/><published>2020-02-27T13:52:56.099000Z</published><updated>2020-02-27T13:52:56.099000Z</updated><author><name>Bakkertje</name><uri>https://forge.codesys.com/u/bakkertje/</uri></author><id>https://forge.codesys.comf52e0ac3addbe94fcf49e5cb551d826acc78882f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Try this:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;VAR&lt;/span&gt; &lt;span class="n"&gt;CONSTANT&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_min&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;c_max&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;span class="n"&gt;VAR&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt;  &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;xAllFalse&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;myArray&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;ARRAY&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;c_min&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="n"&gt;c_max&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="n"&gt;END_VAR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;xAllFalse&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;c_min&lt;/span&gt; &lt;span class="nv"&gt;TO&lt;/span&gt; &lt;span class="nv"&gt;c_max&lt;/span&gt; &lt;span class="nv"&gt;BY&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;myArray&lt;/span&gt;[&lt;span class="nv"&gt;i&lt;/span&gt;] &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;xAllFalse&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;exit&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;END_FOR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Defining Arrays.</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/43a0d4cc6e/?limit=25#a9eb" rel="alternate"/><published>2020-02-27T13:52:55.849000Z</published><updated>2020-02-27T13:52:55.849000Z</updated><author><name>drChiavo</name><uri>https://forge.codesys.com/u/drchiavo/</uri></author><id>https://forge.codesys.com6769569b166b7d9b891056acccf9bcbd90db2081</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;How do I check if all the values in an array are FALSE?&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;VAR&lt;/span&gt;
        &lt;span class="nv"&gt;myArray&lt;/span&gt; : &lt;span class="nv"&gt;ARRAY&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;..&lt;span class="mi"&gt;5&lt;/span&gt;] &lt;span class="nv"&gt;OF&lt;/span&gt; &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;i&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;xAllFalse&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;myArray&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;myArray&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;] &lt;span class="nv"&gt;AND&lt;/span&gt; .... &lt;span class="k"&gt;THEN&lt;/span&gt;
       &lt;span class="nv"&gt;doThis&lt;/span&gt;&lt;span class="ss"&gt;()&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 was trying to do this but it didn´t work.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="nv"&gt;TO&lt;/span&gt; &lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;myArray&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;BY&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;myArray&lt;/span&gt;[&lt;span class="nv"&gt;i&lt;/span&gt;] &lt;span class="k"&gt;THEN&lt;/span&gt;
      &lt;span class="nv"&gt;xAllFalse&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&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;xAllFalse&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;END_FOR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry></feed>