Repeating variable names in code generation

6 ビュー (過去 30 日間)
SergMariupol
SergMariupol 2025 年 3 月 25 日
回答済み: Marie Anna NOVIELLO 2025 年 3 月 27 日
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 件のコメント
SergMariupol
SergMariupol 2025 年 3 月 26 日
編集済み: SergMariupol 2025 年 3 月 26 日
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 2025 年 3 月 27 日
Including a sample model along with images of it would greatly aid the community in providing you with better assistance!

サインインしてコメントする。

回答 (1 件)

Marie Anna NOVIELLO
Marie Anna NOVIELLO 2025 年 3 月 27 日
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)

カテゴリ

Help Center および File ExchangeDecision Logic についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by