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');
### Searching for referenced models in model 'RollAxisAutopilot'. ### Total of 1 models to build. ### Starting build procedure for: RollAxisAutopilot ### Successful completion of build procedure for: RollAxisAutopilot Build Summary Top model targets: Model Build Reason Status Build Duration ==================================================================================================================== RollAxisAutopilot Information cache folder or artifacts were missing. Code generated and compiled. 0h 0m 18.302s 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 19.004s
您可以在详细的 HTML 报告中查看生成的完整代码,该报告可在模型和代码之间提供双向可追溯性。
currentDir = pwd; web(fullfile(currentDir,'RollAxisAutopilot_ert_rtw','html','index.html'))
Embedded Coder 快速入门教程
有关使用 Embedded Coder 生成代码的详细信息,请参阅 Embedded Coder 快速入门文档中的从 Simulink 模型生成 C 代码。