Main Content

重新编译

有条件地、始终或从不重新编译模型引用目标的选项

模型配置窗格: 模型引用

描述

重新编译配置参数确定在对引用模型进行更新、仿真或从模型生成代码之前,应于何时对其引用模型的仿真和 Simulink® Coder™ 目标进行重新编译。

模型层次结构中的模型可以具有不同的重新编译设置。当您更新、仿真或生成模型的代码时,该模型的重新编译设置会应用于其所有引用模型。

在普通模式下执行的模型不会生成仿真目标,并且不受重新编译设置的影响。

为引用模型设置配置参数

在模型引用层次结构中,打开“配置参数”对话框的方式确定是编辑当前模型层次结构中顶层模型的配置参数,还是编辑当前引用模型的配置参数。

  • 当前模型层次结构中的顶层模型 - 在 Simulink 工具条的建模选项卡上,点击模型设置

  • 当前引用模型 - 在 Simulink 工具条的建模选项卡上,点击模型设置按钮箭头。然后,在引用模型部分中,选择模型设置

或者,将引用模型作为顶层模型打开。然后,在 Simulink 工具条的建模选项卡上,点击模型设置

设置

如果检测到变化 (默认) | 始终 | 如果检测到已知依存关系的变化 | 从不
始终

始终重新编译引用模型的目标。此设置需要的处理时间最多,因为它可能触发不必要的编译。要使所有模型引用目标保持最新,请在部署模型之前使用此设置。

如果检测到变化

当软件检测到可能影响仿真结果的更改时,有条件地为引用模型重新编译目标。要对引用模型的依存关系执行广泛的更改检测,请使用此设置。

如果该软件在已知的依存关系中没有发现任何变化,它将计算模型的结构校验和。结构校验和会检测用户创建的而非使用模型依存关系配置参数指定的依存关系中发生的更改。如果结构校验和已更改,则软件将重新编译模型引用目标。

如果检测到已知依存关系的变化

当软件检测到可能影响仿真结果的更改时,有条件地为引用模型重新编译目标。要减少更改检测所需的时间,请使用此设置。

如果该软件未发现已知或潜在依存关系发生变化,则不会计算模型的结构校验和,也不会重新编译模型引用目标。为了避免无效的仿真结果,您必须在模型依存关系参数中列出用户创建的所有依存关系。

从不

不重新编译引用模型的目标。此设置需要的处理时间最少,并且它会使用 Simulink 缓存文件(如果可用)以加快仿真速度。要避免在开发模型时重新编译,请使用此设置。

如果模型引用目标已过期,仿真可能会显示无效结果。要让软件检查已知目标依存关系中的更改并报告模型引用目标是否已过期,请使用从不重新编译诊断参数。要手动重新编译模型引用目标,请使用 slbuild 函数。

有关使用和共享 Simulink 缓存文件的信息,请参阅共享 Simulink 缓存文件以加快仿真速度

示例

全部展开

您可以通过将重新编译设置为如果检测到变化如果检测到已知依存关系的变化来有条件地重新编译模型引用目标。

假设您更改一个作为回调脚本的一部分执行的 MATLAB® 脚本。模型依存关系配置参数未将 MATLAB 脚本作为模型依存关系列出。

重新编译设置确定是否重新编译受影响的模型引用目标。

  • 如果检测到变化会导致重新编译,因为该更改会影响模型的结构校验和。

  • 如果检测到已知依存关系的变化不会导致重新编译,因为没有已知的目标依存关系发生更改。

下面的流程图说明当重新编译设置为如果检测到变化如果检测到已知依存关系的变化时 Simulink 执行的处理。

Flow chart for when to rebuild model reference targets

对于如果检测到变化如果检测到已知依存关系的变化设置,模型引用目标在以下情况下会重新编译:

  • 已知的目标依存关系已更改。

  • 模型文件或库已更改,并且结构校验和已更改。

  • 检测到潜在目标依存关系触发器,并且结构校验和已更改。

  • 在以上都不适用的情况下,重新编译设置为如果检测到变化,并且结构校验和已更改。

提示

要提高重新编译检测速度和精确度,请使用模型依存关系配置参数指定用户创建的依存关系。

推荐的设置

应用场景设置
调试无影响
可追溯性无影响
效率无影响
安全预警

如果检测到变化从不

使用从不设置时,将从不重新编译诊断配置参数设置为如果需要重新编译则视为错误

编程用法

参数: UpdateModelReferenceTargets
1 'Force' | 'IfOutOfDateOrStructuralChange' | 'IfOutOfDate' | 'AssumeUpToDate'
默认值'IfOutOfDateOrStructuralChange'

详细信息

全部展开

版本历史记录

在 R2006a 之前推出

全部展开


1 This table maps the programmatic values to the equivalent interactive values of the Rebuild configuration parameter.

UpdateModelReferenceTargets ValueEquivalent Rebuild Value
'Force'Always
'IfOutOfDateOrStructuralChange'If changes detected
'IfOutOfDate'If changes in known dependencies detected
'AssumeUpToDate'Never