Используя верификацию компонента, можно протестировать компонент проекта в модели с помощью одного из следующих подходов:
System analysis. В контексте модели, которая содержит компонент, вы используете систематическую симуляцию контроллеров с обратной связью, чтобы проверить компоненты в системной модели управления. Затем можно протестировать алгоритмы управления с помощью модели.
Component analysis. Как автономные компоненты, для высокого уровня доверия в алгоритме компонента проверьте компонент в изоляции от остальной системы.
Проверка автономных компонентов обеспечивает несколько преимуществ:
Можно использовать анализ, чтобы фокусироваться на фрагментах проекта, которые вы не можете протестировать из-за физических ограничений управляемой системы.
Для симуляций без разомкнутого контура можно протестировать модель объекта управления.
Можно использовать этот подход, когда модель еще не доступна или когда вам нужно симулировать системную модель управления в ускоренном режиме по причинам эффективности.
Путем выделения компонента для проверки и использования инструментов, которые Simulink® Coverage™ предоставляет программное обеспечение, вы создаете тесты, чтобы расширить возможности проверки для больших моделей. Вы можете:
Достичь 100% покрытия модели - Если определенные компоненты модели не записывают 100% покрытия, модель верхнего уровня не может достичь 100% покрытия. Путем проверки этих компонентов по отдельности можно создать тесты, которые полностью определяют интерфейс компонента, позволяя компоненту записывать 100% охват.
Отладка компонента - Чтобы убедиться, что каждый компонент модели удовлетворяет заданным требованиям проекта, можно создать тесты, которые проверяют, что определенные компоненты выполняются в том виде, в котором они были разработаны.
Протестируйте робастность компонента - Чтобы убедиться, что компонент правильно обрабатывает неожиданные входы и вычисления, можно создать тесты, которые генерируют данные. Затем проверьте возможности обработки ошибок в компоненте.
Этот рисунок иллюстрирует два подхода к верификации компонентов.
Выберите свой подход к верификации компонентов:
Для симуляций замкнутой системы проверьте компонент в контексте его модели контейнера, зарегистрировав сигналы к этому компоненту и сохранив их в файле данных. Если эти сигналы не составляют полный тестовый набор, сгенерируйте модель тестовой обвязки и добавьте или измените контрольные примеры в Signal Builder.
Для симуляций разомкнутого контура проверьте компонент независимо от модели контейнера, извлечя компонент из его модели контейнера и создав модель тестовой обвязки для извлеченного компонента. Добавьте или измените тесты в Signal Builder и зарегистрируйте сигналы к компоненту в модели тестовой обвязки.
Подготовьте компонент к верификации.
Создание и логгирование тестов. Можно также объединить данные теста в один файл данных.
Файл данных содержит данные теста для симуляции компонента. Если вы не можете достичь ожидаемых результатов с определенным набором тестов, добавьте новые тесты или измените существующие тесты в файле данных. Объедините тесты в один файл данных.
Продолжайте добавлять или изменять тесты, пока вы не достигнете тестового набора, который удовлетворяет вашим целям анализа.
Выполните тесты в циклическом или процессорном режиме.
После того, как у вас будет полный тестовый набор, вы можете:
Симулируйте модель и выполните тесты, чтобы:
Запись покрытия.
Запишите выходные значения, чтобы убедиться, что вы получите ожидаемые результаты.
Активируйте Генерацию кода Верификации (CGV) API, чтобы выполнить сгенерированный код для модели, которая содержит компонент в режиме симуляции, программном обеспечении в цикле (SIL) или процессоре в цикле (PIL).
Примечание
Чтобы выполнить модель в различных режимах выполнения, вы используете CGV API, чтобы проверить числовую эквивалентность результатов. См. «Проверка генерации программного кода» (Embedded Coder).
Используйте анализ компонентов для проверки:
Моделируйте блоки
Атомарные подсистемы
Stateflow® атомарные субдиаграммы
В зависимости от типа компонента выполните одно из следующих действий:
Моделировать блоки - Открыть ссылочную модель.
Атомарные подсистемы - Извлеките содержимое подсистемы в свою собственную модель Simulink.
Атомарные субдиаграммы - Извлечь содержимое атомарной субдиаграммы Stateflow в свою собственную модель Simulink.
Создайте модель тестовой обвязки для:
Ссылка на модель
Извлеченная модель, которая содержит содержимое атомарной подсистемы или атомарной субдиаграммы
Добавьте или измените тесты в Signal Builder модели тестовой обвязки.
Логгирование входных сигналов из Signal Builder в тестовый модуль.
Повторяйте шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.
Объедините данные теста в один файл.
В зависимости от ваших целей, выполните одно из следующих действий:
Выполните тесты для:
Запись покрытия.
Запишите выходные значения и убедитесь, что они равны ожидаемым значениям.
Активируйте Генерацию кода Верификации (CGV) API, чтобы выполнить тесты в режиме «программное обеспечение в цикл» (SIL) или «процессор в цикл» (PIL) на сгенерированном коде для модели, которая содержит компонент.
Если тесты не достигают ожидаемых результатов, повторите шаги с 3 по 5.
Используйте системный анализ для:
Проверьте блок Model в контексте контейнерной модели блока.
Анализируйте контроллер с обратной связью.
Логгирование входных сигналов к компоненту путем симуляции модели контейнера или анализ модели с помощью программного обеспечения Simulink Design Verifier™.
Если вы хотите добавить тестовые примеры к своему тестовому набору или изменить существующие тесты, создайте модель тестовой обвязки с записанными сигналами.
Добавьте или измените тесты в Signal Builder в модели тестовой обвязки.
Логгирование входных сигналов из Signal Builder в тестовый модуль.
Повторяйте шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.
Объедините данные теста в один файл.
В зависимости от ваших целей, выполните одно из следующих действий:
Выполните тесты для:
Запись покрытия.
Запишите выходные значения и убедитесь, что они равны ожидаемым значениям.
Активируйте Генерацию кода Верификации (CGV) API, чтобы выполнить тесты в режиме «программное обеспечение в цикл» (SIL) или «процессор в цикл» (PIL) на сгенерированном коде для модели.
Если тесты не достигают ожидаемых результатов, повторите шаги с 3 по 5.