<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to addressin an array of byte containing bits of type bool</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/522e7d6f5a/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/522e7d6f5a/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/522e7d6f5a/</id><updated>2020-02-27T19:45:34.484000Z</updated><subtitle>Recent posts to addressin an array of byte containing bits of type bool</subtitle><entry><title>addressin an array of byte containing bits of type bool</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/522e7d6f5a/?limit=25#7c74" rel="alternate"/><published>2020-02-27T19:45:34.484000Z</published><updated>2020-02-27T19:45:34.484000Z</updated><author><name>cuiblie</name><uri>https://forge.codesys.com/u/cuiblie/</uri></author><id>https://forge.codesys.come63f14afc14f708a1a53d2c341cd1c61d302d85e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;HELLO guys&lt;br/&gt;
I'm working with a module containing an ASI_MASTER_(1or2). &lt;br/&gt;
It contains an ASI_(1or2)_binaryIO, Itself containing ASi INPUT bin and ASi Output bin.&lt;br/&gt;
Inside i have the address %IB1 of type ARRAY&lt;span&gt;[1..31]&lt;/span&gt; OF BYTE. &lt;/p&gt;
&lt;p&gt;INPUT :&lt;br/&gt;
So %IB1 contains bits %IX1.0...%IX1.3 of type BOOL, &lt;br/&gt;
     %IB2 contains bits %IX2.0...%IX2.3 of type BOOL&lt;br/&gt;
and so on up to 31.&lt;br/&gt;
OUPUT:&lt;br/&gt;
Same way as the INPUT expect : %QB1.........%QB31.&lt;br/&gt;
                                              %QX1.0......%QX1.3 &lt;br/&gt;
Question : My code looks like this;&lt;br/&gt;
               For idx := 0 to 31 do&lt;br/&gt;
                    case idx of&lt;br/&gt;
                           1 : IF %IX1.0 = TRUE THEN &lt;br/&gt;
                                    %QX1.0 = TRUE &lt;br/&gt;
                                end_if &lt;br/&gt;
                                 IF %IX1.1 = TRUE THEN &lt;br/&gt;
                                    %QX1.1 = TRUE&lt;br/&gt;
                                 end_if&lt;br/&gt;
                           2 : IF %QX1.0 = TRUE THEN &lt;br/&gt;
                                    %QX1.0 = TRUE&lt;br/&gt;
                                end_if&lt;br/&gt;
                                 IF %QX1.1 = TRUE THEN &lt;br/&gt;
                                    %QX1.1 = TRUE&lt;br/&gt;
                                 end_if&lt;br/&gt;
                                         .&lt;br/&gt;
                                         .&lt;br/&gt;
                                         .&lt;br/&gt;
                          31 : ...................&lt;br/&gt;
                                 END_IF&lt;br/&gt;
                          idx := idx + 1;&lt;br/&gt;
                  end_case&lt;br/&gt;
               end_for&lt;br/&gt;
The program works correctly. But i want to know if there is another method that will allow me to not copy the same thing 31 times.&lt;br/&gt;
I hope I have been clear enough.&lt;br/&gt;
Thank you&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>