主要内容

模型的回调

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

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

创建模型回调

  1. 在仿真软件金宝app®编辑器,打开物业检查员。当建模选项卡,在设计,点击属性检查器

  2. 在模型的顶层没有选择时,在属性标签,在回调部分,选择要设置的回调。

  3. 在框中,输入要回调执行的功能。

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

回调引用模型

在模型层次结构中,回调的执行反映了顶级模型和它引用执行其回调的型号的顺序。例如,假设:

  • 模式一:

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

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

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

  • 模型2:

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

    • 尚未建造或未结束。

模拟模型A触发重建引用的模型B.当Simulink重建模型B时,它打开并关闭模型B,该模型B调用B模型B金宝appCloseFcn回调。CloseFcn清除MATLAB工作区,包括模型A创建的变量Openfcn.回调。

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

如果模型在普通模式下引用相同模型的多个实例,则对每个实例执行的回调。

对于加速器模式下引用的模型,Simulink不会执行一些回调。金宝app如果一切都是最新的重建配置参数设置为如果检测到已知依赖项中的任何更改,则引用的模型不编译,其initfcn.回调不执行。回调如startfcn.StopFcn不执行,因为加速器模式中的引用模型使用S函数,该函数启动和停止而不是引用的模型。

请注意

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

模型initfcn.必须避免编辑模型结构的回调。金宝appSimulink有时可以根据模型加载状态执行或忽略。

回调参数模型

模型加载和关闭回调参数

模型保存回调参数

模型仿真回调参数

相关主题