Repeating variable names in code generation

8 views (last 30 days)
I have charts of state flow. When generating a model in code I have a repetition of local variables. How can I avoid this?
An attempt to change the parameters of automatic assignment of names to local variables did not give a result
static boolean_T resultZC0;
static boolean_T resultZC1;
static boolean_T resultZC2;
static boolean_T resultZC0;
static boolean_T resultZC1;
  2 Comments
SergMariupol
SergMariupol on 26 Mar 2025
Edited: SergMariupol on 26 Mar 2025
The problem is the following.
If you have a charts state flow inside which is a simulink function and inside the simulink function and again state flows then local variables initialized in the latter are generated with duplicate names. It needs to be checked, but for now the output is like this
Altaïr
Altaïr on 27 Mar 2025
Including a sample model along with images of it would greatly aid the community in providing you with better assistance!

Sign in to comment.

Answers (1)

Marie Anna NOVIELLO
Marie Anna NOVIELLO on 27 Mar 2025
When MATLAB Coder or Stateflow generates code for a model with numerous states or outputs, you may encounter repetitious local variable names such as resultZC0, resultZC1, and so on. This is a typical issue. This occurs because the program automatically generates variables with similar names but distinguishes them with suffixes such as 0, 1, etc., which might result in code repetition.
Try to use Data Store Memory in Stateflow
(resultZC(0) = (some_condition); % This replaces resultZC0
resultZC(1) = (some_other_condition); % This replaces resultZC1)

Categories

Find more on Decision Logic in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!