Main Content

使用回调自定义模型行为

回调是您定义的、为了响应打开模型或停止仿真等特定建模操作而执行的命令。回调定义 MATLAB® 表达式,当以特定方式处理模块图或模块时会执行这些表达式。

Simulink® 提供了模型、模块和端口回调参数,用于标识特定类型的模型操作。您需要为回调参数提供代码。Simulink 在相关联的建模操作发生时执行回调代码。

例如,您为 PreLoadFcn 模型回调参数指定的代码将在加载模型之前执行。您可为 PreLoadFcn 提供代码,以便将模型使用的变量加载到 MATLAB 工作区。

您可以使用回调做什么

回调是一种自定义 Simulink 模型的强大方式。当您对模型执行各种操作(例如双击某个模块或者启动仿真)时,将执行回调。您可以使用回调来执行 MATLAB 代码。您可以使用模型、模块或端口回调来执行常见任务,例如 Automatically Initialize Variables and Load Data

回调的类型

Simulink 提供多种类型的回调,包括:

  • 模型回调 - 模型回调在指定的操作点执行,例如在加载或保存模型后。请参阅模型回调

  • 模块回调 - 发生模块事件(例如加载、打开或编辑模块)时执行模块回调。请参阅模块回调

  • 模块封装回调 - 当封装参数的值发生更改时执行模块封装回调。请参阅 初始化和参数回调

  • 端口回调 - 每当对应端口的连接发生变化时都会执行端口回调。请参阅Port Callbacks

  • 注释回调 - 当您点击注释时,注释可以执行回调。请参阅 Simulink.Annotation

  • Callback Button 模块回调 - 当您点击 Callback Button 模块时,该模块执行回调。

回调限制

不要从模型或模块回调代码中调用 run 命令。这样做可能会导致您在加载、编译或仿真 Simulink 模型时出现意外行为,如错误或不正确的结果。

有关特定回调的限制,请参阅其文档。

相关主题