Эта модель показывает реализацию системы управления автопилотом по оси крена, которая предназначена для генерации кода.
Данная модель представляет собой основной автопилот оси крена с двумя режимами работы: удержание положения крена и удержание курса. Логика режимов для этих режимов является внешней для этой модели. Архитектура модели представляет режим удержания курса и базовую функцию ориентации крена в качестве атомных подсистем.
Функция управления ориентацией крена представляет собой PID-контроллер, который использует обратную связь ориентации крена и скорости крена для создания команды элерона. Входной сигнал контроллера представляет собой либо базовый опорный угол крена, либо команду крена для отслеживания требуемого курса. Модель выглядит следующим образом:
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 вычисляет функцию управления ориентацией крена (PID).
close_system('rtwdemo_heading'); open_system('rtwdemo_attitude');

Модель предварительно настроена для создания кода с помощью встроенного кодера. Чтобы создать код только с помощью Simulink Coder, измените конфигурацию модели или в командной строке rtwconfiguredemo('rtwdemo_roll','GRT')
В системной временной папке создайте временную папку для процесса построения.
currentDir = pwd; [~,cgDir] = rtwdemodir();
Создать код.
slbuild('rtwdemo_roll');
### Starting build procedure for: rtwdemo_roll ### Successful completion of build procedure for: rtwdemo_roll Build Summary Top model targets built: Model Action Rebuild Reason ============================================================================================= rtwdemo_roll Code generated and compiled Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 9.6303s
Можно просмотреть весь созданный код в подробном 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;
Дополнительные сведения о создании кода с помощью встроенного кодера см. в учебных пособиях в документации «Начало работы с встроенным кодером».