Main Content

本页采用了机器翻译。点击此处可查看英文原文。

rules

类: slcoverage.Filter
命名空间: slcoverage

过滤器规则

语法

fr = rules(filter)
fr = rules(filter,element)

说明

fr = rules(filter) 返回分配给过滤器的所有规则。

fr = rules(filter,element) 仅返回指定模型元素的规则。

输入参数

全部展开

要返回其规则的过滤对象,指定为 slcoverage.Filter 对象。

此 属性 为只读。

要返回其规则的模型元素的标识符,指定为 Simulink ID、模型元素属性或句柄的字符向量或字符串。

输出参量

全部展开

过滤规则,以 slcoverage.FilterRule 对象或 slcoverage.FilterRule 对象数组返回。

示例

全部展开

打开一个模型。指定覆盖率设置并打开覆盖率记录。

modelName = 'slcoverage_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricStructuralLevel','MCDC','RecordCoverage','on');

创建一个 BlockSelector 对象,bl。创建一个过滤器对象,创建一个规则,并将规则添加到过滤器中。

bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockType,'RelationalOperator');
filt = slcoverage.Filter;
rule = slcoverage.FilterRule(bl,'Tested elsewhere',slcoverage.FilterMode.Exclude);
filt.addRule(rule);

创建另一条规则并将其添加到过滤器对象。

id = Simulink.ID.getSID('slcoverage_lct_bus/slCounter/And');
bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,id);
rule = slcoverage.FilterRule(bl,'Value is never greater than 0');
filt.addRule(rule);

使用 rules 返回过滤规则。查看数组中的第一条规则。

fi = filt.rules
fi(1)
fi = 

  1×2 FilterRule array with properties:

    Selector
    Mode
    Rationale

ans = 

  FilterRule with properties:

     Selector: [1×1 slcoverage.BlockSelector]
         Mode: Exclude
    Rationale: 'Tested elsewhere'

使用 rules 仅返回 And 模块的规则。

filt.rules(id)
ans = 

  FilterRule with properties:

     Selector: [1×1 slcoverage.BlockSelector]
         Mode: Justify
    Rationale: 'Value is never greater than 0'

版本历史记录

在 R2017b 中推出