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 代码。