<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Bits über For Schleife abfragen!</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a1e4b25370/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a1e4b25370/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/a1e4b25370/</id><updated>2020-02-28T03:15:47.549000Z</updated><subtitle>Recent posts to Bits über For Schleife abfragen!</subtitle><entry><title>Bits über For Schleife abfragen!</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a1e4b25370/?limit=25#e439" rel="alternate"/><published>2020-02-28T03:15:47.549000Z</published><updated>2020-02-28T03:15:47.549000Z</updated><author><name>torsknod</name><uri>https://forge.codesys.com/u/torsknod/</uri></author><id>https://forge.codesys.com41d0a9a3a12956eb777c2cc449bd3c7b69e526d4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Peter,&lt;br/&gt;
ich verstehe gerade den Punkt in Var.indexMode nicht. Mit Punkt greift man nur auf strukturierte Variablen zu.&lt;br/&gt;
Ich verwende für solche Anwendungen immer ein Schieberegister:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;temp&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;VAR&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;indexMode&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="mi"&gt;9&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;temp&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
    .....
  &lt;span class="nv"&gt;END_IF&lt;/span&gt;
  &lt;span class="nv"&gt;temp&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SHR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;temp&lt;/span&gt;,&lt;span class="mi"&gt;1&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_FOR&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Der Code ist jetzt nicht getestet, d.h. kleinere Syntax- oder Tippfehler könnten enthalten sein. Falls der Compiler schlau ist und der Inhalt der IF Bedingung klein genug wird er ein Loop-Unrolling durchführen und dann eine direkte Bitmaskierung verwenden, solange die Grenzen der FOR-Schleife Konstanten sind.&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
     Torsten&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Bits über For Schleife abfragen!</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a1e4b25370/?limit=25#0c4c" rel="alternate"/><published>2020-02-28T03:15:45.603000Z</published><updated>2020-02-28T03:15:45.603000Z</updated><author><name>mauskopf</name><uri>https://forge.codesys.com/u/mauskopf/</uri></author><id>https://forge.codesys.com56275c9a38654791deac565a5663e31f9cdf9ea2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo ich habe wiedermal ein Problem!&lt;br/&gt;
Möchte Spagetti Code vermeiden und dazu eine For Schleife verwenden leider gibt es beim Compilieren zu einen Fehler!&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;indexMode&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="mi"&gt;9&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;Var&lt;/span&gt;.&lt;span class="nv"&gt;indexMode&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;   
                      &lt;span class="nv"&gt;mach&lt;/span&gt; &lt;span class="nv"&gt;was&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="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Warum kann ich nicht per schleifen Index auf die Bits von Var zugreifen?&lt;/p&gt;
&lt;p&gt;Lg&lt;br/&gt;
Peter&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>