Сгенерируйте код при помощи Embedded Coder Quick Start

rtwdemo_roll модели представляет систему управления автопилота для самолета. Вы готовите rtwdemo_roll для генерации встраиваемого кода при помощи Embedded Coder® Quick Start, который выбирает основные настройки генерации кода на основе ваших целей и приложения.

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

  1. Открытая модель rtwdemo_roll.

  2. Сохраните копию модели к перезаписываемому местоположению на поисковом пути MATLAB.

  3. Если вкладка C Code не уже открыта, в галерее Apps, под Code Generation, нажмите Embedded Coder.

  4. На вкладке C Code нажмите Quick Start.

  5. Пройдите по шагам инструмента Quick Start. Каждый шаг задает вопросы о коде, который вы хотите сгенерировать. Для этого примера используйте значения по умолчанию, которые уже выбраны. Инструмент подтверждает ваши выборы против модели и представляет изменения параметра, требуемые сгенерировать код.

  6. На шаге Generate Code примените предложенные изменения и сгенерируйте код от rtwdemo_roll путем нажатия на Next.

  7. Нажмите Finish, затем возвратитесь к вкладке C Code. От этой вкладки можно сконфигурировать индивидуальные настройки генерации кода, и затем проверять результаты в Представление кода рядом с моделью.

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

Сгенерированный код появляется в двух первичных файлах: rtwdemo_roll.c и rtwdemo_roll.h. В вашей текущей папке MATLAB®, rtwdemo_roll_ert_rtw папка содержит эти первичные файлы.

В вашей текущей папке генератор кода создает slprj папка. Эта папка содержит rtwtypes.h файл, который задает стандартные типы данных, которые сгенерированный код использует по умолчанию. В общем случае эта одноуровневая папка содержит сгенерированные файлы, которые могут или должны быть совместно использованы многоуровневыми моделями.

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

Откройте редактор Отображений Кода путем нажатия на Code Mappings ниже диаграммы модели. На вкладке Functions вы видите отдельные функции точки входа, которые производит генератор кода. Вы вызываете эти сгенерированные функции из внешнего кода или от версии сгенерированной основной функции, которую вы изменяете. Для ступенчатой функции тарифной ставки основанной на уровне модели и для ступенчатых функций для моделей экспорта функций, можно настроить имя функции и аргументы.

Рассмотрите список функций точки входа, которые генератор кода производит для модели. Используйте это представление, чтобы выборочно задать для каждой функции функциональный шаблон настройки (определение кода) и имя. Для этого примера значение по умолчанию использования генератора кода (поставило) настройки для имен функций точки входа и шаблона настройки. Генератор кода называет инициализировать функциональный rtwdemo_roll_initialize и выполнение (шаг) функционирует rtwdemo_roll_step. Обе функции точки входа имеют void-void интерфейс (они не передают аргументов). Функции получают доступ к данным через структуры разделяемых данных. Примеры таких данных включают ввод и вывод уровня системы, которым функции обмениваются с кодом приложения.

Чтобы видеть эти, точка входа функционирует в сгенерированном коде:

  1. На правой стороне окна Editor Simulink®, в панели Представления кода, определяют местоположение панели поиска.

  2. В панели поиска введите rtwdemo_roll_step. Чтобы найти каждый экземпляр имени ступенчатой функции через файлы сгенерированного кода, кликните по поисковому предложению.

  3. Используйте стрелы на праве продвинуться через каждый экземпляр, включая определение ступенчатой функции в rtwdemo_roll.c и объявление в rtwdemo_roll.h. Можно также видеть количество поисковых хитов в каждом файле в меню файла в левом верхнем углу.

  4. Повторите эти, поиск продвигается, чтобы определить местоположение инициализировать функции, rtwdemo_roll_initialize в сгенерированном коде.

Затем сконфигурируйте интерфейс данных для генерации кода и рассмотрите сгенерированный код.