不同块的模型覆盖
金宝app®覆盖™可以分析和报告包含变量块的模型的覆盖率数据,例如变异来源或不同的子系统块。当您模拟一个包含一个或多个启用覆盖的变体块的模型时,金宝app仿真软件覆盖的类型来报告覆盖结果变体激活时间参数。
为变异来源而且变体水槽块,金宝app仿真软件覆盖分别分析了上游和下游区块的变体选择。的变异来源而且变体水槽Block本身不接收覆盖。为不同的子系统而且变体模型块,金宝app仿真软件覆盖为选定的度量分析子系统或模型块的内容。
更新时间和编译时间变量
如果你设置变体激活时间变量块的参数更新图
,更新图表分析所有选项
,或代码编译
,金宝app仿真软件覆盖仅报告模拟期间活动的变体选择的覆盖范围。
提示
对于更新时或编译时变量,您不能使用不同的活动变量选择来聚合模拟的覆盖率。如果你想测试所有可能的变量选择,考虑设置变体激活时间来启动
.
例如,假设您有一个包含不同的子系统Block有两个变体选择。的变体激活时间参数。不同的子系统Block被设置为更新图
.
如果Subsystem1
是活动的模拟,您收到的覆盖结果Subsystem1
而不是Subsystem2
.
在覆盖结果中,Subsystem1
为红色,表示它收到了不完整的覆盖,以及Subsystem2
为灰色,表示未进行分析。此外,覆盖率报告摘要省略了不活跃的变体选择。
当你设置变体激活时间变量块的参数更新图
,更新图表分析所有选项
,或代码编译
,更改活动变量是对模型的结构更改。因为模型的覆盖数据只有在模型没有被更改或关闭的情况下才有效,所以您不能聚合使用不同活动变量模拟的相同模型的覆盖。如果您想测试多个活动变量并为它们聚合覆盖率,请更改变体激活时间参数启动
.
启动变体
如果你设置变体激活时间变量块的参数启动
,金宝app仿真软件覆盖报告所有变量选择的覆盖范围,即使它们在模拟期间不活跃。您还可以使用不同的活动变量选择来聚合模拟的覆盖范围。
例如,如果修改前面示例中的模型并设置变体激活时间来启动
而且Subsystem1是模拟活动,你得到同样的覆盖Subsystem1
随着情况的更新时间的变化。然而,金宝app仿真软件覆盖也报道了不活跃的变种,Subsystem2
.
在覆盖结果中,Subsystem1
而且Subsystem2
都是红色,表示覆盖不完整。覆盖率报告摘要包括所有的变体选择。
非活动的变体得到0%的覆盖率,因为它们没有在模拟期间执行。增加报告的覆盖率Variant_Subsystem
,可以再次模拟模型Subsystem2
作为主动变量,然后聚合覆盖结果。
为包含变量的模型定制覆盖率报告
当为使用变量块的模型创建覆盖率报告时,您可以聚合来自多个模拟的覆盖率数据,并指定是否包括或排除非活动的变量。
从覆盖报告中排除非活跃的变体
更新时和编译时Simulink变体的非活动配置总是被排除在覆盖率报告之外。金宝app
的Sim金宝appulink变体块变体激活时间参数设置为启动
以及状态流中的变体配置®在图表中,覆盖率报告默认包含非活动的变量选择。您可以选择在覆盖率报告中排除非活动的变体选项排除不活跃的变体选择参数:
在“配置参数”窗口的左侧窗格中,单击报道.
扩大先进的参数然后选择排除不活跃的变体选择.
您也可以通过输入以下命令以编程方式设置此参数:
set_param (modelName“CovExcludeInactiveVariants”,1)
在模拟完成后,您还可以使用以下方法之一在状态流程图中更改启动Simulink变量和变量配置的报告行为:金宝app
在Coverage Results Explorer中,选择或清除该选项排除不活跃的变体选择.
的值
excludeInactiveVariants
的财产cvdata
对象,然后生成覆盖率报告。
包含变量的模型的聚合覆盖数据
对于在状态流程图中包含Simulink变体和变体配置的模型,有两种方法来聚合覆盖率数据:金宝app
在“配置参数”对话框中,单击报道,然后展开先进的参数并选择在覆盖报告中包含累积数据参数。使用选定的此参数运行两个或多个模拟时,将报道的细节显示这些模拟的汇总覆盖结果。
以编程方式运行覆盖率分析并聚合
cvdata
对象,使用+
操作符。
如果你把两个相加cvdata
属性具有不同值的excludeInactiveVariants
属性,可以使用+
运算符或通过更改排除不活跃的变体选择参数表示聚合的结果cvdata
对象将此属性设置为值0
.结果是聚合的覆盖率报告显示不活跃的变量,就像排除不活跃的变体选择参数未选中,即使已为一次模拟选中该参数。