Сравнение результатов симуляции модели и сгенерированного кода

На этом шаге руководства вы проверяете, что при выполнении код численно эквивалентен алгоритму, смоделированному в Simulink®. Вы используете модель тестовой обвязки для симуляции rtwdemo_roll в режиме normal mode и режиме SIL сравните симуляции с помощью Данных моделирования Inspector.

Чтобы протестировать сгенерированный код, можно запустить симуляции «цикл» (SIL) и «цикл» (PIL). A SIL симуляции компилирует и запускает сгенерированный код на вашем компьютере разработчика. A PIL симуляции cross-compiles исходный код на вашем компьютере разработчика. Затем PIL симуляция загружает и запускает объектный код на целевом процессоре или эквивалентном симуляторе процессора. Можно использовать SIL и PIL симуляции для:

  • Проверьте числовое поведение своего кода.

  • Сбор покрытия кода и метрики времени выполнения.

  • Оптимизируйте свой код.

  • Прогресс в достижении IEC 61508, IEC 62304, ISO 26262, EN 50128 или DO-178 сертификации.

Смотрите и сконфигурируйте Тестовую обвязку модель

Модель rtwdemo_roll_harness ссылается на тестируемую модель, rtwdemo_roll, через Model блок. Модель тестовой обвязки генерирует тестовые воздействия для модели-ссылки. Можно легко переключить Model блок между нормальным, SIL или PIL симуляция режимами.

  1. Откройте rtwdemo_roll_harness модели. Если вы закрыли свою копию модели rtwdemo_roll, откройте его снова.

  2. В rtwdemo_roll_harness щелкните правой кнопкой мыши по блоку Model и выберите Subsystem & Model Reference > Refresh Selected Model Block.

  3. Сохраните копию rtwdemo_roll_harness в текущей рабочей папке.

  4. Откройте диалоговые окна Параметров конфигурации для rtwdemo_roll_harness и rtwdemo_roll.

  5. Чтобы запустить SIL и PIL симуляции, на панели Code Generation проверьте, что Generate code only параметра удален. Сделайте это для обеих моделей.

  6. Для обеих моделей на панели Hardware Implementation разверните Device details. Проверьте, что Support long long выбран.

  7. Нажмите OK. Затем сохраните модели.

Симулируйте модель в режиме Normal Mode

Запустите модель тестовой обвязки в режим normal mode и получите результаты в Данные моделирования Inspector.

  1. В rtwdemo_roll_harness откройте Model Data Editor. На вкладке Modeling нажмите Model Data Editor.

  2. В Model Data Editor выберите вкладку Signals.

  3. Установите в списке Change view значение Instrumentation.

  4. В таблице данных выберите все строки.

  5. Чтобы сконфигурировать сигналы для регистрации данных моделирования в Simulation Data Inspector, установите флажок в Log Data столбце. Когда вы закончите, убедитесь, что все флажки в столбце установлены.

  6. Щелкните правой кнопкой мыши блок Model, Roll Axis Autopilot. В контекстном меню выберите Block Parameters.

  7. В диалоговом окне Параметров блоков, для Simulation mode, проверьте, что Normal выбрана опция. Нажмите OK.

  8. Моделируйте rtwdemo_roll_harness.

  9. После завершения симуляции просмотрите результаты симуляции в Данные моделирования Inspector. Если Данные моделирования Inspector еще не открыты, на вкладке Simulation нажмите Data Inspector.

  10. Для последнего (текущего) запуска дважды щелкните по полю имени запуска и переименуйте запуск: roll_harness: Normal mode.

  11. Выберите Ail_Cmd для построения графика сигнала.

Симулируйте модель в режиме SIL

Эта SIL симуляция генерирует, компилирует и выполняет код на вашем компьютере разработчика. Инспектор Данных моделирования регистрирует результаты.

  1. В rtwdemo_roll_harness Окно модели щелкните правой кнопкой мыши по Roll Axis Autopilot моделируйте блок и выбирайте Block Parameters.

  2. В диалоговом окне Параметров блоков установите Simulation mode равным Software-in-the-loop (SIL) и Code Interface к Top model. Нажмите OK.

  3. Исключить файлы внешнего кода из процесса сборки. В диалоговом окне Параметры конфигурации для rtwdemo_roll моделиустановите Code Generation > Custom Code > Additional build information > Source files значение по умолчанию, которое является пустым. Сохраните модель.

  4. Симулируйте rtwdemo_roll_harness модель.

    Минимизируйте окно отчета генерации кода для исследования позже в этом руководстве.

  5. В Данные Моделирования Inspector дважды щелкните поле Имя запуск и переименуйте новый запуск как roll_harness: SIL mode.

  6. Выберите Ail_Cmd для построения графика сигнала.

  7. Перенастройте процесс сборки для rtwdemo_roll модели для включения внешних исходных файлов roll_input_data.c и roll_heading_mode.c. В диалоговом окне Model Configuration Parameters, набор Code Generation> Custom Code> Additional build information> Source files к roll_input_data.c roll_heading_mode.c. Нажмите Apply, закройте диалоговое окно и сохраните модель.

Сравнение результатов симуляции

В Данные моделирования инспекторе:

  1. Перейдите на вкладку Compare.

  2. В Baseline поле выберите roll_harness: Normal mode.

  3. В Compare To поле выберите roll_harness: SIL mode.

  4. Нажмите Compare.

Инспектор Данных моделирования показывает, что результаты в режиме normal mode и SIL совпадают. Сравнение результатов симуляции режима normal mode с SIL и PIL симуляциями может помочь вам проверить, что сгенерированное приложение работает должным образом.

Затем исследуйте способы, которые можно развернуть сгенерированный код.