This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Model Callbacks

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

  1. In the Simulink® Editor, open the Property Inspector. Select View > Property Inspector.

  2. 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.

  3. In the box, enter the functions you want the callback to perform.

To create a model callback programmatically, use the set_param function to assign MATLAB® code to a model callback parameter. See Model Callback Parameters

Referenced Model Callbacks in Normal Mode

If a model references multiple instances of the same model in normal mode, callbacks execute for each instance.

Referenced Model Callbacks in Accelerator Mode

In accelerator mode, the execution of callbacks for model referencing reflects the order in which the top model and the models it references execute their callbacks. For example, suppose:

  • Model A:

    • References model B in accelerator mode.

    • Has a PostLoadFcn callback that creates variables in the MATLAB workspace.

    • Has the Rebuild configuration parameter set to Always, If changes detected, or If any changes in known dependencies detected.

  • Model B:

    • Has a CloseFcn callback 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 callback. CloseFcn clears the MATLAB workspace, including the variables created by the model A OpenFcn callback.

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.

Simulink does not call some callbacks of referenced models in accelerator mode. If everything is up to date and the Rebuild configuration parameter is set to If any changes in known dependencies detected, the referenced model does not compile and its InitFcn callbacks do not execute. Callbacks such as StartFcn and StopFcn do not execute because referenced models in accelerator mode use an S-function, which starts and stops instead of the referenced model.

Note

Simulation outputs are not available in the StopFcn callbacks for command-line simulations.

Model Callback Parameters

 Model Loading and Closing Callback Parameters

 Model Saving Callback Parameters

 Model Simulation Callback Parameters

Related Topics