Main Content

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.

Related Topics