exponenta event banner

правила

Класс: slcoverage. Фильтр
Пакет: slcoverage

Правила для фильтра

Синтаксис

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

Описание

fr = rules(filter) возвращает все правила, назначенные фильтру.

fr = rules(filter,element) возвращает только правила для указанного элемента модели.

Входные аргументы

развернуть все

Объект фильтра, правила которого необходимо вернуть, указанный как slcoverage.Filter объект.

Это свойство доступно только для чтения.

Идентификатор элемента модели, правила которого возвращаются, указанный как вектор символов или строка идентификатора Simulink, свойства элемента модели или дескриптора.

Выходные аргументы

развернуть все

Правила фильтра, возвращенные как slcoverage.FilterRule объект или массив slcoverage.FilterRule объекты.

Примеры

развернуть все

Откройте модель. Укажите параметры покрытия и включите запись покрытия.

modelName = 'sldemo_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('sldemo_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 для возврата правила только для блока И.

filt.rules(id)
ans = 

  FilterRule with properties:

     Selector: [1×1 slcoverage.BlockSelector]
         Mode: Justify
    Rationale: 'Value is never greater than 0'
Представлен в R2017b