exponenta event banner

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

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

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

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

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

Для некоторых форм тестирования требуется тестовая модель электрического жгута. Модель тестового электрического жгута:

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

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

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

Тестируемый блок является блоком модели. Блок синусоидальной волны генерирует входные данные для блока модели. Через блок Область (Scope) можно наблюдать вывод из блока Модель (Model). Сведения о создании и использовании тестовых жгутов см. в разделах Создание тестовых жгутов и Выбор свойств (Simulink Test) и Процесс проверки генерации кода с помощью Simulink Test (Simulink Test).

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

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

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

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

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

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

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

  • Блок модели SIL/PIL:

    1. Создайте блок «Модель», содержащий компоненты верхней части модели.

    2. Вставьте блок «Модель» в расчетную модель, например модель тестового кабеля.

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

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

Дополнительные сведения см. в разделе Моделирование с использованием модели верхнего уровня и Workflow-процесс проверки SIL/PIL Manager.

Тест ссылочного кода модели

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

  • Вставка блока модели C в расчетной модели, например в модели тестового электрического жгута.

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

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

Дополнительные сведения см. в разделах Моделирование с блоками модели и Поток операций проверки SIL/PIL Manager.

Код тестовой подсистемы

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

Технологический процессОписание
Тестовый жгут Simulink с SIL/PIL Manager

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

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

  2. В модели щелкните правой кнопкой мыши подсистему, а затем создайте тестовый электрический жгут для подсистемы.

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

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

Дополнительные сведения см. в разделе Тест сгенерированного кода атомной подсистемы.

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

Блок SIL или PIL

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

  1. Вставьте подсистему в расчетную модель, например модель тестового электрического жгута.

  2. Выполните моделирование в обычном режиме, собрав выходные данные.

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

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

  5. Выполните моделирование модели с захватом выходных данных.

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

Дополнительные сведения см. в разделе Моделирование блоков SIL или PIL.

Резюме

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

В SIL/PIL Manager:

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

  2. В окне «Тестируемая система» выберите Top model.

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

  1. В SIL/PIL Manager:

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

    2. В окне «Тестируемая система» выберите Model blocks in SIL/PIL mode.

  2. В блоках модели установите режим моделирования в значение Software-in-the-loop (SIL) или Processor-in-the-loop (PIL).

Определяется параметром блока модели Интерфейс кода - автономная или ссылочная модель.Расчетная модель, например, тестовая модель электрического жгута
ПодсистемаТестовый жгут Simulink и диспетчер SIL/PIL

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

  2. Создайте тестовый электрический жгут для подсистемы.

  3. Из SIL/PIL Manager выполните обратное моделирование модели и SIL или моделирование PIL.

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

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

Связанные темы