same input output signal name in simulink

10 views (last 30 days)
I want to make code below by model (or stateflow) using Code Generation
if( var > 10){
var = 10;
}
In this case, upper 'var' is input of chart(or subsystem) and lower 'var' is output of chart.
So, it occurs signal complication if I use same variables name or I can't make same name of chart's input and output.
I can make this if sentance by using two variables, but I hope to make this by using one.
Thanks for your help.
Sincerely,
TaeHee Kwun.

Accepted Answer

Phani Teja
Phani Teja on 16 Jul 2019
Edited: Phani Teja on 16 Jul 2019
Yeh It can be possible with Data store memory block.
Make a Variable 'Var' in stateflow and change its scope to Data store memory .
You can also control the variable storage class by resolving data store memory with simulink signal.
The generated code looks like:
/* Real-time model */
RT_MODEL_Chart_T Chart_M_;
RT_MODEL_Chart_T *const Chart_M = &Chart_M_;
/* Model step function */
void Chart_step(void)
{
/* Chart: '<Root>/Chart' */
/* Re-use inputs */
if (Var > 10) {
/* NEW_PATTERN */
Var = 10;
}
/* End of Chart: '<Root>/Chart' */
}
  2 Comments
TaeHee Kwun
TaeHee Kwun on 20 Jul 2019
Thanks for your answer!
But, I can't still understand how to make this blocks...
If you can, can you upload some of your blocks?
Thanks.
sreedevi
sreedevi on 13 Jun 2021
Hi ,Did you get an answer for the question.If yes please post it

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Coder 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!