教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

VC与Matlab的混合编程研究及其应用

来源:网络收集 时间:2026-09-05
导读: MATLAB和vc混合编程 第30卷第3期2014年6月天津理工大学学报 JOURNALOFTIANJINUNIVERSITYOFTECHNOLOGYVol.30No.3Jun.2014 文章编号:1673-095X(2014)03-0005-04 VC与Matlab的混合编程研究及其应用 甘 禹,陈 炜,杨秀萍,王收军 (天津理工大学机械工

MATLAB和vc混合编程

第30卷第3期2014年6月天津理工大学学报

JOURNALOFTIANJINUNIVERSITYOFTECHNOLOGYVol.30No.3Jun.2014

文章编号:1673-095X(2014)03-0005-04

VC与Matlab的混合编程研究及其应用

禹,陈

炜,杨秀萍,王收军

(天津理工大学机械工程学院,天津300384)

要:介绍了基于组件对象模型的VC与Matlab混合编程方法,以MatlabCOMBuilder模块为转换工具,将M函数

转换为COM组件后打包发布应用在VC程序中,结合一个平面四自由度机械臂运动控制仿真实例,详细描述了各个编程接口的实现过程,并验证了平面四自由度机械臂仿真系统的可行性.关键词:VC;Matlab;COM组件;混合编程中图分类号:TP24

文献标识码:A

doi:10.3969/j.issn.1673-095X.2014.03.002

MixedprogrammingbetweenVCandMatlabanditsapplication

GANYu,CHENWei,YANGXiu-ping,WANGShou-jun

(SchoolofMechanicalEngineering,TianjinUniversityofTechnology,Tianjin300384,China)

Abstract:AmethodwhichisdevelopedusingmixedprogrammingbetweenVCandMatlabbasedontheComponentObjectModel(COM)isintroduced.Asaconversiontool,theMatlabCOMBuildermoduleconvertstheM-functiontotheCOMcomponentsimulationmodulewhichispackaged,releasedandappliedinVCprogram.Combinedwithmotioncontrolsimula-tioninstanceofa4DOFplanarmanipulator,eachprogramminginterfaceimplementationprocessiscompletelydescribedandverifiedthefeasibilityofthe4DOFplanarmanipulatorsimulationsystem.Keywords:VC;Matlab;COMcomponent;mixedprogramming

机器人仿真系统是以机器人实体为模型,在虚拟的环境中完成机器人的设计、实现,有效地解决了设计、制造、运行过程中产生的理论问题;优化了机器人软、硬件设计,缩短机器人的研发周期.工作站级的仿真系统功能齐全、实时性高、真实性强,可以产生近似真实的仿真画面,但是其通用性较差,使用不方便等不足之处.VisualC++是Windows下功能强大的集成应用开发环境,既能用于底层的硬件驱动开发,同时还拥有强大的可视化编程的能力,但在数值分析、矩阵运算的实现功能上缺乏高效性.Mat-lab作为交互式仿真软件,它集科学计算、信号处理、系统仿真与图形可视化于一体,编程效率高;然而使

收稿日期:

基金项目:作者简介:通讯作者:

用解释性语言决定其代码执行效率低,处理具有要求高实时性的问题时显示出低效性.

针对以上所述问题,国内外学者将VC语言与Matlab相结合,对二者混合编程方法做了大量研究.钱伟、费树岷

[1]

曹法会以及彭秋红、

[2]

使用

Matlab自带的MatlabCompiler(mcc编译器)生成DLL,实现信号采集系统仿真,使仿真程序具有不依赖Matlab环境直接调用Matlab中的库函数的优势.蔡浩宇,王红波

[3]

通过mcc编译器生成DLL设

计单级倒立摆系统的LQR线性二次型调节器,实现过程验证混编在控制系统仿真的巨大优势.李文煜

[4]

则是利用Matlab引擎进行VC和Matlab的混

2013-11-08.

国家自然科学基金(11302147);天津市科技发展基金(20100402);天津市复杂系统控制理论及应用重点实验室资助项目.

E-mail:gy-dlz@126.com.男,硕士研究生,甘禹(1988—),

陈炜(1973—),博士.女,副教授,

MATLAB和vc混合编程

·6·

天津理工大学学报第30卷第3期

合编程,在Matlab后台环境中完成对机器人的图像处理等操作.王周益、刘继兴

[5]

deploytool将能在计算机上使用.执行Package命令,

会把发布该组件所需的所有文件打包到名为compo-nentname_pkg的可执行文件中.Matlab7.x产生的COM组件必须运行在MCR,如果目标计算机上没有安装MCR,则要在打包组件时添加MCR.在上例中,打包的结果将产生名为componentname_pkg的可执行文件,它实际上是可自解压的ZIP压缩文件,包含下列3个文件:

_install.bat、componentname-projectversion.dll、mwregsvr.exe

将componentname_pkg.exe复制到目标计算机上运行,并执行_install.bat将会自行安装MCR、注册组件componentname-projectversion.dll.

使用第三方软件

Matcom来实现控制双臂机器人左臂运动控制仿真,并将钱伟使用的混编方法与使用Matcom软件对比,阐述了使用第三方软件相对于mcc编译器的优越性.夏欣

[6]

则利用Matcom开发了数据读取与利用Matcom4.5与VC++结合编使用3种不同的混编方法均实

处理及图形绘制的界面程序,实现了数据测量测试,刘宁,刘财

[7]

程的新方法实现EDA介质中的地震波正演的模拟.穆以东、赵岭

[8]

现了VC与Matlab的无缝链接,将VC界面开发与Matlab计算与显示功能融为一体.

本文将采用COM组件技术实现VC与MATLAB的混合编程,兼顾开发效率和性能,是开发机器人仿真系统的最佳选择.该方法实现简单,通用性强,可以不依赖于Matlab环境运行,并能使用Matlab的任何函数.因此在程序复杂、调用工具箱函数或调用函数较多时推荐使用.

2运动仿真实例

本仿真平台软件用于模拟多功能平面机械臂这

个实物平台,通过COM组件将控制程序的数据传递给MATLAB,利用运动控制算法处理数据,再由COM组件实现数据的返回.程序结构框架如图1所示

1

1.1

基于COM的VC与MATLAB的混合编程

配置MATLABC/C++编译器

setup即可在Matlab命令行环境执行mbuild-

[4-5]

.根据屏幕开始设置将要用到的C/C++编译器

提示,选择MicrosoftVisualC++2010,完成对Mat-lab编译器以及相应的C/C++编译器的配置.完成配置以后,下次可直接生成COM组件,不需要再次配置.1.2

使用MATLABCOMBuilder生成COM组件1)创建m文件,定义所需功能函数.在Matlab环境中编写m文件,定义所需的功能函数,用于实现数据处理,数值分析,图像处理等功能操作.

