Simulink模型到独立EXE:Eclipse与Real-Time Workshop结合教程

需积分: 49 37 下载量 57 浏览量 更新于2024-09-08 2 收藏 839KB PPT 举报
"Simulink生成独立的exe文件的一些方法主要涉及将Simulink模型转换为可执行文件的过程,这通常需要通过第三方编程语言(如C或Java)进行编译。该过程包括以下步骤: 1. Simulink模型(mdl文件):Simulink是一种在MATLAB环境中用于创建动态系统模型的工具,它生成的mdl文件是模型的图形表示。 2. 转换为源代码:为了将mdl文件转化为可执行文件(exe),首先需要将Simulink模型转换为C代码或其他编程语言代码。这通常通过Real-Time Workshop工具箱完成。Real-Time Workshop是一个MATLAB的扩展,可以将Simulink模型自动转换为C/C++代码。 3. 编译环境:Eclipse是一个常用的开源集成开发环境(IDE),支持多种编程语言,包括C和C++。由于其免费且具有良好的跨平台兼容性,常被用来作为编译mdl文件转换得到的C代码的工具。在Windows环境下,可能还需要安装Cygwin GCC编译器来支持C代码的编译。 4. 使用Eclipse和Cygwin:安装Eclipse和Cygwin后,用户需要在Eclipse中创建一个新的项目,并导入生成的C代码。Eclipse提供了详细的在线文档和插件模块来扩展其功能。 5. 构建和调试:在Eclipse中,用户可以配置构建路径,使用Cygwin GCC编译器将C代码编译为可执行文件(exe)。此外,Eclipse还支持调试功能,允许用户在Eclipse环境中对生成的代码进行调试,这对于理解和优化代码性能至关重要。 6. emlc命令:在命令行界面,可以使用emlc命令直接调用Real-Time Workshop将Simulink模型转换为C代码。这涉及到变量转换和代码生成的详细过程,需要实际操作以获得深入理解。 7. Real-Time Workshop Embedded Coder:在某些情况下,可能需要使用Real-Time Workshop的高级版本——Embedded Coder,它提供了更专业的代码生成和嵌入式系统支持。例如,演示文件中使用的rtwdemo_PCG_Eval_P5.mdl模型就是利用Embedded Coder生成的示例。 8. 实践与学习:转换Simulink模型并将其编译为exe文件是一个实践性很强的过程,每个步骤都可能需要根据具体项目需求进行调整。因此,建议读者根据提供的教程和帮助文档逐步操作,以掌握完整的流程。" 以上内容详细介绍了如何使用Simulink、Real-Time Workshop、Eclipse和Cygwin等工具将Simulink模型转换为独立的可执行文件(exe)的过程,涵盖了从模型转换到代码编译和调试的各个环节。
2019-08-12 上传
MatlabGUI调用Simulink编译成可执行的exe文件的解决方法-GUIDE_fig.m 我(们)曾经N次遇到过这样的提问: “为什么GUI里如果使用sim, simset等函数时,就不能编译成可执行的exe文件发布呢?” 我们也解释过很多次,原因是Matlab的compiler不支持sim等与simulink相关的函数,同样,比如说神经网络相关的函数也不支持。 然而,GUI和Simulink混合编程,是可以编译成可执行exe文件的,使用Matlab自带的RTbuilder工具箱函数编译即可。 使用的方法是:先使用RTW把simulink编译成exe文件,然后与GUI一起编译(GUI可以和exe文件一起编译的) 当然,这个时候请特别注意:不需要在GUI里使用sim函数了,流程是这样的: 1:设计GUI回调函数的时候,把GUI传递的参数传递给Simulink时,不要直接使用simset等函数,而是把参数写到一个mat文件里,比如: x = [0.2 handles.In1 handles.In2]'; save Input.mat x 2:设计Simulink模型的时候,记得让simulink从mat文件里读取参数(就是刚刚GUI写入的参数),同样,输出参数也写到mat文件里,(如output.mat), 比如: Matlab57.jpg Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 3:在GUI回调函数里,不要直接使用sim命令,而是直接调用exe文件(simulink模型编译 好的exe文件) !SL_model.exe 4:如果要在GUI上面显示参数,直接读取output.mat文件即可: load Output.mat set)) guidata 现在大家对整个流程应该熟悉了吧? 也就是Matlab GUI与Simulink设计的程序,照样可以编译成exe文件发布... 附件里为用到的.m, ,fig和mdl文件,下载试一下如下命令: GUIDE_fig.fig Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 GUIDE_fig.m Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 SL_model.mdl Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 x = [0 0 0]'; save Input.mat x rtwbuild mcc -m GUIDE_fig.m -a SL_model.exe 注明:以上文件均来自Mathworks公司提供,Matlab中文论坛翻译整理。
2019-08-12 上传
MatlabGUI调用Simulink编译成可执行的exe文件的解决方法-GUIDE_fig.fig 我(们)曾经N次遇到过这样的提问: “为什么GUI里如果使用sim, simset等函数时,就不能编译成可执行的exe文件发布呢?” 我们也解释过很多次,原因是Matlab的compiler不支持sim等与simulink相关的函数,同样,比如说神经网络相关的函数也不支持。 然而,GUI和Simulink混合编程,是可以编译成可执行exe文件的,使用Matlab自带的RTbuilder工具箱函数编译即可。 使用的方法是:先使用RTW把simulink编译成exe文件,然后与GUI一起编译(GUI可以和exe文件一起编译的) 当然,这个时候请特别注意:不需要在GUI里使用sim函数了,流程是这样的: 1:设计GUI回调函数的时候,把GUI传递的参数传递给Simulink时,不要直接使用simset等函数,而是把参数写到一个mat文件里,比如: x = [0.2 handles.In1 handles.In2]'; save Input.mat x 2:设计Simulink模型的时候,记得让simulink从mat文件里读取参数(就是刚刚GUI写入的参数),同样,输出参数也写到mat文件里,(如output.mat), 比如: Matlab57.jpg Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 3:在GUI回调函数里,不要直接使用sim命令,而是直接调用exe文件(simulink模型编译 好的exe文件) !SL_model.exe 4:如果要在GUI上面显示参数,直接读取output.mat文件即可: load Output.mat set)) guidata 现在大家对整个流程应该熟悉了吧? 也就是Matlab GUI与Simulink设计的程序,照样可以编译成exe文件发布... 附件里为用到的.m, ,fig和mdl文件,下载试一下如下命令: GUIDE_fig.fig Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 GUIDE_fig.m Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 SL_model.mdl Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 x = [0 0 0]'; save Input.mat x rtwbuild mcc -m GUIDE_fig.m -a SL_model.exe 注明:以上文件均来自Mathworks公司提供,Matlab中文论坛翻译整理。