模型回调在指定的操作点执行,例如在加载或保存模型之后。
可以为库设置大部分相同的回调。只有可以为库执行的回调函数可用于为库设置。例如,不能设置InitFcn
用于库的回调函数,它是作为模拟的一部分调用的,因为您不能模拟库。
在仿真软件金宝app®编辑器,打开属性检查器。在建模选项卡,在设计,点击属性检查器.
在模型的顶层没有选择时,在属性选项卡,回调节中,选择要设置的回调。
在方框中,输入您希望回调执行的函数。
在模型层次结构中,回调的执行反映了顶层模型及其引用的模型执行回调的顺序。例如,假设:
模式一:
加速器模式下参考模型B。
有一个PostLoadFcn
在MATLAB工作空间中创建变量的回调函数。
有重建
配置参数设置为总是
,如果检测到变化
,或如果检测到已知依赖项中的任何更改
.
模型2:
有一个CloseFcn
清除MATLAB工作区的回调函数。
尚未建成或已过时。
模拟模型A会触发重建参考模型B。当Simulink重建模型B时,它打开和关闭模型B,模型B调用模型B金宝appCloseFcn
回调。CloseFcn
清除MATLAB工作区,包括模型A创建的变量OpenFcn
回调。
而不是使用CloseFcn
在模型B的回调函数中,您可以使用StopFcn
在模型A中回调,以从MATLAB工作空间中清除模型使用的变量。或者,您可以为数据使用数据字典,以避免在基本工作区中使用变量。
如果模型在普通模式下引用同一模型的多个实例,则对每个实例执行回调。
对于加速器模式下引用的模型,Simulink不会执行一些回调。金宝app如果一切都是最新的重建配置参数设置为如果检测到已知依赖项中的任何更改
,则引用的模型不编译,其InitFcn
回调函数不执行。等回调StartFcn
和StopFcn
不执行,因为在加速模式下的参考型号使用s功能,它会启动和停止,而不是参考型号。
请注意
的仿真输出不可用StopFcn
命令行模拟的回调。
模型InitFcn
必须避免编辑模型结构的回调。金宝appSimulink有时会根据模型的加载状态执行或忽略。