<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Variable size array</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/6078784843/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/6078784843/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/6078784843/</id><updated>2020-04-25T20:15:07.839000Z</updated><subtitle>Recent posts to Variable size array</subtitle><entry><title>Variable size array</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/6078784843/?limit=25#d752" rel="alternate"/><published>2020-04-25T20:15:07.839000Z</published><updated>2020-04-25T20:15:07.839000Z</updated><author><name>i-campbell</name><uri>https://forge.codesys.com/u/i-campbell/</uri></author><id>https://forge.codesys.comd3ce3c7c1167256d321b8fd10c8ebe485afc4c7e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Upper_Bound(my_array,1) - Lower_Bound(my_array,1) + 1&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Variable size array</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/6078784843/?limit=25#f184" rel="alternate"/><published>2020-04-25T19:51:16.968000Z</published><updated>2020-04-25T19:51:16.968000Z</updated><author><name>lucaver89</name><uri>https://forge.codesys.com/u/lucaver89/</uri></author><id>https://forge.codesys.com81f96a70e35daa2b89be962040300aedfd829b33</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi to all,&lt;/p&gt;
&lt;p&gt;I've a little problem with the operator sizeof that is not working with in_out vars. In my case the code is very simple like below:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="n"&gt;fb1&lt;/span&gt;
&lt;span class="n"&gt;VAR_IN_OUT&lt;/span&gt;
    &lt;span class="n"&gt;my_array&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="o"&gt;*&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;STRING&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_OUTPUT&lt;/span&gt;
    &lt;span class="n"&gt;dimension&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;UINT&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="n"&gt;END_VAR&lt;/span&gt;


&lt;span class="n"&gt;dimension&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;my_array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;my_array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&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="n"&gt;PROGRAM&lt;/span&gt; &lt;span class="n"&gt;PLC_PRG&lt;/span&gt;
&lt;span class="n"&gt;VAR&lt;/span&gt;
    &lt;span class="n"&gt;array1&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="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;100&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;STRING&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;pi&lt;/span&gt;              &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;fb1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;dim1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dim2&lt;/span&gt;     &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;UINT&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;pi&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;my_array&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pi&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;dim1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;dim2&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;SIZEOF&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;array1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;SIZEOF&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;array1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;In this case the result of dim1 is zero, and the result of dim2 is 101. How can I calculate the right dimension from function block?&lt;/p&gt;
&lt;p&gt;thanks&lt;br/&gt;
Luca&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>