Предположим, что в модели, на которую ссылается блок модели, имеется модель с контроллером замкнутого цикла. 100% покрытие для ссылочной модели не записывается. Расширение существующих тестовых примеров может помочь достичь 100% покрытия. Программное обеспечение Simulink ® Design Verifier™ добавляет временные шаги к существующим тестовым случаям при анализе контроллера, реализованного ссылочной моделью. Тестовые примеры, полученные в результате анализа, реалистично отражают непрерывное поведение во времени, ожидаемое в контроллере с замкнутым контуром.
Контроллер с замкнутым контуром передает команды в управляемую систему и принимает информацию из среды при выполнении команд управления. Контроллер может адаптировать и изменять свои инструкции по мере получения этой информации.
В этом примере используется sldemo_mdlref_basic модель. Блок модели CounterA ссылается на модель sldemo_mdlref_counter. При моделировании родительской модели sldemo_mdlref_basicи собрать покрытие, вы записываете только 75% покрытия для sldemo_mdlref_counter. Запишите данные моделирования и расширьте эти тестовые примеры для достижения 100% покрытия для ссылочной модели.
Откройте пример модели:
На вкладке Приложения щелкните стрелку справа от раздела Приложения.
В разделе Проверка модели (Model Verification), Проверка (Validation) и Тест (Test) щелкните Анализатор покрытия (Coverage Analy
На вкладке Покрытие щелкните Настройки.
На панели Coverage окна Configuration Parameters (Параметры конфигурации) выберите Enable Coverage analysis (Включить анализ покрытия).
Выберите Ссылочные модели (Referenced Models)
Обратите внимание, что анализ записывает охват только для ссылочных моделей с режимом моделирования, равным Normal, SIL, или PIL. В sldemo_mdlref_basic, для блока модели CounterC установлен режим моделирования Accelerator, поэтому вы не можете записать покрытие для него.
В разделе Метрики покрытия установите структурный уровень покрытия «Покрытие, принятое в результате изменения условия» (Modified Condition Decision Coverage, MCDC) для записи решения, условия и покрытия, принятого в результате изменения условия/решения.
Нажмите кнопку ОК.
Щелкните Анализ покрытия.
Чтобы открыть отчет о покрытии, в разделе Результаты проверки щелкните Создать отчет.
По завершении моделирования генерируемый отчет о покрытии открывается в окне браузера. Отчет показывает следующие результаты покрытия для ссылочной модели:
Состояние: 50% (2/4) результатов состояния
Решение: 25% (1/4) результатов решения
MCDC: 0% (0/2) условия изменили результат
Результаты покрытия также выделены в ссылочной модели. sldemo_mdlref_counter. Можно выбрать отдельные объекты модели для просмотра конкретных результатов покрытия в диалоговом окне Покрытие (Coverage), как показано на следующем снимке экрана.

Регистрация входных сигналов для блока модели CounterA в sldemo_mdlref_basic во время моделирования в командной строке MATLAB ® введите следующий код:
logged_data = sldvlogsignals('sldemo_mdlref_basic/CounterA');Сохранение зарегистрированных данных в MAT-файле с именем existingtestcase.mat:
save('existingtestcase.mat', 'logged_data');При анализе модели, на которую ссылается CounterA (sldemo_mdlref_counter) для расширения существующих тестовых примеров необходимо указать этот MAT-файл.
Проанализируйте sldemo_mdfref_counter модель, указав, что анализ расширяет уже удовлетворенные тестовые случаи:
Чтобы открыть sldemo_mdfref_counter модель, в sldemo_mdlref_basic дважды щелкните на блоке модели CounterA.
На вкладке «Design Verifier» выберите «Test Generation Settings».
В диалоговом окне Configuration Parameters на панели Test Generation в поле Model coverage targets выберите MCDC.
В разделе Существующие тестовые примеры выберите Расширить существующие тестовые примеры.
В поле Файл данных укажите имя MAT-файла, содержащего записанные данные, в данном случае: existingtestcase.mat.
Очистить Игнорировать цели, удовлетворяющие существующим тестовым случаям.
При снятии этой опции программа включает в себя тестовые случаи, записанные в файле existingtestcase.mat в финальном наборе тестов.
Нажмите кнопку ОК.
Щелкните Создать тесты (Generate Tests).
Анализ сначала загружает цели, удовлетворяемые зарегистрированными тестовыми случаями. Затем он добавляет дополнительные временные шаги к этим тестовым случаям и пытается удовлетворить любые отсутствующие цели. По завершении анализа открывается окно журнала Simulink Design Verifier, в котором указывается, что все 12 цели выполнены.
Чтобы просмотреть результаты анализа модели, в окне журнала Simulink Design Verifier выберите Подсветить результаты анализа модели.
Результаты Simulink Design Verifier подсвечиваются в ссылочной модели. sldemo_mdlref_counter. Вы можете выбрать отдельные образцовые объекты рассмотреть определенные аналитические результаты в диалоговом окне Simulink Design Verifier Results, как показано в следующем скриншоте.

Чтобы проверить результаты анализа и просмотреть созданные контрольные примеры, в окне журнала Simulink Design Verifier выберите Создать подробный отчет об анализе.
Чтобы собрать покрытие модели с помощью расширенного набора тестов, в окне журнала Simulink Design Verifier выберите Simulate tests и создайте отчет о покрытии модели.
По завершении моделирования генерируемый отчет о покрытии открывается в окне браузера. Отчет теперь показывает следующие результаты покрытия для ссылочной модели sldemo_mdlref_counter:
Состояние: 100% (4/4) результаты состояния
Решение: 100% (4/4) результаты решения
MCDC: 100% (2/2) условия изменили результат