基于Simulink模型的嵌入式代码生成_第1页
基于Simulink模型的嵌入式代码生成_第2页
基于Simulink模型的嵌入式代码生成_第3页
基于Simulink模型的嵌入式代码生成_第4页
基于Simulink模型的嵌入式代码生成_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Simulink模型的嵌入式代码生成主要内容使用SimulinkCoder生成代码使用EmbeddedCoder生成代码

-使用数据对象进行数据管理

-代码生成的优化设置

-模型级算法函数原型的控制

-子系统算法函数以及文件的控制

-平台化模型的代码生成

-代码的等效性测试实例:一.建立一个Simulink模块,使用SimulinkCoder生成代码1.打开Simulink模型管理器。2.创建一个Simulink模型,名为demo_model1.mdl,并保存。3.按图下所示,在Simulink库中,添加各功能模块到demo_model1.mdl文件中,并连接信号线。

这里,我们实现一个out1=(ln1+ln2)*k的简单算法。4.在生成代码之前,给k输入一个数,在命令行输入k=3,然后配置一些参数,打开菜单栏simulationConfigurationParameters,按照下图配置代码执行频率0.01(10ms)。5.配置目标文件及语言Real-TimeWorkshop®(RTW)从Simulink模型生成优化的,可移植的和可定制的ANSIC代码,我们在这里面进行一系列的配置。6.配置允许生成报告,这样在building后,可以打开看代码

7.Apply,并点击Building开始生成代码,或按快捷键Ctrl+B

8.可以看到算法的基本代码已经生成了二.使用EmbeddedCoder生成代码----使用数据对象进行数据管理1.可以看到上面生成的代码比较复杂,无法直接使用到嵌入式系统中去,接下来我们使用EmbeddedCoder来生成接近我们使用的嵌入式代码。打开我们的代码配置管理器(ctrl+E),按下图配置。2.再次生成的代码如下所示,可以看到代码文件数量明显减少,算法也慢慢接近我们想看到的。

3.生成的代码名称都是结构体,看起来略显复杂,能不能简单化呢?

接下来将使用“数据对象”进行数据管理,让代码看起来更简单化。

首先将demo_model1.mdl文件中所有模块选中,点EditCreatesubsyetem,生成子模块,便于管理

在各个信号线上双击,添加信号名,x,y和z4.添加信号对象和信号名关联起来,添加MPTSignal的信号对象x,y,z5.添加x,y,z信号对象后,需要关联信号名6.关联信号名,在信号线上右键,点击SignalProperties…7.点击SignalProperties…后

按下图勾选SignalnamemustresolvetoSimulinksignalobject

让信号名解析到信号对象上去

x,y,z都按如下设置,设置之后图变为右边所示,保存。8.我们再按下ctrl+B快捷键,生成的代码如下9.可以看到代码变得简单了,但是还有一个k还是结构体变量,我们继续优化,我们删除原来的变量k,添加一个MPTPara

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论