slcoverage.BlockSelectorclass
包:slcoverage
选择块覆盖过滤器
创建
输入参数
类型
- - - - - -块选择器类型
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过渡。
例子:slcoverage.BlockSelectorType.Transition
元素
- - - - - -模型元素来选择
属性名|处理|万博1manbetx®ID
模型元素来选择、指定元素的属性名,其处理,或其仿真软件标识符。万博1manbetx使用处理或选择一个实例的ID选择器类型。使用属性名,如一块的“BlockType”
属性,选择多个模型元素。
例子:“slcoverage_lct_bus: 18”
,“RelationalOperator”
属性:
- SetAccess
-
受保护的
数据类型:字符
|字符串
|处理
|整数
属性
ConstructorCode
- - - - - -代码用于创建这个选择器对象
字符数组
代码用于创建这个选择器对象,作为一个特征向量返回。
属性:
GetAccess |
公共
|
SetAccess |
受保护的
|
描述
- - - - - -选择器的描述
特征向量
选择器的描述,作为一个特征向量返回。万博1manbetx仿真软件覆盖™根据选择器创建描述。
属性:
GetAccess |
公共
|
SetAccess |
受保护的
|
Id
- - - - - -模型元素标识符
万博1manbetx动态仿真模块ID(默认)|财产|处理
模型元素标识符指定为元素的属性名,处理一个元素,或元素的动态仿真模块标识符。万博1manbetx使用处理或选择一个实例的ID选择器类型。使用属性名,如的价值“BlockType”
块的属性,选择多个模型元素。
属性
SetAccess |
受保护的
|
数据类型:字符
|字符串
|处理
|整数
类型
- - - - - -块选择器类型
slcoverage.BlockSelectorType
价值
选择器类型,作为其中一个返回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 |
受保护的
|
方法
公共方法
allSelectors |
为模型或代码元素选择器 |
例子
块选择器的规则添加到过滤器
选择多个模块添加一个规则,一个街区的一个实例添加一个规则。得到的滤波器有两个规则。你可以模拟模型代码覆盖使用过滤器的效果。
打开模型。指定范围设置,打开保险记录。
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函数选择器
这个例子展示了如何使用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
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。