Simulink模型生成C语言

您所在的位置:网站首页 simulink离散化模块 Simulink模型生成C语言

Simulink模型生成C语言

2023-07-21 02:04| 来源: 网络整理| 查看: 265

本文详细介绍了simulink(matlab2021)连续模型离散化,代码生成以及最终运行到Visual Studio 2022环境的详细过程,希望对大家有帮助。

第一步 创建Simulink模型

在这里插入图片描述 运行之后,通过Scope查看结果如下 在这里插入图片描述 注意:我们要确保模型仿真运行没有问题

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

在这里插入图片描述

第三步 离散化模型

如果创建的Simulink模型中有连续模块,比如积分环节,那麽一定要离散化,否则即使生成C代码也会报错。(为什么报错?先挖个坑)

点击设置

停止时间设置为inf,设置求解器,采样时间。 在这里插入图片描述 系统的目标文件选择为ert.tlc,即采用嵌入形式的C/C++代码生成,其结构更为简洁。生成的语言可选择C或者C++。 在这里插入图片描述 代码生成->接口 在这里插入图片描述 在模型资源管理器中查看定义的变量和配置的接口 在这里插入图片描述 模型离散化器对simulink模型进行离散化,离散后的效果如下 在这里插入图片描述

第四步 生成C代码

首先,对建立的模型进行离散化 在这里插入图片描述 我们借助APP中的embedded coder工具生成C代码 在这里插入图片描述 进行编译 在这里插入图片描述

然后使用快速开始,按步骤进行生成C代码 在这里插入图片描述 其中,我们现在选择的C语言类型为PC格式,还可以选择ARM板格式 在这里插入图片描述 在这里插入图片描述

生成的C代码如下所示(/xxxx_ert_rtw文件夹下) 在这里插入图片描述

第五步 在VS2022上运行

点击文件->新建->从现有的代码中创建 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 打开ert_main.c这个文件 在这里插入图片描述

OK,我们在while循环中编写控制程序 (下面是写入while循环中的部分程序)

//定义文件地址和名字,指针 FILE* file_path = fopen("simulation.txt", "a+"); int i = 0; while (i < 20000) { /* Perform application tasks here */ if (i 20 && i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3