为模型生成 c 代码 -凯发k8网页登录

main content

为模型生成 c 代码

要从 simulink® 模型、stateflow® 图和 matlab® 函数生成 c 或 c 代码,请使用 simulink coder™ 产品。将生成的代码用于仿真加速、快速原型和硬件在环 (hil) 仿真等应用中。

如果您刚开始使用 simulink coder,或您的应用程序代码几乎不需要自定义,则您可以使用图形工具和默认模型配置设置来快速生成代码。

使用 quick start 工具,您不仅可以轻松准备要进行代码生成的模型,还可以轻松生成和检查代码。然后,使用 simulink editor 提供的一系列代码工具,您可以配置数据接口、启动代码生成,并验证生成的代码。

本教程使用示例模型 。

通过在命令行窗口中输入模型名称来打开模型。

rtwdemo_secondordersystem

此模型实现一个二阶物理系统,称为理想的质量-弹簧-阻尼系统。使用 模块表示系统方程的各个组成部分:massstiffnessdamping。该系统的方程是 mx" cx' kx = f(t)

  • m = 系统质量 (1.0e-6 kg)

  • c = 阻尼比 (4.0e-4 ns/m)

  • k = 弹簧刚度 (1.0 n/m)

  • f(t) = x 方向上外力的函数 (n)

模块注入一个幅值为 4、频率为 20 hz 的方波波形。该模块使用仿真时间作为波形时间变量值的来源。由于使用代码生成所需的定步长求解器配置模型,因此 simulink 在整个仿真中使用相同的步长。一致的步长提供理想波形的均匀采样表示。

该示例模型说明如何使用 模块将现有 matlab 函数代码集成到 simulink 模型中,您可以从该模型生成可嵌入的 c 代码。示例模型中的 matlab function 模块集成了一个 matlab 函数,该函数用于计算分量变量之和。

模块计算 matlab function 模块输出相对于时间的积分。该求解器会使用当前输入值和前一个时间步的状态值计算 integrator 模块在当前时间步的输出。为支持此计算模型,integrator 模块会保存在当前时间步的输出,以供求解器计算其在下一个时间步的输出。该模块还为求解器提供了初始条件,用于计算该模块在仿真开始时的初始状态。此示例模型的默认初始条件和设置为 0。

dashboard 模块 和 提供用于调节阻尼和监视波形的可视化工具。knob 模块连接到 damping gain 模块。dashboard scope 模块连接到 force: f(t):1x 信号。

使用此模型学习如何:

  1. 使用 simulink coder quick start 工具生成代码。

  2. 验证生成的可执行程序结果是否与仿真结果匹配。

  3. 在程序执行期间调整参数。

  4. 部署原型代码和工件。

要开始本教程,请参阅。

网站地图