主要内容

模型的回调

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

您可以使用模型回调执行常见的任务,如:

你可以设置相同的回调函数库。只可以执行的回调函数库可以设置一个图书馆。例如,你不能设置InitFcn回调库,叫做作为模拟的一部分,因为你无法模拟一个图书馆。

创建模型的回调

  1. 在仿真软件金宝app®将来发布,建模选项卡,设计画廊,点击属性检查器

  2. 没有选择在顶层的模型或模型,引用的属性选项卡,回调部分中,选择您想要设置回调。

    请注意

    块回调模型不同于回调。不要选择一个模型块设置回调引用模型模型。

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

以编程方式创建一个模型的回调,使用set_paramMATLAB函数分配®代码一个回调参数模型。

回调参数模型

回调参数模型 执行时

PreLoadFcn

在加载模型。

不使用模型参数在吗PreLoadFcn模型加载后的回调,因为参数模型加载。相反,使用一个PostLoadFcn回调处理模型参数时,加载模型。

定义这个参数是一个回调代码用于加载模型使用的变量。

如果你想打电话给你的模型从MATLAB文件没有打开你的模型,使用load_system函数,这样PreLoadFcn执行。

例如,看到的当打开一个模型加载变量

限制包括:

  • PreLoadFcn回调,get_param不返回的模型参数值,因为还没有加载模型。相反,get_param返回:

    • 等一个标准模型参数的默认值解算器

    • 为模型参数添加一条错误消息add_param

  • 不支持编程访问范围。金宝app

PostLoadFcn

后加载模型。

定义回调代码为这个参数可以用于生成一个接口需要加载模型。

限制包括:

  • 如果你让结构性变化PostLoadFcn,该函数不设置模型国旗,表示未保存的更改。当你关闭模型,模型不提示您保存。金宝app

  • 不支持编程访问范围。金宝app

因为这个回调执行模型编辑金宝app器打开后,PostLoadFcn回调不适合建立模型视图,例如,设置一个缩放因子。保存放大信息与模型打开它与特定的缩放因子。

InitFcn

在更新阶段之前块参数评估。在模型更新和模拟调用这个回调。

避免InitFcn模型回调,编辑的结构模型。金宝app仿真软件可以执行或忽略这些回调函数基于模型加载状态。

避免InitFcn模型编辑的内容引用的回调模型。这样做会导致意外的行为,如错误或不正确的结果,当你模拟仿真软件模型。金宝app

更多的信息InitFcn回调,看初始化函数

例如,看到的在MATLAB函数调用MATLAB函数文件块

StartFcn

前仿真阶段。这个回调期间不叫模型更新。

例如,看到的使用回调自动化仿真任务

这个回调是呼吁每一个模拟快速重启。

PauseFcn

模拟后停顿了一下。

ContinueFcn

在模拟仍在继续。

StopFcn

模拟后停止。

输出写入工作区之前变量和文件StopFcn是执行。

模拟输出并不是可用的StopFcn回调为命令行模拟。

这个回调是呼吁每一个模拟快速重启。

PreSaveFcn

之前模型保存。

PostSaveFcn

模型后保存。

如果你让结构性变化PostSaveFcn,该函数不设置模型国旗,表示未保存的更改。当你关闭模型,模型不提示您保存。金宝app

CloseFcn

框图之前关闭。

任何ModelCloseFcnDeleteFcn回调组块的模型被称为前模型CloseFcn回调。的DestroyFcn回调的块模型是模型CloseFcn回调。

回调引用模型

在模型层次结构的执行回调函数反映了顶部的顺序模型和模型参考执行回调。例如,假设:

  • 模式一:

    • 引用模型B在加速器模式。

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

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

  • 模型2:

    • 有一个CloseFcn回调,扫清了MATLAB的工作区。

    • 尚未建立或过时了。

模拟模型引用的触发重建模型B当模型重建模型B,它打开和关闭模式B, B调用模型金宝appCloseFcn回调。CloseFcn扫清了MATLAB工作区,包括变量创建的模型OpenFcn回调。

而不是使用CloseFcn回调模型B,你可以使用一个StopFcn回调在模型明确使用的变量模型的MATLAB工作区。或者,您可以使用一个数据字典的数据,以避免需要变量的基本工作空间。

的模拟模式模型块影响当模型回调引用模型的执行。

模拟的模型块模式 行为
正常的

在模型编译、仿真软件加载配置每个引用的模型来模拟在正金宝app常模式和尚未加载。

在大多数情况下,仿真软件编译每金宝app个正常模式引用模型一次,不管的数量模型块引用它。

InitFcn,StartFcn,PauseFcn,ContinueFcn,StopFcn模型为每个可执行的回调函数执行的模式编译器创建的模型的形式。

被引用的模型模型编译后继续加载。

加速器

在模型编译、仿真软件可以打开和关闭引用配置模型,基于金宝app他们在加速器模拟模式重建设置和模拟目标。模型前开放模型编译保持开放。

金宝app仿真软件不执行一些回调。

  • 如果一切都是最新的重建配置参数设置如果检测到已知的任何变化依赖关系,然后不编译和其引用的模型InitFcn回调函数不执行。

  • 等回调StartFcnStopFcn在加速器模式下不执行,因为引用的模型使用一个函数,启动和停止,而不是引用的模型。

模型参考仿真模式的更多信息,请参阅选择模拟模式模型层次结构

相关的话题