我是靠谱客的博主 端庄蜗牛,最近开发中收集的这篇文章主要介绍超详细的simulink代码生成,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第一步 打开模型

在这里插入图片描述
首先我们要确保模型仿真是正确的,即能够正常仿真。

第二步 将输入和需要的输出换成input和output模块

在这里插入图片描述

第三步 离散化模型

如果你的模型中有连续模块,比如积分环节,那麽一定要离散化,否则即使生成C代码也会报错。
点击设置
在这里插入图片描述
设置求解器,采样时间。
在这里插入图片描述
在这里插入图片描述
最后点击Apply,点击OK。
点击Analysis->Control Designer->Model Discretizer。
在这里插入图片描述
设置和刚才一样的采样时间,点击转换。
在这里插入图片描述
转换完成后的状态空间模型和积分模块。
在这里插入图片描述
在这里插入图片描述

第四步 自定义变量名称

点击Model Explorer
在这里插入图片描述
选择Base Workspace,点击Add。
在这里插入图片描述
在这里插入图片描述
名称改为你想要的变量名称,类型选择mpt.singal(其他想要输出的信号也一样)。
在这里插入图片描述
在这里插入图片描述
关闭该窗口。
右键想要输出或者输入的信号,点击Properties。
在这里插入图片描述
输入刚才定义的变量名称,勾选第一项
在这里插入图片描述
其他信号同上。

第五步 生成C代码

在这里插入图片描述
剩下的全部默认就好
只有这里根据你代码运行的设备进行选择,我是在64位的windows系统上测试,运行环系是VS2010.
在这里插入图片描述
完成之后生成如下文件
在这里插入图片描述

第六步 在VS2010上运行

打开VS2010
在这里插入图片描述
点击文件->新建->从现有的代码中创建
在这里插入图片描述
选择刚才自动生成的文件夹
在这里插入图片描述
定义项目名称
在这里插入图片描述
选择控制台应用程序
在这里插入图片描述
然后就一直下一步,然后完成
在这里插入图片描述
打开ert_main.c这个文件
在这里插入图片描述
可以找到一个while循环
在这里插入图片描述
修改为一下代码(注意要定义整型变量i):
while (i<=2000) {
r=5;
System1xu_step();
printf("%f", x[1]);
printf("n");
i++;
/* Perform other application tasks here */
}
运行结果
在这里插入图片描述

最后

以上就是端庄蜗牛为你收集整理的超详细的simulink代码生成的全部内容,希望文章能够帮你解决超详细的simulink代码生成所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部