Эта модель показывает реализацию системы управления автопилота продольной оси, которая спроектирована для генерации кода.
Эта модель представляет основной автопилот продольной оси с двумя рабочими режимами: прокрутитесь отношение содержат, и заголовок содержат. Логика режима для этих режимов является внешней к этой модели. Архитектура модели представляет заголовок, содержат режим и основную функцию отношения списка как атомарные подсистемы.
Функция управления ориентацией списком является ПИД-регулятором, который использует отношение списка и обратную связь уровня списка, чтобы произвести команду элерона. Вход контроллеру является или основной ссылкой угла вращения или командой списка, чтобы отследить желаемый заголовок. Модель следующие:
open_system('rtwdemo_roll');
RollAngleReference
Основное вычисление ссылки угла вращения реализовано как подсистема RollAngleReference
. Embedded Coder® встраивает это вычисление непосредственно в основную функцию для rtwdemo_roll
.
open_system('rtwdemo_roll/RollAngleReference');
HeadingMode
Подсистема HeadingMode
вычисляет команду списка, чтобы отследить желаемый заголовок.
close_system('rtwdemo_roll/RollAngleReference'); open_system('rtwdemo_heading');
BasicRollMode
Подсистема BasicRollMode
вычисляет функцию управления ориентацией списком (ПИД).
close_system('rtwdemo_heading'); open_system('rtwdemo_attitude');
Модель предварительно сконфигурирована, чтобы сгенерировать код с помощью Embedded Coder. Чтобы сгенерировать код с помощью Simulink Coder только, реконфигурируйте модель, или в командной строке вводят rtwconfiguredemo('rtwdemo_roll','GRT')
В вашей системе временная папка создайте временную папку для процесса сборки.
currentDir = pwd; [~,cgDir] = rtwdemodir();
Сгенерируйте код.
rtwbuild('rtwdemo_roll');
### Starting build procedure for model: rtwdemo_roll ### Successful completion of build procedure for model: rtwdemo_roll
Можно просмотреть целый сгенерированный код в подробном отчете HTML с двусторонней отслеживаемостью между моделью и кодом.
web(fullfile(cgDir,'rtwdemo_roll_ert_rtw','html','rtwdemo_roll_codegen_rpt.html'))
Закройте модели и возвратитесь к предыдущей рабочей папке.
close_system('rtwdemo_roll',0) close_system('rtwdemo_attitude',0) close_system('rtwdemo_heading',0) cd(currentDir); rtwdemoclean;
Для получения дополнительной информации о генерации кода с Embedded Coder см. Примеры в Начале работы с документацией Embedded Coder.