Для атомной подсистемы можно использовать моделирование SIL/PIL в текущей версии для проверки кода, созданного для этой подсистемы в предыдущей версии. Не требуется регенерировать код, что экономит время создания тестовых кабелей. Нельзя повторно использовать сгенерированный код для тестовых жгутов для целых моделей или ссылочных блоков модели.
Примечание
Для повторного использования созданного кода из более ранней версии необходимо иметь лицензию Embedded Coder ®.
В более ранней версии, если был создан тестовый электрический жгут, который создал код и проверил его с помощью SIL/PIL, можно повторно использовать этот код, а не регенерировать его в текущей версии. Для повторного использования созданного кода необходимо знать расположение папки, содержащей этот код. Шаги для повторного использования сгенерированного кода и его проверки с использованием SIL/PIL:
Щелкните правой кнопкой мыши атомарную подсистему в модели и выберите «Тестовый жгут» > «Создать» для «< имя _ подсистемы >».
На вкладке «Дополнительные свойства» диалогового окна «Создание тестового кабеля» выполните следующие действия.
Установите для параметра «Выбрать режим проверки» значение Software-in-the-Loop (SIL) или Processor-in-the-Loop (PIL).
Выберите Использовать сгенерированный код для создания блока SIL/PIL.
В текстовом поле «Создать папку» введите полный путь к папке, содержащей ранее созданный код.
Нажмите кнопку ОК, чтобы создать тестовый электрический жгут с использованием созданного кода.
Создайте другой стандартный или тестовый жгут в режиме SIL/PIL для модели, в которой не используется сгенерированный код.
Создайте тестовый пример и запустите тест.
Проанализируйте результаты теста и убедитесь, что они соответствуют результатам, полученным с помощью того же кода в предыдущей версии.
Для использования предварительно сгенерированного кода, проверенного с помощью подсистемы SIL/PIL программным способом, используйте ExistingBuildFolder имущество sltest.harness.create или sltest.harness.set для указания местоположения сгенерированного кода.
В этом примере показано, как использовать код, созданный в предыдущей версии, для проверки того, что модель в текущей версии продолжает работать так, как ожидалось. В текущей версии можно создать тестовый электрический жгут с использованием ранее созданного кода, а не необходимости его регенерации.
Модель в этом примере sldemo_fuelsys, которая представляет собой систему управления топливом для бензинового двигателя. Тестируемая система fuel_rate_control подсистема. Моделирование нормального режима в текущей версии сравнивается с моделированием режима SIL из более ранней версии.
Откройте модель системы управления топливом
sldemo_fuelsys_ex

Создание обычного тестового кабеля и выбор сигнала для регистрации
1. Щелкните правой кнопкой мыши подсистему fuel_rate_control и выберите Test Harness > Create для параметра fuel _ rate _ control. Откроется диалоговое окно Создать тестовый электрический жгут (Create Test Harness).
2. Изменение имени электрического жгута на sldemo_fuelsys_harness_normal и нажмите кнопку ОК, чтобы создать электрический жгут в обычном режиме.

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

4. Закрыть окно sldemo_fuelsys_harness_normal жгут. Нет необходимости явно сохранять электрический жгут.
Создание тестового кабеля SIL и выбор сигнала для регистрации
1. Еще раз щелкните правой кнопкой мыши подсистему fuel_rate_control и выберите «Тестовый жгут» > «Создать» для «fuel _ rate _ control», чтобы открыть диалоговое окно «Создать тестовый жгут».
2. Изменение имени электрического жгута на sldemo_fuelsys_harness_sil.
3. На вкладке Дополнительные свойства (Advanced Properties) задайте электрический жгут как электрический жгут SIL, проверенный кодом, созданным в более ранней версии.
Изменение режима проверки на Software-in-the-Loop (SIL).
Выберите «Использовать существующий сгенерированный код для создания блока SIL/PIL».
В папке Build введите fuel_rate_control_ert_rtw, которое является именем папки, содержащей код, проверенный с помощью подсистемы SIL в более ранней версии.

4. Нажмите кнопку ОК, чтобы создать электрический жгут SIL.

5. Выберите сигнал выхода из подсистемы в тестовом жгуте. Приостановите многоточие, чтобы открыть панель действий, и выберите Включить ведение журнала данных.
Создание теста эквивалентности
1. Использовать sltestmgr для открытия диспетчера тестирования.
2. Щелкните Создать > Тестовый файл. Щелкните правой кнопкой мыши по тестовому файлу и измените его имя на SIL reuse.
3. Удалить New Test Case 1.
4. Основной момент New Test Suite 1 и щелкните Создать > Тест эквивалентности.
5. Изменение имени New Test Case 1 кому SIL equivalence test case.
6. В разделе Тестируемая система для моделирования 1,
Задайте для модели значение sldemo_fuelsys.
В разделе «Тестовый электрический жгут» > «Электрический жгут» выберите sldemo_fuelsys_harness_normal.
В разделе Настройки моделирования (Simulation Settings Overrides) выберите Остановить время (Stop Time) и установите значение 10.

7. Для моделирования 2,
Задайте для модели значение sldemo_fuelsys.
В разделе «Тестовый электрический жгут» > «Электрический жгут» выберите sldemo_fuelsys_harness_sil.
В разделе «Настройки моделирования» «Переопределения» оставьте значение «Деблокировать как текущее». Установите для параметра Stop Time (время остановки) значение 10.

Задание входных значений кабельных трасс
Для обоих моделей в разделах «Входные данные» нажмите кнопку «Добавить», а в диалоговом окне «Добавление входных данных» в поле «Файл» введите harnessInputs.mat. Щелкните Сопоставить входы (Map Inputs), а затем щелкните Добавить (Add), чтобы настроить входы.

Выполнение тестирования и просмотр выходных данных и результатов
Нажмите кнопку Run, чтобы выполнить тест эквивалентности. На панели «Результаты и артефакты» разверните «Результат критериев эквивалентности» для просмотра выходных данных.

На верхнем графике показаны выходные данные обоих тестовых жгутов. Нижний график показывает, что разница между fuel_rate_control:1 (базовая линия) и fuel_rate_control:1 (Sim Output) равна нулю. Это различие означает, что два графика результатов точно совпадают. Это сопоставление указывает, что код, проверенный с помощью SIL из более ранней версии, и код, сгенерированный в текущей версии, дают одинаковые результаты.
sltest.harness.create | sltest.harness.set | crossReleaseImport (встроенный кодер)