executioninfo

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

Синтаксис

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

Описание

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

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

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

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

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

cvdo

cvdata объект

object

The object аргумент задает объект в модели или Stateflow® график, получившая покрытие выполнения. Допустимые значения для object включать в себя следующее:

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

BlockPath

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

BlockHandle

Указатель на модель или блок

slObj

Указатель на Simulink® Объект API

sfID

Идентификатор Stateflow

sfObj

Указатель на объект Stateflow API из отдельно созданной диаграммы Stateflow

{BlockPath, sfID}

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

{BlockPath, sfObj}

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

{BlockHandle, sfID}

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

При указании блока s-function допустимые значения для 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

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

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

'Normal'

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

'SIL' (or 'PIL')

Моделируйте в режиме симуляции Цикле (SIL) или Цикле (PIL).

'ModelRefSIL' (or 'ModelRefPIL')

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

'ModelRefTopSIL' (or 'ModelRefTopPIL')

Моделируйте ссылку в режиме симуляции Цикл (SIL или Цикле (PIL)) с кодовым интерфейсом, установленным на верхнюю модель.

ignore_descendants

Задает, чтобы игнорировать покрытие дочерних объектов, если ignore_descendants установлено в 1.

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

coverage

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

covered_outcomesКоличество результатов выполнения, удовлетворенных для object
total_outcomesКоличество результатов выполнения для object

description

description - массив структур, содержащий следующие поля:

decision.textМассив структур, описывающий счетчики выполнения блоков
isFilteredФильтруется ли блок
filterRationaleОбоснование фильтрации
justifiedCoverageОбоснованные условия принятия решений
isJustifiedЯвляется ли блок обоснованным

Примеры

Откройте slvnvdemo_cv_small_controller моделировать и создать объект тестовой спецификации testObj. Включите покрытие выполнения для slvnvdemo_cv_small_controller и выполните testObj использование cvsim. Использовать executioninfo чтобы извлечь результаты покрытия выполнения для блока Насыщения и определить процент охватываемых результатов выполнения:

mdl = 'slvnvdemo_cv_small_controller';
open_system(mdl)
testObj = cvtest(mdl)
data = cvsim(testObj)
blk_handle = get_param([mdl, '/Saturation'], 'Handle');
cov = executioninfo(data, blk_handle)
percent_cov = 100 * cov(1) / cov(2)

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

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

  1. Откройте модель.

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

  3. На панели Coverage диалогового окна Параметры конфигурации выберите Enable coverage analysis.

  4. В разделе Coverage metrics выберите Block Execution в качестве структурного уровня структурного покрытия.

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

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

Введенный в R2006b