exponenta event banner

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 ®, получающий покрытие для принятия решений. Допустимые значения дляobject являются следующими:

BlockPath

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

BlockHandle

Обращение к модели или блоку Simulink

slObj

Дескриптор объекта API Simulink

sfID

Идентификатор потока состояний

sfObj

Дескриптор объекта API Stateflow

{BlockPath, sfID}

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

{BlockPath, sfObj}

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

{BlockHandle, sfID}

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

При указании S-функционального блока допустимые значения для object включают следующее:

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

{BlockPath, fName}

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

{BlockHandle, fName}

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

{BlockPath, fName, funName}

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

{BlockHandle, fName, funName}

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

Для данных покрытия, собранных в режиме программного обеспечения в цикле (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')

Ссылка на модель в режиме моделирования Software-in-the-Loop (SIL или Processor-in-the-Loop (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. На панели Покрытие диалогового окна Параметры конфигурации выберите Включить анализ покрытия.

  4. В разделе Показатели покрытия выберите Условие в качестве структурного уровня покрытия.

  5. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Параметры конфигурации (Configuration Parameters) и сохранить изменения.

  6. Смоделировать модель, нажав кнопку Выполнить (Run), и просмотреть результаты.

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