Callbacks for Customized Model Behavior
Model, Block, and Port Callbacks
Callbacks are commands you can define that execute in response to a specific modeling action, such as opening a model or stopping a simulation. Callbacks define MATLAB® expressions that execute when the block diagram or a block is acted upon in a particular way.
Simulink® provides model, block, and port callback parameters that identify specific kinds of model actions. You provide the code for a callback parameter. Simulink executes the callback code when the associated modeling action occurs.
For example, the code that you specify for the PreLoadFcn
model
callback parameter executes before the model loads. You can provide code for
PreLoadFcn
that loads the variables that model uses into the
MATLAB workspace.
What You Can Do with Callbacks
Callbacks are a powerful way to customize your Simulink model. A callback executes when you perform actions on your model, such as double-clicking a block or starting a simulation. You can use callbacks to execute MATLAB code. You can use model, block, or port callbacks to perform common tasks, such as:
Avoid run Commands in Callback Code
Do not call the run
command from within model or block callback code.
Doing so can result in unexpected behavior (such as errors or incorrect results) if you
load, compile, or simulate a Simulink model.
Avoid commands that edit the model in Callback Code
Do not call the model update commands from within model Initialization
function(InitFcn
) when referenced in top model. Doing so can result in
unexpected behavior (such as errors or incorrect results) when you simulate a Simulink model.