slcoverage. Селекторный класс

Пакет: slcoverage

Получите селекторы всех типов

Описание

Используйте класс slcoverage.Selector с методом allSelectors, чтобы возвратить все типы селекторов для блока.

Свойства

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

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

Код, используемый, чтобы создать этот селекторный объект, возвратился как вектор символов.

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

Описание селектора, возвращенного как вектор символов. Simulink® Coverage™ создает описание на основе селектора.

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

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

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

Селекторный тип, возвращенный как селекторный тип соответствующего селектора.

Методы

allSelectorsСелекторы для элемента модели или кода

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Получите все селекторы для блока. Затем можно добавить правило исключить или выровнять по ширине селектор. (Можно только выровнять по ширине метрические селекторы.)

Откройте модель и включите запись покрытия. Получите все селекторы для И блок.

modelName = 'sldemo_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricSettings','dcme','RecordCoverage','on');
id = Simulink.ID.getSID('sldemo_lct_bus/slCounter/And');
sel = slcoverage.Selector.allSelectors(id)
s = 

  1×6 heterogeneous Selector (BlockSelector, MetricSelector) array with properties:

    Description
    Type
    Id
    ConstructorCode

Блок имеет шесть селекторов. Можно индексировать в каждого, чтобы видеть содержимое. Шестой селектор является метрическим селектором, который вы хотите выровнять по ширине.

sel(6)
ans = 

  MetricSelector with properties:

     ObjectiveIndex: 2
       OutcomeIndex: 2
        Description: 'F outcome of input port 2 in Logic block "And"'
               Type: ConditionOutcome
                 Id: 'sldemo_lct_bus:23'
    ConstructorCode: 'slcoverage.MetricSelector(slcoverage.MetricSelectorType.ConditionOutcome,'sldemo_lct_bus:23',2,2)'

Создайте выровнять по ширине правило для селектора. Создайте объект фильтра и добавьте правило в него.

rule = slcoverage.FilterRule(sel(6),'Expected result');
filt = slcoverage.Filter;
filt.addRule(rule);

Сохраните и запустите фильтр.

filt.save('metrfilter');
csim = cvsim(modelName);
csim.filter = 'metrfilter';
cvhtml('cov',csim);

Введенный в R2017b