How to correctly override a persistent input variable on instanciation and call in a derived FUNCTION_BLOCK?
<p>I have a input variable <code>c_timTransmissionRate</code> which is usually initalized using the persistent variable list. The default value for the persistent variable list in the function block <code>TxRaw</code> is then overriden by the instanciating function block ´TxDbc´. This again is application specific overriden in the persistent variable list itself.</p>

<p>In a few cases the value for <code>c_timTransmissionRate</code> is provided dynamically by the instanciating function block <code>TxTsc1</code> during runtime.</p>

<p>My problem is that I currently always see the original <code>TIME#0ms</code> value in the debugger instead of the values given in the persistent variable list.</p>

<p>Extract of my current code:</p>

<pre><code>FUNCTION_BLOCK TxRaw
 VAR_INPUT PERSISTENT CONSTANT
  c_timTransmissionRate : TIME := T#0ms;
 END_VAR
  (* instructions *)
END_FUNCTION_BLOCK

FUNCTION_BLOCK Tx
VAR
 tx : TxRaw;
END_VAR
  (* instructions *)
 tx();
  (* instructions *)
END_FUNCTION_BLOCK

FUNCTION_BLOCK TxTsc1 EXTENDS Tx
  (* instructions *)
  tx.c_timTransmissionRate := PI()*THUMB();
  SUPER^();
END_FUNCTION_BLOCK

FUNCTION BLOCK TxDbc EXTENDS Tx
VAR
 tx : TX := (c_timTransmissionRate := T#20ms);
END_VAR
  (* instructions *)
  SUPER^();
END_FUNCTION_BLOCK
</code></pre>