设置模型层次结构的配置参数
引用模型使用配置集的方式与模型独立执行时相同。默认情况下,层次结构中的每个模型都有自己的配置集。当您在模型层次结构的上下文中打开引用模型时,通过点击模型设置按钮箭头,然后选择引用模型下的模型设置来访问其配置参数。
由于每个模型都可以拥有自己的配置集,因此配置参数值在不同模型中可能会有所不同。此外,某些参数值本质上与模型引用不兼容。Simulink® 对不一致或不可用的配置参数的响应取决于参数:
如果参数的不一致无关紧要,或者存在无风险的平凡解,Simulink 会忽略或解决该不一致而不发出警告。
如果存在可能可接受的非平凡解,Simulink 会以静默方式解决冲突,通过警告解决冲突或生成错误。有关详细信息,请参阅在加速模式下忽略的诊断。
如果不存在可接受的解,Simulink 会生成错误。更改部分或全部参数值以消除问题。
使用配置引用管理配置参数
要将一个外部存储的配置集指定给多个模型,可以使用配置引用。配置引用可帮助您消除配置参数不兼容。
可以将顶层模型的配置引用传播到单个引用模型或模型层次结构中的所有引用模型。有关示例,请参阅Share a Configuration Across Referenced Models。
对所有引用模型仿真的配置要求
一些配置参数选项可能会导致模型层次结构中出现不兼容。Simulink 会尽可能自动解决违反这些要求的情况,但大多数情况下需要更改部分或所有模型中的参数。
对话框窗格 | 选项 | 要求 |
---|---|---|
求解器 | 开始时间 | 顶层模型和所有引用模型的编译后的开始时间必须相同。 编译后的开始时间是指定的开始时间后的第一个仿真步。仿真步是模型中具有最快离散速率的增量,从 0 开始。 |
停止时间 | Simulink 使用顶层模型的停止时间进行仿真,从而会覆盖引用模型中的任何不同停止时间。 | |
类型 | 顶层模型的类型和求解器应用于整个层次结构。请参阅求解器设置。 | |
求解器 | ||
数据导入/导出 | 初始状态 | 对于顶层模型,可以选择此项;但对于引用模型,必须清除此项。 |
数学和数据类型 | 应用程序生命周期(天) | 对于代码生成,父模型和引用模型的设置必须相同。 对于仿真,父模型和引用模型的此选项的设置可以不同。 |
模型引用 | 每个顶层模型允许的实例总数 | 在引用模型中不得为零。一般建议指定为一个而不是多个,而且有时必须这样指定。请参阅模型实例数设置。 |
代码生成 > 优化 | 默认参数行为 | 如果父模型将此选项设置为内联,则引用模型不能设置为可调。 |
求解器设置
模型引用对定步长和变步长求解器均适用。模型层次结构中的所有模型都使用同一求解器,它始终是顶层模型指定的求解器。如果顶层模型指定的求解器类型与任何引用模型指定的求解器类型不兼容,则会发生错误。
顶层模型求解器类型 | 引用模型求解器类型 | 兼容性 |
---|---|---|
定步长 | 定步长 | 允许 |
变步长 | 变步长 | 允许 |
变步长 | 定步长 | 允许,引用模型是多速率模型且同时指定了离散采样时间和连续采样时间时除外 |
定步长 | 变步长 | 错误 |
如果顶层模型求解器与任一引用模型求解器之间存在不兼容性,则必须更改一个模型或同时更改这两个模型以使用兼容的求解器。有关求解器的信息,请参阅比较求解器和求解器选择标准。
模型实例数设置
引用模型必须指定它可以被引用,以及它是最多可以引用一次还是可以有多个实例。每个顶层模型允许的实例总数参数提供此设定。此参数的可能值有:
零 - 模型不能引用此模型。如果在另一个模型中引用此模型,则会发生错误。
一个 - 模型层次结构最多可引用一次此模型。如果存在多个模型实例,则会发生错误。此值有时是建议值,有时是必需值。
多个 - 如果模型层次结构不包含禁止多个引用的构造,则可以多次引用此模型。如果模型不能被多次引用,即使只存在一次引用,也会发生错误。
对于仅引用一次的模型,将每个顶层模型允许的实例总数设置为多个会略微降低执行效率。但是,此设置不会影响仿真或执行 Simulink Coder™ 生成的代码所得到的数据值。仅存在一个模型实例时指定多个可避免在按如下方式重用模型时更改或重新编译模型:
在同一层次结构中重用模型
在不同层次结构中多次重用模型
某些模型属性和构造要求将每个顶层模型允许的实例总数设置为一个。有关详细信息,请参阅模型重用。
在加速模式下忽略的诊断
当引用模型仅在加速模式下仿真时,软件不会针对引用模型的这些诊断配置参数显示警告或错误。
要识别具有在加速模式下仿真期间被忽略的诊断的引用模型,请使用模型顾问。
在建模选项卡上,点击模型顾问。
选择顶层模型,然后点击确定。
选择按任务 > 模型引用 > 检查模型引用加速仿真期间忽略的诊断设置。
点击运行此检查。
要对识别的引用模型运行诊断,请配置对应的配置参数以生成警告或错误。然后,在普通模式下仿真模型,并检查诊断消息。
注意
“配置参数”对话框的代码生成窗格上的配置参数不会影响普通模式或加速模式下的仿真。代码生成参数仅影响 Simulink Coder 的代码生成。加速模式仿真要求代码生成来创建仿真目标。Simulink 软件在生成目标时使用所有代码生成参数的默认值,并在代码生成完成后还原原始参数值。