主要内容

为模型生成C代码

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

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

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

本教程使用示例模型rtwdemo_secondOrderSystem

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

rtwdemo_secondOrderSystem

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

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

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

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

  • ft) = x方向上的强迫函数(N)

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

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

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

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

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

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

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

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

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

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