Can the SoMachine V4.3 / EcoStruxure Machine Expert array size be changed at runtime?
This can be achieved by assigning a Symbol (tag/variable) inside the definition of the array.
Example - this is the declaration of a dynamically sized Array of INTs:
VAR
iArrayIndex1 : INT;
MyIntArray : ARRAY [0..iArrayIndex1] OF INT;
END_VAR
NOTE:
1) Dynamic Arrays will not work with variable sharing to HMI via the Symbol Configuration Node. Vijeo Designer and EcoStruxure Operator Terminal Expert do not handle Dynamic Arrays.
2) If you are using Dynamic Arrays inside Functions or Function Blocks, the instantiated memory size for a called Function or Function Block is limited, so limit the maximum value of the index accordingly and test your application thoroughly.
Example - this is the declaration of a dynamically sized Array of INTs:
VAR
iArrayIndex1 : INT;
MyIntArray : ARRAY [0..iArrayIndex1] OF INT;
END_VAR
NOTE:
1) Dynamic Arrays will not work with variable sharing to HMI via the Symbol Configuration Node. Vijeo Designer and EcoStruxure Operator Terminal Expert do not handle Dynamic Arrays.
2) If you are using Dynamic Arrays inside Functions or Function Blocks, the instantiated memory size for a called Function or Function Block is limited, so limit the maximum value of the index accordingly and test your application thoroughly.
Released for: Schneider Electric United Arab Emirates

