主要内容

slcoverage.BlockSelectorclass

包:slcoverage

选择块覆盖过滤器

描述

指定过滤规则块选择标准。

slcoverage.BlockSelector类是一个处理类。

创建

描述

例子

选取= slcoverage.BlockSelector (类型,元素)指定要创建的模型元素类型的过滤规则和返回一个slcoverage.BlockSelector对象。

输入参数

全部展开

选择类型的模型元素,指定这些值之一:

  • slcoverage.BlockSelectorType.BlockInstance——一个街区的一个实例或外部MATLAB函数调用MATLAB函数块。

  • slcoverage.BlockSelectorType.BlockType——所有指定块的块类型。

  • slcoverage.BlockSelectorType.Chart——Stateflow®图表。

  • slcoverage.BlockSelectorType.MaskType——使用指定的掩码类型的块。

  • slcoverage.BlockSelectorType.State——Stateflow状态。

  • slcoverage.BlockSelectorType.StateAllContent——Stateflow状态和它的内容。

  • slcoverage.BlockSelectorType.StateflowFunction——一个Stateflow函数。

  • slcoverage.BlockSelectorType.Subsystem——一个子系统。

  • slcoverage.BlockSelectorType.SubsystemAllContent——一个子系统和它的内容。

  • slcoverage.BlockSelectorType.TemporalEvent——Stateflow时间事件。

  • slcoverage.BlockSelectorType.Transition——Stateflow过渡。

例子:slcoverage.BlockSelectorType.Transition

模型元素来选择、指定元素的属性名,其处理,或其仿真软件标识符。万博1manbetx使用处理或选择一个实例的ID选择器类型。使用属性名,如一块的“BlockType”属性,选择多个模型元素。

例子:“slcoverage_lct_bus: 18”,“RelationalOperator”

属性:

SetAccess

受保护的

数据类型:字符|字符串|处理|整数

属性

全部展开

代码用于创建这个选择器对象,作为一个特征向量返回。

属性:

GetAccess
公共
SetAccess
受保护的

选择器的描述,作为一个特征向量返回。万博1manbetx仿真软件覆盖™根据选择器创建描述。

属性:

GetAccess
公共
SetAccess
受保护的

模型元素标识符指定为元素的属性名,处理一个元素,或元素的动态仿真模块标识符。万博1manbetx使用处理或选择一个实例的ID选择器类型。使用属性名,如的价值“BlockType”块的属性,选择多个模型元素。

属性

SetAccess
受保护的

数据类型:字符|字符串|处理|整数

选择器类型,作为其中一个返回slcoverage.BlockSelectorType价值观:

  • slcoverage.BlockSelectorType.BlockInstance——一个街区的一个实例或外部MATLAB函数调用MATLAB函数块。

  • slcoverage.BlockSelectorType.BlockType——所有指定块的块类型。

  • slcoverage.BlockSelectorType.Chart——Stateflow图表。

  • slcoverage.BlockSelectorType.MaskType——使用指定的掩码类型的块。

  • slcoverage.BlockSelectorType.State——Stateflow状态。

  • slcoverage.BlockSelectorType.StateAllContent——Stateflow状态和它的内容。

  • slcoverage.BlockSelectorType.StateflowFunction——一个Stateflow函数。

  • slcoverage.BlockSelectorType.Subsystem——一个子系统。

  • slcoverage.BlockSelectorType.SubsystemAllContent——一个子系统和它的内容。

  • slcoverage.BlockSelectorType.TemporalEvent——Stateflow时间事件。

  • slcoverage.BlockSelectorType.Transition——Stateflow过渡。

属性:

GetAccess
公共
SetAccess
受保护的

方法

全部展开

例子

全部折叠

选择多个模块添加一个规则,一个街区的一个实例添加一个规则。得到的滤波器有两个规则。你可以模拟模型代码覆盖使用过滤器的效果。

打开模型。指定范围设置,打开保险记录。

modelName =“slcoverage_lct_bus”;open_system (modelName);set_param (modelName“CovMetricStructuralLevel”,“MCDC”,“RecordCoverage”,“上”);

选择相同的块类型的块上通用电气输入块添加过滤规则。

类型= get_param (“slcoverage_lct_bus / slCounter /上通用电气输入”,“BlockType”);提单= slcoverage.BlockSelector (slcoverage.BlockSelectorType.BlockType类型);

创建一个过滤器对象,根据选择器创建一个规则,规则添加到过滤器。

filt = slcoverage.Filter;规则= slcoverage.FilterRule(提单,测试了其他地方的,slcoverage.FilterMode.Exclude);filt.addRule(规则);

选择一块实例和规则块实例添加到过滤器。这条规则使用默认过滤模式证明

id = 万博1manbetxSimulink.ID.getSID (“slcoverage_lct_bus / slCounter /和“);提单= slcoverage.BlockSelector (slcoverage.BlockSelectorType.BlockInstance id);规则= slcoverage.FilterRule(提单,“边缘案例”);filt.addRule(规则);

将过滤器保存为blfilter。模拟的模型代码覆盖率。添加过滤器文件的价值过滤器财产产生的cvdata对象。然后生成覆盖报告。

filt.save (“blfilter”);csim = cvsim (modelName);csim。过滤器=“blfilter”;cvhtml (“浸”,csim);

检查HTML报告,看到您所添加的规则的信息块。

这个例子展示了如何使用MATLAB®函数选择器slcoverage.BlockSelector类。

模型的例子slvnvdemo_eml_model_coverage_demo包含一系列的MATLAB函数块。的一个块调用外部函数调用MATLAB函数slcoverageExternalFile.m

首先加载模型和生成覆盖率结果。

modelName =“slvnvdemo_eml_model_coverage_demo”;load_system (modelName) covData = cvsim (modelName);

由于模型使用一个外部函数,覆盖率结果中返回cv.cvdatagroup对象。使用cv.cvdatagroup.get类方法提取cvdata对象包含的结果slcoverageExternalFile函数。

functionCov =得到(covData,“slcoverageExternalFile”);

排除整个函数的覆盖率报告,使用一个排除过滤器。首先,使用slcoverage.BlockSelector类来创建一个外部MATLAB函数选择器slcoverageExternalFile.m。正确的BlockSelectorType枚举是使用BlockInstance

选取= slcoverage.BlockSelector (slcoverage.BlockSelectorType.BlockInstance,“slcoverageExternalFile.m”);

创建一个空slcoverage.Filter对象。

filt = slcoverage.Filter;

创建排除过滤器规则使用slcoverage.FilterRule类。使用您创建的选择器,滤波函数的基本原理,过滤类型的slcoverage.FilterMode.Exclude

规则= slcoverage.FilterRule(选取,“排除功能演示”,slcoverage.FilterMode.Exclude);

添加过滤规则过滤对象名称过滤,并将其保存到一个文件。

addRule (filt、规则);setFilterName (filt“mfileFilter”);setFilterDescription (filt“演示排斥过滤外部m文件”);保存(filt,“externalFileFilter”)

应用过滤器文件cvdata对象包含覆盖函数的结果slcoverageExternalFile.m

functionCov。过滤器=“externalFileFilter”;

创建函数的覆盖率报告和观察slcoverageExternalFile现在没有覆盖率数据报告的总结,如果你点击打开函数的函数名的报告,你看看slcoverageExternalFile列在对象从覆盖率分析过滤

cvhtml (“covReport”covData)

版本历史

介绍了R2017b