Simulink® Coverage™ может анализировать и сообщить о данных о покрытии для моделей, содержащих различные блоки, такие как блоки Variant Subsystem или Variant Source. Когда вы симулируете модель, содержащую один или несколько различных блоков с включенным покрытием, Simulink Coverage сообщает о результатах покрытия в зависимости от типа различного блока и Различного параметра времени активации.
Для Variant Source и блоков Variant Sink, Simulink Coverage анализирует восходящие и нисходящие блоки вариантов, соответственно. Сам блок Variant Source и Variant Sink не получает покрытие. Для Variant Subsystem и блоков Variant Model, Simulink Coverage анализирует содержимое подсистемы или блоков модели для выбранных метрик.
Если вы устанавливаете параметр Variant activation time различного блока к update diagram
, update diagram analyze all choices
, или code compile
, Simulink Coverage сообщает о покрытии только для варианта, который активен во время симуляции.
Совет
Вы не можете агрегировать покрытие для симуляций с различными активными вариантами для вариантов разового обновлением или времени компиляции. Если вы хотите протестировать все возможные варианты, рассмотрите установку Variant activation time к startup
.
Например, предположите, что у вас есть модель, которая содержит блок Variant Subsystem с двумя вариантами. Параметр Variant activation time блока Variant Subsystem устанавливается на update diagram
.
Если Subsystem1
активно для симуляции, вы получаете результаты покрытия для Subsystem1
и не Subsystem2
.
В результатах покрытия, Subsystem1
является красным, который указывает, что это получило неполное покрытие и Subsystem2
серо, который указывает, что это не анализировалось. Кроме того, сводные данные отчета покрытия не используют варианты, которые не были активны.
Когда вы устанавливаете параметр Variant activation time различного блока к update diagram
, update diagram analyze all choices
, или code compile
, изменение активного варианта является структурным изменением к модели. Поскольку данные о покрытии для модели только допустимы, пока модель не изменяется или закрывается, вы не можете агрегировать покрытие для той же модели, симулированной с различными активными вариантами. Если вы хотите протестировать несколько активных вариантов и совокупного покрытия для них, изменить параметр Variant activation time в startup
.
Если вы устанавливаете параметр Variant activation time различного блока к startup
, Simulink Coverage сообщает о покрытии для всех вариантов, даже если они не активны во время симуляции. Можно также агрегировать покрытие для симуляций с различными активными вариантами.
Например, если вы изменяете модель в предыдущем примере и устанавливаете Variant activation time на startup
и Subsystem1 активен для симуляции, вы получаете то же покрытие для Subsystem1
как случай с вариантом времени обновления. Однако Simulink Coverage также сообщает относительно неактивного варианта, Subsystem2
.
В результатах покрытия, Subsystem1
и Subsystem2
являются оба красными, который указывает на неполное покрытие. Сводные данные отчета покрытия включают все варианты.
Неактивные варианты получают 0%-е покрытие, потому что они не выполнялись во время симуляции. Увеличить покрытие, о котором сообщают, для Variant_Subsystem
, можно симулировать модель снова с Subsystem2
как активный вариант и затем агрегировали результаты покрытия.
Если вы хотите использовать блоки варианта запуска, но вы не хотите видеть неактивные варианты, о которых сообщают с 0%-м покрытием, можно создать правила фильтра исключения. Для получения дополнительной информации о создании правил фильтра покрытия, смотрите, Создают, Редактирование и Правила Фильтра Покрытия Представления.
Variant Subsystem, Variant Model | Variant Source | Variant Sink