Прежде чем вы будете анализировать результаты покрытия для своей модели, необходимо включить покрытие и решить, какие метрики покрытия вы хотите видеть.
Откройте slvnvdemo_powerwindow
модель. slvnvdemo_powerwindow
модель содержит контроллер окна со стеклоподъемником и модель объекта управления младшего разряда. Контроллер реализован с графиком Stateflow®.
На вкладке Apps выберите Coverage Analyzer. Затем на вкладке Coverage нажмите Settings, чтобы открыть окно Configuration Parameters. На левой панели нажмите Coverage. Выберите Enable coverage analysis. По умолчанию осциллограф анализа покрытия установлен в Entire system. Если вы хотите собрать данные о покрытии для определенной модели, на которую ссылаются, или подсистемы, выберите соответствующий осциллограф покрытия и нажмите Select Models или Select Subsystem. В данном примере выберите Entire system.
Параметр Structural coverage level имеет четыре настройки:
Block Execution
Выполняется ли каждый блок в процессе моделирования.
Decision
Анализирует моменты принятия решения в вашей модели. Решение является местом в вашей модели, где один или несколько входных сигналов решают выходной сигнал блока. Выбор Decision
покрытие также собирает Block Execution
покрытие.
Condition Decision
Анализирует блоки, которые выводят логическую комбинацию их входа. Условием является Булево выражение, которое не содержит булевых операторов. Выбор Condition Decision
покрытие также собирает Block Execution
покрытие.
Modified Condition Decision Coverage (MCDC)
MCDC является Decision Coverage условия, кроме каждого условия должен независимо влиять на результат решения. Выбор Modified Condition Decision Coverage (MCDC)
также собирает Condition Decision
и Block Execution
покрытие.
В данном примере установите Structural coverage level на Modified Condition Decision Coverage (MCDC)
.
Для полного списка метрик покрытия, включая усовершенствованные метрики, смотрите Типы Покрытия модели.
Можно также выполнить шаги в этом примере программно. Использование sim
с Simulink.SimulationInput
возразите, чтобы установить параметры модели покрытия для симуляции.
openExample('slcoverage/GetStartedWithSimulinkCoverageExample') modelName = 'slvnvdemo_powerwindow'; open_system(modelName) simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovScope','EntireSystem'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData');