Initial output value of Outport in top level subsystem of a model.

3 views (last 30 days)
Consider an unconditional top level subsystem of a model. 'Initial output' field of Outports in top level is disabled in block parameter dialog. Does this field affect the code generation. If yes how it will affect?
I am using matlab r2007a with embedded coder. I have seen if Initial output has some value and even if it is disabled, associated signal in generated code is initialized with that value in mdl_initialize function.

Answers (1)

Desiree
Desiree on 8 Sep 2011
There is an optimization option which you can check to remove the zero initialization of root level I/O ports: "Remove root level I/O zero initialization". See the doc here. Be aware that this only counts for initial values of zeros or when the option is disabled.
  2 Comments
TAB
TAB on 8 Sep 2011
Thanks for answer. Actually my question is different-
1. I have kept a trigger port at root level for unit testing. So root level is conditional. I initialize a outport (named HightSettings) with Initial output =100.
2. Now for code generation i removed the trigger port. So root level is now unconditional. Hence Initial output in port 'HightSettings' is disabled(Greyed but still showing 100 in textbox).
In the generated code HightSettings is initialized in model_initialize() function as
Set_HightSettings(100U);
How a disabled field can affect the code geneartion. How embedded coder handles the Initial output of outports.
Desiree
Desiree on 8 Sep 2011
This does sound like a bug. There shouldn't be an initialization when the option is disabled. I wasn't able to reproduce this in newer versions though. Please try with a newer version than R2007a to see if the issue persists.

Sign in to comment.

Categories

Find more on Deployment, Integration, and Supported Hardware 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!