Main Content

Embedded Coder 快速入门

此模型是针对代码生成而设计的,它实现的是一种滚轴自动驾驶控制系统。

关于模型

此模型表示一种基本滚轴自动驾驶系统,该系统有两种操作模式:滚转姿态保持和航向保持。这两种模式的模式逻辑均位于此模型的外部。模型架构用原子子系统表示航向保持模式和基准滚转姿态函数。

滚转姿态控制函数是一个 PID 控制器,它根据滚转姿态和滚转速率反馈生成副翼命令。控制器的输入是基本滚转角参考或者跟踪所需航向的滚转命令。模型如下:

open_system('RollAxisAutopilot');

子系统 RollAngleReference

基准滚转角参考计算是作为子系统 RollAngleReference 实现的。Embedded Coder® 将此计算直接内联到 RollAxisAutopilot 的主函数中。

open_system('RollAxisAutopilot/RollAngleReference');

子系统 HeadingMode

子系统 HeadingMode 计算滚转命令以跟踪所需的航向。

close_system('RollAxisAutopilot/RollAngleReference');
open_system('RollAxisAutopilot/HeadingMode');

子系统 BasicRollMode

子系统 BasicRollMode 计算滚转姿态控制函数 (PID)。

close_system('RollAxisAutopilot/HeadingMode');
open_system('RollAxisAutopilot/BasicRollMode');

为模型生成代码

该模型已预配置为使用 Embedded Coder 生成代码。要仅使用 Simulink® Coder™ 生成代码,请重新配置模型或在命令提示符下键入 cs = getActiveConfigSet('RollAxisAutopilot'); switchTarget(cs,'grt.tlc',[]);

生成代码。

slbuild('RollAxisAutopilot');
### Starting build procedure for: RollAxisAutopilot
### Successful completion of build procedure for: RollAxisAutopilot

Build Summary

Top model targets built:

Model              Action                        Rebuild Reason                                    
===================================================================================================
RollAxisAutopilot  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 15.373s

您可以在详细的 HTML 报告中查看生成的完整代码,该报告可在模型和代码之间提供双向可追溯性。

currentDir = pwd;
web(fullfile(currentDir,'RollAxisAutopilot_ert_rtw','html','index.html'))

Embedded Coder 快速入门教程

有关使用 Embedded Coder 生成代码的详细信息,请参阅 Embedded Coder 快速入门文档中的从 Simulink 模型生成 C 代码