Issue
I would like to have a dynamic array size during runtime of my SoMachine or EcoStruxure Machine Expert PLC. How is this done?
Product
SoMachine
EcoStruxure Machine Expert
Environment
PLC Configuration Software programming
Resolution
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.
If this FAQ did not solve your issue, you can chat with us at chat with us or e-mail us at customer.services@se.com to create a case with our Technical Support Team.
If you are not located in North America, please contact your local Customer Care Center for assistance:
Support | Schneider Electric Global (se.com)
I would like to have a dynamic array size during runtime of my SoMachine or EcoStruxure Machine Expert PLC. How is this done?
Product
SoMachine
EcoStruxure Machine Expert
Environment
PLC Configuration Software programming
Resolution
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.
If this FAQ did not solve your issue, you can chat with us at chat with us or e-mail us at customer.services@se.com to create a case with our Technical Support Team.
If you are not located in North America, please contact your local Customer Care Center for assistance:
Support | Schneider Electric Global (se.com)