Engee 文档
Notebook

代码生成器入门

该模型介绍了沿辊轴的自动驾驶仪控制系统的实现. 该模型用于代码生成。

关于模型

该模型代表了基本的滚动通道自动驾驶仪,具有两种操作模式:滚动稳定和飞行过程保持。 切换模式的逻辑是该模型的外部逻辑,可以在其他模型中实现。 滚动稳定和飞行过程保持模式在架构上被划分为模型内的原子子系统。

侧倾稳定功能是一个PID控制器,它利用侧倾角度和速度的反馈向副翼发出命令。 控制器的输入信号是滚转角设置(预设值)或滚转角命令,以保持所需的飞行过程。 模型看起来像这样:

gs_topmodel.png

RollMode子系统

该子系统实现了滚转角设置的基本计算。 根据子系统类型,Engee代码生成器会将此计算直接嵌入到模型的主函数中(对于虚拟子系统)或生成具有子系统名称的单独函数(对于原子子系统)。

gs_rollmode.png

HeadingMode子系统

在该子系统中,滚动设置被计算以保持期望的飞行路线。

gs_headingmode.png

CtlMode子系统

该子系统以PID控制器的形式实现横滚角稳定功能。

gs-ctlmode.png

模型的仿真

该模型包含围绕子系统的测试线束 autopilot_roll. 运行模型的模拟,以确保它是正确的。

从模型生成代码

Engee模型已准备好进行代码生成。 从子系统生成代码 autopilot_roll (表示模型的算法部分),在命令行或交互式脚本中运行以下命令Engee:

In [ ]:
engee.generate_code( "$(@__DIR__)/aircraft_roll.engee",
                           "$(@__DIR__)/autopilot_roll",
                           subsystem_name="autopilot_roll" )
[ Info: Generated code and artifacts: /user/start/examples/codegen/GettingStartedCodegen/autopilot_roll

命令语法 engee.model.generate_code 它在[Engee中的代码生成器]一节中有详细描述(https://engee.com/helpcenter/stable/codegen/code-generation-description.html )。

生成的代码位于目录中 start/examples/codegen/GettingStartedCodegen/autopilot_roll.

考虑生成的代码。

gs-codegen.png

有关生成代码的功能和接口的详细信息,请参阅[代码生成器功能](https://engee.com/helpcenter/stable/codegen/code-generation-options.html )。