文档

模型的回调

模型回调在指定的操作点执行,例如在加载或保存模型之后。

可以为库设置大部分相同的回调。只有可以为库执行的回调函数可用于为库设置。例如,不能设置InitFcn库的回调,作为模拟的一部分调用,因为无法模拟库。

创建模型回调

  1. 在仿真软件万博1manbetx®编辑器,打开属性检查器。选择视图>属性检查器

  2. 在模型的顶层没有选择时,在属性选项卡,在回调节中,选择要设置的回调。

  3. 在框中,输入希望回调执行的函数。

要以编程方式创建模型回调,请使用set_param函数赋值MATLAB®为模型回调参数编写代码。看到回调参数模型

正常模式下的引用模型回调

如果模型在正常模式下引用同一模型的多个实例,则会对每个实例执行回调。

加速模式中引用的模型回调

在加速模式下,模型引用的回调的执行反映了顶层模型及其引用的模型执行其回调的顺序。例如,假设:

  • 模式一:

    • 加速器模式下参考模型B。

    • 有一个PostLoadFcn在MATLAB工作区中创建变量的回调。

    • 重建配置参数设置为总是如果检测到变化,或如果检测到已知依赖项中的任何更改

  • 模型2:

    • 有一个CloseFcn清除MATLAB工作区的回调。

    • 尚未建造或已过时。

模拟模型A会触发重建参考模型B。Simulink重建模型B时,会打开和关闭模型B,从而调用模型B万博1manbetxCloseFcn回调。CloseFcn清除MATLAB工作区,包括模型A创建的变量OpenFcn回调。

而不是使用CloseFcn在模型B的回调函数中,您可以使用StopFcn在模型A中回调,以从MATLAB工作空间中清除模型使用的变量。或者,您可以为数据使用数据字典,以避免在基本工作区中使用变量。

万博1manbetxSimulink不会在加速器模式下调用引用模型的某些回调。如果所有内容都是最新的,并且重建配置参数设置为如果检测到已知依赖项中的任何更改,被引用的模型不能编译,其InitFcn回调不会执行StartFcnStopFcn不要执行,因为加速器模式下的引用模型使用S函数,该函数启动和停止,而不是引用模型。

请注意

的仿真输出不可用StopFcn命令行模拟的回调。

回调参数模型

模型加载和关闭回调参数

模型保存回调参数

模型模拟回调参数

相关话题

这个话题有用吗?