我是靠谱客的博主 淡定芝麻,最近开发中收集的这篇文章主要介绍simulink生成c语言代码_超详细的simulink代码生成(C语言)第一步 打开模型第二步 将输入和需要的输出换成input和output模块。第三步 离散化模型第四步 自定义变量名称第五步 生成C代码第六步 在VS2010上运行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

中连续模型得离散化、自定义变量名称、代码生成,然后基于VS2010平台对生成的代码进行测试。

第一步 打开模型

5b4e14f989fed0a8b29231e854fd06cf.png

首先我们要确保模型仿真是正确的,即能够正常仿真。

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

27e184a628843b3d0dc5e539c7cbeda6.png

第三步 离散化模型

如果你的模型中有连续模块,比如积分环节,那麽一定要离散化,否则即使生成C代码也会报错。

点击设置

97e4b0550ef6cb9d94d5806fab197047.png

设置求解器,采样时间。

33eea701b0fe1fc77639d338a5c3bf29.png
541ce6c5f74c0b439f1f282aea789c38.png

最后点击Apply,点击OK。

点击Analysis->Control Designer->Model Discretizer。

b419db055e06c4c4aa5d4201badb6c86.png

设置和刚才一样的采样时间,点击转换。

4e545be198537142b1b221a0f0254e88.png

转换完成后的状态空间模型和积分模块。

dcb76d4530f75dbe7deb4f3a6f0d7674.png
763e41378d89a6ca4d1862af95e15ff7.png

第四步 自定义变量名称

点击Model Explorer

c587756cac49c2b53c329ec9c25aa707.png

选择Base Workspace,点击Add。

1e073f1aaa1f14cdd4cf0100bcae2e54.png
7edb35a59c3f13ecbdde8f65be5b7bc8.png

名称改为你想要的变量名称,类型选择mpt.singal(其他想要输出的信号也一样)。

3310ab93f94fb2c52b9c3e9c41f0e528.png
09de5961a0733b3d5c3fc1294731d34f.png

关闭该窗口。

右键想要输出或者输入的信号,点击Properties。

701274585526ea221f9ce6820dd4220d.png

输入刚才定义的变量名称,勾选第一项

e1f187bfb031394b4413b89ff518ff22.png

其他信号同上。

第五步 生成C代码

58b77ac20013f1b2a6885a8e6139c9e8.png

剩下的全部默认就好

只有这里根据你代码运行的设备进行选择,我是在64位的windows系统上测试,运行环系是VS2010.

bbfb55d8c1898b9f4a67484b975f5172.png

完成之后生成如下文件

0b6b27f3478d7b1315e33c01ab0bdf8f.png

第六步 在VS2010上运行

打开VS2010

af69e3e35edd83ff5cdea8949c30cd89.png

点击文件->新建->从现有的代码中创建

3b31f874f8664b173240d82f09fca90d.png

选择刚才自动生成的文件夹

ca67ecbd6760ddff5611a1d18970b10f.png

定义项目名称

ccdd3d447d827ab4a954d0a83d9bb0a3.png

选择控制台应用程序

00805f23f6300b5dfd86ce6e6c67a1a0.png

然后就一直下一步,然后完成

2127195a761c3d2605528e4f44877313.png

打开ert_main.c这个文件

a5b66de0be0c1d2636d6563759b1e28a.png

可以找到一个while循环

2f667d48850ef65ba3ae36f359b8fe36.png

修改为一下代码(注意要定义整型变量i):

while (i<=2000) {

r=5;

System1xu_step();

printf("%f", x[1]);

printf("");

i++;

/* Perform other application tasks here */

}

运行结果

63320ea44954c910c74d336625f5366c.png

最后

以上就是淡定芝麻为你收集整理的simulink生成c语言代码_超详细的simulink代码生成(C语言)第一步 打开模型第二步 将输入和需要的输出换成input和output模块。第三步 离散化模型第四步 自定义变量名称第五步 生成C代码第六步 在VS2010上运行的全部内容,希望文章能够帮你解决simulink生成c语言代码_超详细的simulink代码生成(C语言)第一步 打开模型第二步 将输入和需要的输出换成input和output模块。第三步 离散化模型第四步 自定义变量名称第五步 生成C代码第六步 在VS2010上运行所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部