В этом примере показано использование проводника результатов покрытия для упрощения формирования совокупных данных покрытия и отчетов, охватывающих набор нескольких прогонов покрытия.
В этом примере используется slvnvdemo_ratelim_harness модель для объяснения настроек и опций для накопления покрытия. Внутри этой модели находится реализация ограничителя регулируемой скорости. Он использует три блока Switch для управления тем, когда выход должен быть ограничен, и типом применяемого предела.
Входные данные создаются с помощью трех блоков Из рабочей области (From Workspace): коэффициент усиления, предел возрастания и предел падения. Значения входных данных определяются шестью переменными, определенными в рабочей области MATLAB ®: t_gain, u_gain, t_pos, u_pos, t_neg и u_neg.
open_system('slvnvdemo_ratelim_harness');

open_system('slvnvdemo_ratelim_harness/Adjustable Rate Limiter');

Начните с открытия параметров покрытия. На вкладке Моделирование (Modeling) выберите Параметры модели (Model Settings).
Чтобы включить инструмент покрытия, выберите Включить анализ покрытия на панели Покрытие. Этот параметр включает другие параметры в области покрытия.
Для этого примера соберите условия и покрытие принятия решений. На панели «Показатели покрытия» установите для параметра «Структурный уровень покрытия» значение «Решение по условию».

Нажмите кнопку ОК, чтобы применить выбранные параметры и закрыть это диалоговое окно.
В первом тестовом примере выполняется сценарий, в котором входные значения не изменяются быстро. Он использует синусоидальную волну в качестве изменяющегося во времени сигнала и констант для возрастающих и падающих пределов.
t_gain = (0:0.02:2.0)'; u_gain = sin(2*pi*t_gain);
Рассчитайте минимальное и максимальное изменение входных данных с изменяющимся временем с помощью MATLAB diff функция.
max_change = max(diff(u_gain)) min_change = min(diff(u_gain))
max_change =
0.1253
min_change =
-0.1253
На основе этих минимальных и максимальных скоростей изменения установите пределы скорости в 1 и -1. Таким образом, скорость изменения входного сигнала будет находиться в этих пределах для данного тестового прогона.
t_pos = [0;2]; u_pos = [1;1]; t_neg = [0;2]; u_neg = [-1;-1];
Смоделировать модель с помощью этого первого набора входных переменных, нажав кнопку Run (Coverage).
sim('slvnvdemo_ratelim_harness');
Чтобы открыть обозреватель результатов, в приложении Анализатор покрытия щелкните Обозреватель результатов.
На данном этапе текущие совокупные данные содержат только этот первый прогон покрытия (помеченный как прогон 1). В обозревателе результатов первоначально отображаются сведения об этом последнем прогоне покрытия, включая сводку результатов по каждой включенной метрике.
Для отслеживания цели моделирования введите текст "Test within rate limits" в поле Описание и нажмите кнопку Применить.

Второй тестовый случай дополняет первый случай возрастающим коэффициентом усиления, который превышает предел скорости. Через секунду он увеличивает предел скорости так, чтобы изменения коэффициента усиления были ниже этого предела.
t_gain = [0;2]; u_gain = [0;4]; t_pos = [0;1;1;2]; u_pos = [1;1;5;5]*0.02; t_neg = [0;2]; u_neg = [0;0];
Смоделировать модель с помощью второго набора переменных, нажав кнопку Run (Coverage).
sim('slvnvdemo_ratelim_harness');
После выполнения нескольких прогонов покрытия можно создавать кумулятивные отчеты о покрытии.
Сначала добавьте краткое описание этого прогона, как это было сделано для предыдущего моделирования. Введите текст "Test rising rate limit" в поле Описание для прогона 2 и нажмите кнопку Применить.

Существуют различные форматы отчетов о покрытии, которые могут быть сгенерированы. Для визуализации влияния последнего моделирования на результаты совокупного покрытия можно создать сводный отчет о ходе выполнения.
В обозревателе результатов в разделе Параметры выберите Показать сводный отчет о ходе выполнения и нажмите кнопку Применить.

Щелкните Текущие кумулятивные данные (Current Collective Data) на крайней левой панели редактора результатов. Обратите внимание, что в окне Summary отображаются совокупные результаты покрытия, полученные в ходе выполнения 1 и выполнения 2. Щелкните Создать отчет (Generate Report), чтобы создать сводный отчет о ходе выполнения.

Раздел Сводка сводного отчета о ходе выполнения состоит из трех столбцов: Текущий прогон, Дельта и Совокупный. В столбце Текущий прогон (Current Run) отображается покрытие из последнего моделирования, указанного в разделе Текущие кумулятивные данные (в данном случае это прогон 2). В столбце Дельта (Delta) отображается покрытие, отображаемое текущим выполнением, которое не было достигнуто в кумулятивных результатах перед этим моделированием. В столбце «Кумулятивный» приведены текущие результаты кумулятивного покрытия.

Третий тестовый случай является зеркальным отображением второго, с возрастающим коэффициентом усиления, замененным падающим коэффициентом усиления.
t_gain = [0;2]; u_gain = [-0.02;-4.02]; t_pos = [0;2]; u_pos = [0;0]; t_neg = [0;1;1;2]; u_neg = [-1;-1;-5;-5]*0.02;
Смоделировать модель с этим третьим набором переменных, нажав кнопку Run (Coverage).
sim('slvnvdemo_ratelim_harness');
Еще раз добавьте краткое описание последнего прогона. Введите текст "Test falling rate limit" в поле Описание для прогона 3 и нажмите кнопку Применить.

Перейдите в раздел Текущие кумулятивные данные и щелкните Создать отчет, чтобы создать кумулятивный отчет о ходе выполнения этого последнего прогона.

Обратите внимание, что при этом последнем прогоне кумулятивные результаты достигают полного покрытия для метрик Решение, Условие и Выполнение.

Если определить, что определенный прогон покрытия не требуется, можно исключить этот прогон из кумулятивного набора данных и создать новый кумулятивный отчет.
В обозревателе результатов в разделе Текущие кумулятивные данные щелкните правой кнопкой мыши на прогоне 1 и выберите Исключить из кумулятивных данных.

После выбора требуемого подмножества тестовых прогонов можно создать отчет о покрытии для накопленных результатов.
Перейдите в раздел Параметры, снимите флажок Показать сводный отчет о ходе выполнения и нажмите кнопку Применить.

Перейдите в раздел Текущие совокупные данные и щелкните Создать отчет.

В кумулятивном отчете о покрытии отображаются результаты, связанные с текущими кумулятивными данными. Обратите внимание, что в разделе «Тесты» имеется один тест с описанием. "Test rising rate limit,Test falling rate limit", указывая, что этот тест содержит накопленные результаты из прогонов 2 и 3.
В разделе Сводка показано, что эти совокупные результаты достигают полного охвата для всех проанализированных метрик.
