MATLAB Answers

why Code generation with model reference initialize port is not working?

9 views (last 30 days)
Ranganatha M
Ranganatha M on 9 Jun 2020
Edited: Jesús Zambrano on 23 Oct 2020
I tried to analyze initialize port setting in reference model. During model in loop it works fine but its functionality not understanding. During code generation wit ert.tlc and autosar.tlc it is giving below error :
The top model '__________' contains the model block '________' which has one or more of its Initialize, Reset or Terminate ports enabled. Code generated is not supported for such models.
Need c code for reference model initialize port setting to iinitialize function call subsystem. If we use trigger or enable it holds previous value instead of initial output. But we use initialize port with reference model block holds initial value till next change at output.

  1 Comment

Samir Revelo
Samir Revelo on 23 Oct 2020
I´m getting the same problem trying to generate code out of a top model which has a reference model inside. This reference model has initialize and reset blocks and I was hoping that top model can schedule init and reset ports by means of state flow events.
It seems that simulink does not support this for codegeneration, but I don´t get why? I want some internal states of reference model to be reset once certain conditions are fulfilled. Altough initial states and reset states have to be different. Nevertheless, if I use reset input for delays or integrator reset internal states, then those states are set to initial value of states and not to reset value.
I hope someone from Mathworks provides any support here too.

Sign in to comment.

Answers (1)

Jesús Zambrano
Jesús Zambrano on 23 Oct 2020
Hi Ranganatha and Samir,
Please follow the steps discribed in the following link:
In there you'll find the workflow to generate code for a model that responds to Initialize, Reset and Terminate events.
Hope it helps!


Samir Revelo
Samir Revelo on 23 Oct 2020
Hello Jesús,
Thanks for your reply.
As I described in my post above I have actually following limitation (you can find this in link you shared above):
I need that my root model generates code which calls reset function of child refence model.
Is any solution going to be provided for this limitation as this is a use case which I need to handle with Simulink?
Thanks in advance.
Jesús Zambrano
Jesús Zambrano on 23 Oct 2020
If the child includes explicit ports for Initialize, Reset, Terminate you can't generate code. If you use Initialize, Reset and Terminate function blocks then you can. Outside this workflow you will get a limitation at the moment.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by