主要内容

初始化函数

初始化函数(InitFcn)是一种在模型编译开始时执行或计算的回调类型。您可以指定InitFcn回调作为模型或块回调。

请注意

变体控件只能在模型中定义InitFcn回调。

模型InitFcn回调

使用模型InitFcn回调函数初始化特定于模型的参数和环境设置,例如:

  • 模型参数中使用的变量

  • 检查所需软件的许可证

在Simuli万博1manbetxnk中®工具条上的建模选项卡,单击模型设置箭头,然后单击模型属性.在“模型属性”对话框中,模型InitFcn回调在回调选项卡。

“模型属性”对话框中的InitFcn

不使用模型InitFcn回调函数:

  • 获取仿真状态。来模拟一个模型slbuild功能或使用软件在环(SIL)或快速加速器模式,该模型InitFcn回调状态可能显示为“停止”

  • 执行仿真命令。例如,不要使用命令set_param (ModelName‘SimulationCommand’,‘开始’)set_param (ModelName“SimulationCommand”,“更新”)在模型中InitFcn回调。

  • 修改其他模型。类似地,blockInitFcn的回调模型块不能修改引用模型的参数或结构。

  • 覆盖引用模型中使用的任何变量。例如,如果顶部模型和引用模型使用变量k,模型InitFcn顶模的回调不能修改k对于引用的模型。在这种建模模式中,使用不同的变量名或数据字典。

  • 编辑模型的结构(定义变量控件除外)。例如,不要使用函数add_linedelete_line在模型中InitFcn回调。

如果你使用InitFcn回调时,对整个模型禁用块参数中缺失变量的编辑时检查。

关于模型的例子InitFcn变量的回调函数,打开sldemo_variant_initFcn模型。然后,双击绿色块以打开使用推荐工作流的模型。打开的模型包含不同的子系统而且变异来源块。

具有可变子系统和可变源块的模型

在这个模型中,模型InitFcn回调函数用于初始化模型的参数。

定义V、W、W. value和W. datatype的InitFcn

而您可以在模型中定义这些参数PreLoadFcnPostLoadFcn回调,这些回调在模型加载之前或之后执行。假设你清除了MATLAB中的参数®工作空间并模拟模型。该模型PreLoadFcn而且PostLoadFcn回调不重新创建参数。当您在模型中定义参数时InitFcn回调,模型更新和仿真重新创建参数。

InitFcn回调

使用积木InitFcn回调函数初始化块的参数和设置。

右键单击块。然后,单击属性.在“块属性”对话框中,该块InitFcn回调在回调选项卡。

“块属性”对话框中的“InitFcn”

不使用方块InitFcn回调函数:

  • 属性的情况除外,修改其他块的参数(或变量)InitFcn的回调子系统块来修改其直接子块的参数。

  • 进行结构上的改变。例如,不要使用函数add_blockdelete_block在街区里InitFcn回调。

  • 修改其他块使用的模型工作区中的任何全局变量或变量。

  • 类引用的模型的参数、结构或设置模型块。

如果你使用InitFcn回调块,该块的编辑时检查块参数中缺失的变量被禁用。

相关的话题