Выбор SIL или PIL-подхода

Рассмотрим верхнюю часть, которая состоит из компонентов A, B, C, и D:

  • A и B являются существующими компонентами, для которых ранее был сгенерирован и протестирован код.

  • C, ссылку на модель и D, подсистема, являются новыми компонентами.

С помощью симуляций «цикл» (SIL) и «цикл» (PIL) можно использовать следующие подходы к численной проверке эквивалентности:

Для некоторых форм проверки вам требуется модель тестовой обвязки. Тестовая модель тестовой обвязки:

  • Генерирует тестовые векторы или входы стимула, которые питают тестируемый блок.

  • Позволяет вам наблюдать или захватывать выход из блока.

В следующем примере показана простая тестовая модель тестовой обвязки.

Тестируемый блок является Model блоком. Блок Sine Wave генерирует вход для блока Model. Через блок Scope можно наблюдать выход из блока Model. Для получения информации о создании и использовании тестовых обвязок смотрите Создание Тестовых обвязок и Выбор свойств (Simulink Test) и Рабочий процесс верификации Генерации кода с Simulink Test (Simulink Test).

Тестирование кода верхней модели

Чтобы протестировать код, сгенерированный из компонентов верхней модели вместе (A, B, C, и D), можно использовать SIL/PIL или блок Model верхней модели SIL/PIL.

  • Верхняя модель SIL/PIL:

    1. Создайте тестовые векторы или входные входы стимула в рабочем пространстве MATLAB.

    2. Запустите верхнюю модель в нормальном, SIL и PIL режимах симуляции. Программа загружает тестовые векторы или входы стимула от MATLAB® рабочей области.

    3. Для каждого режима симуляции наблюдайте или захватывайте выходы.

    4. Проверьте числовую эквивалентность путем сравнения нормальных выходов с выходами SIL и PIL.

  • Model блок SIL/PIL:

    1. Создайте блок Model, который содержит компоненты верхней модели.

    2. Вставьте блок Model в модель симуляции, для примера, в тестовую обвязку модель.

    3. Запустите симуляции, переключив блок Model между нормальным, SIL и PIL режимами. Для режимов симуляции SIL и PIL установите значение Code interface Model параметров блоков Top model.

    4. Проверьте числовую эквивалентность путем сравнения нормальных выходов с выходами SIL и PIL.

Для получения дополнительной информации смотрите Simulation with Top Model and SIL/PIL Manager Verification Workflow.

Тестирование кода модели, на который ссылается

Чтобы протестировать код, сгенерированный из компонента C как часть иерархии модели-ссылки используйте подход Model блока SIL/PIL:

  • Вставьте блок Model C в модели симуляции, например, тестовой модели тестовой обвязки.

  • Запустите симуляции, переключив блок Model между нормальным, SIL и PIL режимами. Для режимов симуляции SIL и PIL установите значение Code interface Model параметров блоков Model reference.

  • Проверьте числовую эквивалентность путем сравнения нормальных выходов с выходами SIL и PIL.

Для получения дополнительной информации смотрите Simulation with Блоки Model and SIL/PIL Manager Verification Workflow.

Тестовый код подсистемы

Для тестирования кода, который генерируется из подсистемы D, используйте один из этих рабочих процессов.

Рабочий процессОписание
Simulink Test обвязки с SIL/PIL Manager

Выполните модульные тесты кода подсистемы, который является частью кода, сгенерированного родительской моделью.

  1. Сгенерируйте код для модели, которая содержит подсистему, запустив slbuild (model) или slbuild (model, 'RTWModelReferenceTargetOnly').

  2. В модели щелкните правой кнопкой мыши подсистему и затем создайте тестовую обвязку для подсистемы.

  3. Откройте SIL/PIL Manager. При необходимости включите анализ покрытия кода. Затем запустите модель назад к назад и SIL или PIL симуляции.

  4. При необходимости экспорта теста эквивалентности.

Для получения дополнительной информации см. Раздел «Тестирование элементарной подсистемы Сгенерированного кода».

Если подсистема не поддерживается этим рабочим процессом, используйте рабочий процесс SIL или блока PIL. Дополнительные сведения о неподдерживаемых подсистемах и других ограничениях см. в разделе Ограничения рабочего процесса атомарной подсистемы.

Блок SIL или PIL

Сгенерируйте и протестируйте новый автономный код из подсистемы.

  1. Вставьте подсистему в модель симуляции, для примера - в модель тестовой обвязки.

  2. Запустите симуляцию режима normal mode, захватив выходы.

  3. Создайте блок SIL или PIL из подсистемы.

  4. В модели замените подсистему на блок SIL или PIL.

  5. Запустите симуляцию модели, захватив выходы.

  6. Проверьте числовую эквивалентность путем сравнения выходов подсистемы режима normal mode с выходами блоков SIL или PIL.

Для получения дополнительной информации смотрите SIL или PIL Block Simulation.

Сводные данные

Компонент, из которого генерируется код Использование симуляцииШагиСгенерированный кодИсточник тестового сигнала
Верхняя частьВерхняя модель SIL/PIL

В SIL/PIL Manager:

  1. Выберите SIL/PIL Simulation Only режим.

  2. В System Under Test выберите Top model.

АвтономныйРабочее пространство MATLAB
Модель, на которую ссылается Model блокModel блок SIL/PIL

  1. В SIL/PIL Manager:

    1. Выберите SIL/PIL Simulation Only режим.

    2. В System Under Test выберите Model blocks in SIL/PIL mode.

  2. В Model блоках установите Simulation mode равным Software-in-the-loop (SIL) или Processor-in-the-loop (PIL).

Определяется Model блочного параметра Code interface -- автономный или модели-ссылки.Симуляция модель, для примера тестовой обвязки модель
ПодсистемаSimulink Test обвязки и менеджера SIL/PIL

  1. Сгенерируйте код для модели, которая содержит атомарную подсистему.

  2. Создайте тестовую обвязку для подсистемы.

  3. От менеджера SIL/PIL запустите модель «назад-назад» и SIL или PIL симуляции.

  4. При необходимости экспорт эквивалентности теста.

Определяется сгенерированным родительским кодом модели - автономным или модельным эталоном. Simulink® Test™ обвязки
ПодсистемаБлок SIL или PILПодстановка блоков вручнуюАвтономныйСимуляция модель, для примера тестовой обвязки модель.

Похожие темы