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