主要内容

为模型生成C代码

从Simulink生成C或c++代码金宝app®模型,Stateflow®图表和MATLAB®功能,使用金宝app仿真软件编码器™产品。在诸如模拟加速、快速原型和在环硬件(HIL)模拟等应用程序中使用生成的代码。

如果你是新手金宝app仿真软件编码器或者您的应用程序代码定制需求很小,您可以使用图形工具和默认的模型配置设置来快速生成代码。

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

本教程使用示例模型rtwdemo_secondOrderSystem

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

rtwdemo_secondOrderSystem

该模型实现了一个二阶物理系统,称为理想质量-弹簧-阻尼系统。获得块表示系统方程的组成部分:质量刚度,阻尼.方程组的方程是mX" +残雪' +kXft

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

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

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

  • ft) = x向力函数(N)

一个信号发生器块注入一个振幅为4,频率为20赫兹的方波形式。该块使用仿真时间作为波形时间变量的值源。因为模型配置了固定步长求解器,这是代码生成所必需的,所以Simulink对整个模拟使用相同的步长。金宝app一致的步长提供了理想波形的均匀采样表示。

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

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

仪表板块,旋钮仪表板范围,提供可视化工具来调整阻尼和监控波形。的旋钮块连接到阻尼获得块。的仪表板范围块连接信号力量:f (t): 1X

使用这个模型来学习如何:

  1. 方法生成代码金宝app仿真软件编码器快速启动工具。

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

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

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

要开始本教程,请参见使用Simulink Coder快速入门工具生成C金宝app代码