Simulink生成代码
建立工程
1、设置路径,弄个GenCode文件夹放工程,选择路径,打开simulink。
2、新建个空白模型
3、通过保存文件修改名字,里面的变量名会被这个文件名影响。保存后路径中会多一个slx文件
环境配置
?1、设置求解器,仿真时间10秒,定步长,离散,步长时间设置为0.01s
2、设置Code Generation,系统目标文件那里原本是grt.tlc的,改成ert.tlc,可以减少嵌入式C语言的代码量。
3、设置生成报告,代码成功生成后会自动打开生成报告。
搭建模型框架
1、打开Library Browser,选择控件来搭建模型。
2、搭建个简单的模型,连起来就行,需要分叉的话就用右键从原来的线上面拖出分支。
我们想生成个代码Out= in_x * in_y * in_z * 2.0;
?
数据管理
理解simulink数据管理,才能知道下面的信号和参数怎么管理。
三个层级:包、类、属性
包只有一个:Simulink Package
两个类:Signal信号、Parameter参数,分别有各自的属性
信号定义及关联
1、在信号线上定义信号名。
鼠标双击信号线,出现编辑框之后,写上信号线的名字in_x、in_y、in_z、out_num。
2、打开Link to Data Dictionary
3、新建个sldd文件
4、点击左下角的图标,选择Model Explorer
5、新建信号对象in_x、in_y、in_z、out_num,设置Storage Class。
6、关联信号对象和信号线。
右击信号线,选择Properties,然后选中Singal name must resolve to Simulink signal,成功设置之后线上的信号名前面会出现一个蓝色的三脚叉。
参数定义和关联
1、定义参数对象。
在Model Explorer里,添加Simulink Parameter,改名为gain_k,初始值为2,Storage Class为const Volatile。
2、关联参数
双击Gain模块,填入参数对象名gain_k
生成代码
快捷键Ctrl + B 会校验模型和生成代码,模型有硬伤就会报错,没硬伤就可以生成报告和代码
源代码路径在ert_rtw文件夹下面的.c文件,红框里面的就是我们要生成的代码了,跟预期一致。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!