conditioninfo

Получите информацию о покрытии условия из cvdata объект

Синтаксис

coverage = conditioninfo(cvdo, object)
coverage = conditioninfo(cvdo, object, mode)
coverage = conditioninfo(cvdo, object, ignore_descendants)
[coverage, description] = conditioninfo(cvdo, object)

Описание

coverage = conditioninfo(cvdo, object) возвращает результаты покрытия условия в cvdata объект cvdo для компонента модели, заданного object.

coverage = conditioninfo(cvdo, object, mode) возвращает результаты покрытия условия в cvdata объект cvdo для компонента модели, заданного object для режима mode симуляции.

coverage = conditioninfo(cvdo, object, ignore_descendants) возвращает результаты покрытия условия для object, В зависимости от значения ignore_descendants.

[coverage, description] = conditioninfo(cvdo, object) возвращает результаты покрытия условия и текстовые описания каждого условия в object.

Входные параметры

cvdo

cvdata объект

object

Объект в модели Simulink® или схеме Stateflow®, которая получает Decision Coverage. Допустимые значения для object следующие:

BlockPath

Полный путь к модели Simulink или блоку

BlockHandle

Обработайте к модели Simulink или блоку

slObj

Обработайте к объекту Simulink API

sfID

ID Stateflow

sfObj

Обработайте к объекту Stateflow API

{BlockPath, sfID}

Массив ячеек с путем к диаграмме Stateflow или атомарной субдиаграмме и ID объекта, содержавшегося в том графике или субдиаграмме

{BlockPath, sfObj}

Массив ячеек с путем к диаграмме Stateflow или атомарной субдиаграмме и указателю API объекта Stateflow, содержавшемуся в том графике или субдиаграмме

{BlockHandle, sfID}

Массив ячеек с указателем на диаграмму Stateflow или атомарную субдиаграмму и ID объекта, содержавшегося в том графике или субдиаграмме

При определении Блока s-function, допустимых значений для object включайте следующее:

Объектная спецификацияОписание

{BlockPath, fName}

Массив ячеек с путем к блоку S-Function и имени исходного файла.

{BlockHandle, fName}

Массив ячеек с указателем блока S-Function и именем исходного файла.

{BlockPath, fName, funName}

Массив ячеек с путем к блоку S-Function, имени исходного файла и имени функции.

{BlockHandle, fName, funName}

Массив ячеек с указателем блока S-Function, именем исходного файла имя функции.

Для данных о покрытии, собранных во время программного обеспечения в режиме Loop (SIL) или Процессора в цикле (PIL) режим симуляции, допустимые значения для object включайте следующее:

Объектная спецификацияОписание

{fileName, funName}

Массив ячеек с именем исходного файла и имени функции.

{Model, fileName}

Массив ячеек с именем модели (или указатель модели) и имя исходного файла.

{Model, fileName, funName}

Массив ячеек с именем модели (или указатель модели), имя исходного файла и имя функции.

mode

mode аргумент задает режим симуляции для покрытия. Допустимые значения для mode включайте следующее:

Объектная спецификацияОписание

'Normal'

Модель в Нормальном режиме симуляции.

'SIL' (or 'PIL')

Модель в программном обеспечении в цикле (SIL) или Процессоре в цикле (PIL) режим симуляции.

'ModelRefSIL' (or 'ModelRefPIL')

Модель - ссылка в программном обеспечении в цикле (SIL) или Процессоре в цикле (PIL) режим симуляции.

'ModelRefTopSIL' (or 'ModelRefTopPIL')

Модель - ссылка в программном обеспечении в цикле (SIL или Процессор в цикле (PIL) режим симуляции с кодом соединяют интерфейсом с набором топ-модели.

ignore_descendants

Логическое значение, которое задает, проигнорировать ли покрытие объектов-потомков

1 проигнорировать покрытие объектов-потомков
0 (значение по умолчанию), чтобы собрать покрытие объектов-потомков

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

coverage

Значение coverage двухэлементный вектор из формы [covered_outcomes total_outcomes]. coverage пусто если cvdo не содержит результаты покрытия условия для object. Эти два элемента:

covered_outcomesКоличеству результатов условия удовлетворяют для object
total_outcomesОбщее количество результатов условия для object

description

Массив структур со следующими полями:

textОписание условия измеряется
conditionМассив структур, содержащий информацию об условии для отдельных результатов условия
isFilteredОтфильтрован ли блок
filterRationaleОбъяснение фильтрации
justifiedCoverageВыровненные по ширине условия покрытия
isJustifiedВыравнивается ли по ширине блок

Примеры

Следующий пример открывает slvnvdemo_cv_small_controller модель в качестве примера, создает тестовый объект testObj спецификации, включает покрытие условия для testObj, и выполняет testObj. Затем получите результаты покрытия условия для Логического блока (в подсистеме Усиления) и определите ее процент охваченных результатов условия:

mdl = 'slvnvdemo_cv_small_controller';
open_system(mdl)
testObj = cvtest(mdl)
testObj.settings.condition = 1;
data = cvsim(testObj)
blk_handle = get_param([mdl, '/Gain/Logic'], 'Handle');
cov = conditioninfo(data, blk_handle)
percent_cov = 100 * cov(1) / cov(2)

Альтернативы

Используйте настройки покрытия, чтобы собрать покрытие условия для модели:

  1. Откройте модель, для которой вы хотите собрать покрытие условия.

  2. В Редакторе моделей выберите Model Settings на вкладке Modeling.

  3. На панели Coverage диалогового окна Configuration Parameters выберите Enable coverage analysis.

  4. Под Coverage metrics выберите Condition как уровень структурного покрытия.

  5. Нажмите OK, чтобы закрыть диалоговое окно Configuration Parameters и сохранить ваши изменения.

  6. Симулируйте модель путем нажатия кнопки Run и рассмотрите результаты.

Представленный в R2006b