Model callbacks execute at specified action points, for example after you load or save the model.
You can set most of the same callbacks for libraries. Only the callbacks that can execute
for a library are available to set for a library. For example, you cannot set the
InitFcn callback for a library, which is called as part of simulation,
because you cannot simulate a library.
Create Model Callbacks
In the Simulink® Editor, open the Property Inspector. In the Modeling tab, under Design, click Property Inspector.
With no selection at the top level of your model, in the Properties tab, in the Callbacks section, select the callback you want to set.
In the box, enter the functions you want the callback to perform.
Referenced Model Callbacks
In a model hierarchy, the execution of callbacks reflects the order in which the top model and the models it references execute their callbacks. For example, suppose:
References model B in accelerator mode.
PostLoadFcncallback that creates variables in the MATLAB workspace.
Rebuildconfiguration parameter set to
If changes detected, or
If any changes in known dependencies detected.
CloseFcncallback that clears the MATLAB workspace.
Has not been built or is out of date.
Simulating model A triggers rebuilding the referenced model B. When Simulink rebuilds model B, it opens and closes model B, which invokes the model B
CloseFcn clears the MATLAB workspace, including the variables created by the model A
Instead of using a
CloseFcn callback for model B, you can use a
StopFcn callback in model A to clear the variables used by the model
from the MATLAB workspace. Alternatively, you can use a data dictionary for the data to avoid
the need to have variables in the base workspace.
If a model references multiple instances of the same model in normal mode, callbacks execute for each instance.
For models referenced in accelerator mode, Simulink does not execute some callbacks. If everything is up to date and the
Rebuild configuration parameter is set
If any changes in known dependencies detected, then the
referenced model does not compile and its
InitFcn callbacks do not
execute. Callbacks such as
StopFcn do not
execute because referenced models in accelerator mode use an S-function, which starts and
stops instead of the referenced model.
Simulation outputs are not available in the
StopFcn callbacks for
InitFcn callbacks that edit the structure of the model must be
avoided. Simulink may sometimes execute or ignore based on the model load status.