2)创建COM组件.在Matlab命令行执行de-ploytool命令,创建组件工程,定义组件类并为组件类添加(1)编写的m文件,编译当前工程的COM组件.从编译信息可知,编译COM组件的同时,也在计算机上注册了该COM组件,确保该组件像其他COM组件一样在VC中使用.

3)打包组件及MCR.由2)所创建的COM组件只能在当前计算机上使用,为了能够把它发布到其他计算机上使用,还需要其他一些支持文件.由于COM组件不同于普通的DLL文件,必须经过注册才

2.1

MATLAB运动控制算法

本文利用模糊PID控制算法实现机械臂操作空间中点到点的位置控制.模糊PID控制是运用模糊数学的基本理论和方法,把规则的条件、操作用模糊集表示,并把模糊控制规则作为知识存入知识库,然后计算机根据控制系统的实际响应,运用模糊推理,

[6]

自动实现对PID参数的最佳调整.模糊控制器以

图1

Fig.1

仿真控制程序框架

Frameworkofsimulationcontrolprogram

误差e和误差变化ec作为输入,利用模糊控制规则在线对PID参数进行修改,根据下式计算实现不同时刻的e和ec对PID参数自整定.

…… 此处隐藏:4636字,全部文档内容请下载后查看。喜欢就下载吧 ……
VC与Matlab的混合编程研究及其应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1815312.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)