主要内容

为模型生成C代码

从Simulink中生成C或C++代码金宝app®模型、状态流®图表和MATLAB®函数,使用金宝appSimulink编码器™产品在仿真加速、快速原型和硬件在环(HIL)仿真等应用程序中使用生成的代码。

如果你是新手金宝appSimulink编码器或者您的应用程序代码自定义要求很低,您可以使用图形工具和默认模型配置设置快速生成代码。

生成和检查代码可以像使用快速启动工具准备代码生成模型一样简单。然后,使用可从Simulink编辑器访问的代码工具,您可以配置数据接口、启动代码生成并验证生成的代码。金宝app

本教程使用示例模型rtwdemo_二次订购系统.

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

rtwdemo_二次订购系统

该模型实现了一个称为理想质量-弹簧-阻尼器系统的二阶物理系统。获得块表示系统方程的组件:大量,刚度阻尼. 这个系统的方程式是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)

A.信号发生器block注入振幅为4、频率为20 Hz的方波。该块使用模拟时间作为波形时间变量的值源。由于模型配置了代码生成所需的固定步长解算器,因此Simulink在整个模拟中使用相同的步长。一致的步长提供了理想波形的均匀采样表示。金宝app

示例模型显示了如何使用MATLAB函数块将现有的MATLAB函数代码集成到Simulink模型中,从中可以生成可嵌入的C代码。示例模型中的MATLA金宝appB功能块集成了一个计算组件变量之和的MATLAB函数。

这个积分器块计算MATLAB函数块输出相对于时间的积分。解算器使用当前输入值和上一时间步的状态值,计算积分器块在当前时间步的输出。为了支持此计算模型,积分器块在当前时间步保存其输出,以供解算器在下一时间步计算其输出。块还为解算器提供初始条件,用于在模拟开始时计算块的初始状态。此示例模型的默认初始条件和设置为0。金宝app

仪表板块,旋钮仪表板范围,提供用于调整阻尼和监测波形的可视化工具旋钮块已连接到阻尼获得块这个仪表板范围块连接到信号力:f(t):1X.

使用此模型了解如何:

  1. 使用金宝appSimulink编码器快速启动工具。

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

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

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

要开始本教程,请参见使用Simulink编码器快速启动工具生成C代码金宝app.