如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机应用《自动化技术与应用》2010年第29卷第11期ComputerApplications基于Simulink与VC混合编程方法的研究与应用*侯晓波,左文英(重庆邮电大学重庆高校汽车电子与嵌入式系统工程研究中心,重庆400065)摘要:针对Simulink仿真不能脱离Matlab环境和单纯利用C/C++编程繁琐、开发周期长的缺点,研究了RTW(Real-TimeWorkshop)代码生成的过程,提出了一种基于RTW的实现Simulink模型与VC的混合编程方法,实现了在脱离Matlab环境下Simulink模型在VC集成开发环境下的正确编译和运行。结合具体系统建模与仿真实验,验证了此方法的可行性及有效性。关键词:实时工作间;代码生成;混合编程;Simulink;VC中图分类号:TP391.9文献标识码:A文章编号:1003-7241(2010)11-0029-04ResearchandApplicationofCombinedProgrammingMethodBasedonSimulinkandVCHOUXiao-bo,ZUOWen-ying(EngineeringResearchCenterofAutomobileElectronandEmbededSystem,ChongqingUniversityofPostsandTelecommunications,Chongqing400065China)Abstract:BecauseSimulinksimulationcan’tbeseparatedfromMatlabenvironmentandprogrammingonlybyusingC/C++languagesitiscomplicatedandtimeconsuming,thispaperstudiesthecodegenerationprocessofRTW,proposesamethodtofusionSimulinkmodelwithVCbasedonRTW.ItrealizesthecorrectcompilationandsimulationofSimulinkmodelinVCintegrateddevelopmentenvironmentwithoutMatlabenvironment.Accordingtoasystemmodelandthesimulatedexperiment,itconfirmsthefeasibilityandtheaccuracyofthismethod.Keywords:RTW;codegeneration;combinedprogramming;simulink;VC1引言目前,已有相关文献对Matlab与VC混合编程方法Simulink是Matlab最重要的组件之一,利用Simulink进行了研究,如文献[2]中提到的利用Matcom软件和调仿真可以免去了手工编写程序代码带来的繁琐和低用Matlab引擎函数库两种有效方法,但Matcom软件只效。但Simulink存在着仿真速度慢、安全保密性差、能将.m文件转为.cpp文件,不适用于Simulink模型。不能独立于Matlab运行环境等缺点。VC++是调用Matlab引擎函数库这种方法实现较为简单,不要求Microsoft推出的可视化编程环境,具有良好的界面、连接整个Matlab,只需嵌入必要的MatlabEngine库即稳定和运行速度快的优点。但VC内涵庞大、程序的可。文献[3]采用的即是这种方法,但这种方法需要Matlab开发难度大、周期较长,特别是一些绘图和数学计算在后台运行,大大降低了程序的运行效率。功能实现起来很复杂[1]。因此,将Simulink与VC相结本文提出了一种利用RTW代码生成技术将Simulink合,无疑是一种有效的编程方法,可以大大提高代码的模型转成C++语言,实现Simulink模型与VC混合编执行效率以及安全保密性。程的方法,并结合具体应用实例对该方法进行了验证。2RTW技术*基金项目:国家科技重大专项项目(编号2009ZX01038-002-002-2)收稿日期:2010-07-13RTW是Matlab图形建模和仿真环境Simulink的一TechniquesofAutomation&Applications|29《自动化技术与应用》2010年第29卷第11期计算机应用ComputerApplications个重要的补充功能模块,它是一个基于Simulink的代码相同的。grt.tlc生成的目标代码为通用实时目标,rsim.自动生成环境。它能直接从Simulink的模型中产生优tlc生成