Question
EcoStruxure Control Expert V14.0: Memory corruption and unexpected controller behavior.
Answer
1.Issue
This issue involves only EcoStruxure Control Expert V14.0.
The executable code of a Control Expert V14.0 application can be incorrect when this code is using direct address data instances in more than one section. The value used does not correspond to the actual value of the instance.
This issue can happen
- After a Rebuild All Project or a Build Changes if more than one section is modified.
- And if the customer application is using direct addressing data instances on their code, %Mi, %MWi, %MDi, %MFi, %Si, %SWi, %SDi, %Ii, %IWi, %KWi, %KDi, %KFi.
- And when a PC or a VM multicore is used.
2.Product Line
- EcoStruxure Control Expert V14.0.
- Any controller programmed with EcoStruxure Expert V14.0 is concerned.
This happens with EcoStruxure Control Expert V14.0 only because to reduce the project’s build time a parallelism mechanism was introduced.
4.Resolution
Two solutions:
- Install the Hot Fix ControlExpert_V140_HF0540480R for EcoStruxure Control Expert V14.0
Published and downloadable from SE.com by searching “ControlExpert_V140_HF0540480R” or
https://www.se.com/ww/en/download/document/ControlExpert_V140_HF0540480R/ - Upgrade from EcoStruxure Control Expert V14.0 to EcoStruxure Control Expert V14.1 or later versions
https://www.se.com/ww/en/download/document/Ecostruxure_ControlExpert_V141/
It is mandatory to perform a rebuild all of the application after applying solutions a or b. (1)
(1) According to how your application is build, some workarounds may be applied to avoid doing a Rebuild All Project and STOP. Contact your customer support for more info
Possible workaround:
- This issue doesn’t happen if no direct addressing data instances are used in the code.
It is still possible to use the direct addressing data instances but doing some modification on application code:
1-From the Data Editor create a variable name for each direct addressing data instances and link it, e.g. Toto:INT @%MW10.
2-Inside the code replace %MW10 by Toto.
It is mandatory to perform a rebuild all of the application after applying workarounds a or b.