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

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

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

BlockPath

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

BlockHandle

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

slObj

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

sfID

ID Stateflow

sfObj

Обработайте к объекту Stateflow API от отдельно инстанцированной диаграммы Stateflow

{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

Задает, чтобы проигнорировать покрытие объектов-потомков, если 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, чтобы получить результаты покрытия выполнения для блока Saturation и определить процент охваченных результатов выполнения:

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. В Редакторе моделей выберите Analysis> Coverage> Settings.

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

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

  5. На Coverage> панель Results, задайте вывод, в котором вы нуждаетесь.

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

  7. Моделируйте модель и рассмотрите результаты.

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