变体模型可以具有与其相关联的一个或多个变体配置。使用Variant Manager,您可以创建变体配置。每个变体配置都包含一组变体控制变量值,它激活模型中的变体选择。每个变体配置可用于产生模型的特定实现。根据模型中使用的变体控制变量的数量,变体配置的数量可以很高。由于变量配置量大,因此难以确保至少一次激活所有变体选择,并且该模型被完全覆盖以进行仿真和代码生成。在不同的变体配置之间也难以确保有效,实现的模型不同。您可以使用Variant Manager中的变体配置分析工具比较模型的不同变体配置。此外,您可以获取有关用于特定变体配置的依赖模型和库的信息。
变体配置分析工具还可以帮助您确定在不同的变体配置中使用哪些块。您可以确定哪些块是未使用的,哪些块在变体区域内,并且总是被使用。未使用的块用红色突出显示,这表示模型中未测试和未暴露的部分。heatmap视图可以帮助您确定不同变体配置之间的活动的、实现的模型的相似和不同之处。分析结果可用于改进变体配置,并更新模型,以提供跨所有变体配置的完整模拟覆盖。
打开一个包含变量块的模型。例如,变体配置分析.
该模型包含用于传感器的不同供应商源和基于传感器输入的不同控制器实现。供应商传感器的选择是模拟的变异来源和变体水槽块。不同的控制器选择使用不同的子系统建模。
右键单击变体徽章并选择在Variant Manager中打开.Variant Manager打开并显示预定义配置。或者,选择一个变体块,然后选择变体ToolStrip选择的选项卡变体经理.
点击分析.打开“变体配置分析”对话框。
在分析模式,选择所需的选项。
指定不同的配置:选择所需的变体配置或选择命名配置选择所有配置。
指定变型控制值:如果选择此选项,则可以创建对应于不同配置的多个变量组。要创建一个新的变量组,请单击新变量组并设置变量控制变量的值。您可以指定一个变体控制值或选择忽略了
从下拉列表中。如果您选择忽略了
,然后在分析模型时不考虑该变体控制变量。
点击分析.分析变体配置的报告打开。
笔记
在此示例中,选项指定不同的配置被选中分析模式.
该报告显示模型层次结构的树木表视图和所有分析的变体配置。表中的每一行对应于模型中的块,并且每列表示变型配置。复选标记表示相应的块在相应的变体配置中处于活动状态。以红色突出显示的条目表示该块为此特定的变体配置是非活动状态。例如,在上面的图像中,供应商A.块在不同的配置中是活跃的VendorACtrlLinear那vendoractrlfuzzy.和Vendoractrlnonlinear.在不同构型中是不活跃的VendorBCtrlFuzzy那vendorbctrllinear.那VendOrbCtrlsecondorder.,VendorbCtrlnonlinear..
报告中的注释(" c:# ")对应于一个变体条件。变异条件取决于哪个变异配置是激活的。注释和条件之间的映射如图所示。变量条件帮助您理解为什么一个块对于给定的变量配置是激活的(变量条件基于配置中定义的控制变量的值进行评估)。
对手的控制变体配置分析窗口允许您执行以下操作:
搜索块。
过滤结果,有选择地显示块。
选择性地显示分析的块。
选择性地显示块变体分析窗口:
选择变体在模型中只显示变量块。
选择分层显示所有分层块(例如,子系统或模型块)在模型中。此视图允许您逐一浏览子系统或模型引用,而不是通过完整的模型查看。
选择所有的块在模型中显示所有块。
选择性地通过他们的活动显示块变体配置分析窗口:
选择总是活跃显示始终在模型中活动的块。
选择部分活动的显示在所选配置中某些配置中处于活动状态而另一些配置中处于非活动状态的块。
选择从不主动显示模型中从不活动的块。这些块还用红色高亮显示,表明它们是模型中未使用的部分,需要修复。
例如,下图显示了一个有几个未使用块的模型。从不主动选项被选中以查看未使用的块。
块中的块二阶控制器内部linear_control.和F1_Unsat过滤器是未使用的。要使这些未使用的块至少在一个变体配置中成为活动模型的一部分,请修改模型或更新变体配置。
下图显示了一个具有两个相同变体配置的模型。部分活动的选项以获得此结果。
变体配置vendorbctrllinear.和VendOrbCtrlsecondorder.它们之间没有差异。这表明这两个配置的产生的活动模型将是相同的。要解决此问题,请更新变体配置或更新模型。
表中的注释对应于一个变体条件。变异条件取决于激活变异配置。变量条件帮助您理解对于给定的变量配置,该块是否处于活动状态。变量条件基于配置中定义的控制变量的值进行评估。
单击所需的注释以查看具有所选注释的块。