|  客服中心  |  合作联系
搜刊网
论文下载
您当前位置
首页 > 论文下载 > 机械与建筑工程 > 门、桥式起重机起升动特性的自动分析
门、桥式起重机起升动特性的自动分析
来源:互联网 qikanw | 马宗雄,范勤,刘萍
【分  类】 机械与建筑工程
【关 键 词】 Visual C++;MATLAB;协同技术;自动分析;门、桥式起重机;动态特性;弹性
【来  源】 互联网
【收  录】 中文学术期刊网
正文:

  摘要:为简化起重机动态特性分析的难度,加快动特性分析速度,采用Visual C++编译器里的核心类集MFC来绘制可视化窗口,并编写C++程序调用MATLAB函数来精确的求解门、桥式起重机动态系统模型,实现VC++与MATLAB的协同合作,完成起升动态性的自动分析,并通过两个例子论证了该自动分析的可行性。

  关键词:Visual C++;MATLAB;协同技术;自动分析;门、桥式起重机;动态特性;弹性

  中图分类号:TH21;TP29

  Abstract:To realize the collaboration between Visual C++ and MATLAB,and achieve the automatic analysis on the dynamic of lifting for the purpose of reducing the difficult of the analysis and acceleratting the speed of the analysis,we draw a visual windows by the MFC which is heart classes of the VC++ and solve the dynamic model of the door or bridge cranes by the MATLAB function which called by the C++ source program.And uesd two instances to prove its practicability.

  Key words:Visual C++;MATLAB;Collaborative Simulation; Automatic Analysis;Bridge Door Cranes;Dynamic Properties;Elastic

  0 前言

  Visual C++(简称VC++)是以MFC为核心的开发效率最高的面向对象的开发环境。使用MFC类库和VC++提供的高度可视的应用程序开发工具,可使应用程序开发变得更简单,极大地缩短开发周期,提高代码的可靠性、可重用性以及安全性,并且能脱离编程环境运行,操作者不需了解编程便可很容易的使用。但是在工程计算上,其编程相当不方便,并且也不能很好的绘制数学图形。

  MATLAB是矩阵实验室(Matrix Laboratory)的简称,它在数学类科技应用软件中在数值计算方面首屈一指。它集科学计算、图形处理、自动控制、信号处理、神经网络于一体,是目前在工程中使用极为广泛的软件。但它也存在一些缺陷:数学函数过多,需要操作者掌握一定的编程技术;界面开发能力较差;使用的是解释性语言,大大限制了它的执行速度;源代码的公开不利于算法和数据的保密;局限于MATLAB 运行环境而不能用于开发商用软件。

  如果把VC++与MATLAB相互结合,把MATLAB加入到VC++的程序中,将大大的减少编程的工作量,提高软件开发和执行效率,并且能增强VC++处理科学计算、图形处理、自动控制等方面的能力,充分发挥VC++开发界面、发送控制信息的优越性,以及MATLAB强大的科学计算等能力,从而实现对目标对象的自动分析技术。该自动分析技术也可以为科学研究和工程技术提供更强的技术支持。

  1 VC++与MATLAB协作的几种方法

  1.1 在VC++中实现MATLAB可执行程序

  采用MATLAB命令mcc可以将MATLAB程序编译成mex程序,而采用mex命令可以将C/C++或FORTRAN程序编译成mex程序。采用编译器可以比较好的隐藏代码和算法,提高保密性。该方法是在VC中创建一个DLL工程,然后在MATLAB的Command Window中调用该动态文件。该方法并没有充分发挥出MATLAB的功能,没有解决MATLAB软件的可视化能力,也没用发挥出VC++的强大功能。

  1.2 在VC++中调用MATLAB数学库

  该方法是利用mcc命令将*.m文件转换成*.cpp和*.hpp文件,并把生成的文件包含到VC++项目中,由VC++来执行。该方法能够脱离MATLAB环境而独立运行程序,可以发布给没有MATLAB的用户使用。然而,它不能使用MATLAB的函数eval()和input(),不能调用图形句柄系统的函数,不能调用MATLAB工具箱的函数等,这使MATLAB的使用受到了极大的限制。

  1.3 在VC++中调用MATLAB引擎

  MATLAB引擎是MATLAB提供的一组编程接口,通过引擎,其他编程环境(如VC++)可以使用MATLAB提供的计算和图形功能。使用引擎与VC++连接,可以充分发挥VC++在界面编写以及硬件访问等方面的优势,而比较复杂的信号处理、计算等任务则交由MATLAB完成,而运算结果可以交由VC++6.0继续使用。这种方法唯一的缺点就是不能脱离MATLAB环境运行,且运行速度较慢。因此,对于那些实时性要求不高,而数据处理任务较重的场合,使用MATLAB引擎确是一个比较好的方法,本文是利用该方法来实现自动分析。

  2 自动分析的实现

  2.1 模型建立并编写MATLAB程序

  建立门式、桥式起重机模型[2][3],如图1所示:

  图1 门式、桥式起重机弹性动力学模型 预张紧阶段时[2][3]的数学模型的MATLAB求解程序为: %求解微分方程,得出x10、x20的函数表达式,求解解时注意单位

  s=dsolve('D2x10=-(k(1)+k(2))/M(1)*x10+k(2)/M(1)*x20','D2x20=k(2)/M(2)*x10-(k(2)+k(3))/M(2)*x20-k(3)*v/M(2)*t0','x10(0)=0','x20(0)=0','Dx10(0)=0','Dx20(0)=0','t0');

  注意,这里得出来的结果均为字符表达式,必须把他们转换成常数表达式,才能进行计算。利用下面的语句能转换成常数表达式。

  x10=eval(s.x10);

  x20=eval(s.x20); %该语句的功能是将得出的结果转换成常数表达式

  预张紧阶段结束条件的MATLAB求解程序为:

  f=v*t0+x10+x20-M(3)*9.8/k(3);

  t0=solve(f); %求解函数f(t),得出t0值。

  x10=eval(s.x10);x20=eval(s.x20); %解出x10、x20值 起吊阶段时[2][3]的数学模型的MATLAB求解程序为: %求解系统固有频率,求解时注意单位

  p1=M(1)*M(2)*M(3);

  p2=M(2)*M(3)*k(1)+(M(1)+M(2))*M(3)*k(2)+(M(2)+M(3))*M(1)*k(3));

  p3=(M(1)+M(2)+M(3))*k(2)*k(3)+(M(2)+M(3))*k(1)*k(3)+k(1)*k(2)*M(3);

  p4=k(1)*k(2)*k(3);

  p=[p1 -p2 p3 -p4];

  omiga2=roots(p);

  omiga=sqrt(omiga2);

  上述代码实现了门式、桥式起重机动力学分析,可通过后续的VC++编程将它们以图形和文本的形式输出。

  2.2 用Visual C++连接MATLAB 自动分析对话框的建立 创建名为model的MFC工程项目,并建立如图2所示的参数输入界面,完成相应的控件链接、图形链接。给“开始仿真”按钮控件创建一个控制函数,使其能实现协作分析,如OnButtonSimulation()。

  在做界面实要注意:1.导入的图片像素必须低于256像素,本文是将图片打印再扫描,才能导入到VC++里面;2.在点选不同模型的单选控件时能让图片进行切换,方法之一是让该图片显示,其他图片隐藏;3.界面左上角的图标可以改成具有代表性的*.ico图标,在启用这个图标时,要注意把它的"file name"改成工程项目的名字,不然所生成的可执行文件没有图标。

  图2 垂直无角度起升振动对话框 Visual C++环境设定 要实现Visual C++调用MATLAB引擎进行混合编程,需要几个MATLAB库:libeng.lib、libmx.lib、libmat.lib。这些库文件要通过动态链接库libeng.dll、libmx.dll、libmat.dll生成,它们存在于MATLAB\extern\include目录下。

  上面已建好一个名为model的MFC工程项目,在该项目的菜单栏中选择Tool|Options菜单,打开Options窗口,选择Directories选项,在Show directories for下拉菜单中选择Include files,添加MATLAB中的includes文件夹(如D:\MATLAB7\EXTERN\INCLUDE)。

相关推荐
热门期刊
廊坊师范学院学报(社会科学版)《廊坊师范学院学报(社会科学版)》
《廊坊师范学院学报》杂志,于2001年经国家新闻出版总署批准正式创刊,CN:13-1310/G4,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:政...
黑龙江环境通报《黑龙江环境通报》
《黑龙江环境通报》杂志,于1988年经国家新闻出版总署批准正式创刊,CN:23-1398/X,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:污染...
地理学报《地理学报》
《地理学报》(月刊)1934年创刊,是学报级综合性学术刊物,主要刊登能反映地理学高学术水平的新研究成果,地理学与相邻学科的综合研究进展,地理学各分支学科研究前沿理论,与...
上海工程技术大学教育研究《上海工程技术大学教育研究》
《上海工程技术大学教育研究》以马列主义、毛泽东思想、邓小平理论和“三个代表”重要思想为指导,贯彻党的教育方针和“双百方针”,理论联系实际,开展教育科学研究...
青岛农业大学学报(社会科学版)《青岛农业大学学报(社会科学版)》
《青岛农业大学学报》(社会科学版)(季刊)创刊于1987年,是由青岛农业大学主办的、国内外公开发行的人文社科类综合性学术刊物。其前身为《莱阳农学院学报(社会科学版)》,...
大地纵横《大地纵横》
《大地纵横》创刊于1994,本刊以马列主义、毛泽东思想、邓小平理论和“三个代表”重要思想为指导,贯彻党的教育方针和“双百方针”,理论联系实际,开展教育科学研究和...
友情链接
中教杯 国家新闻出版总署 中国知网 万方数据 维普网 中国科学院 中国国家图书馆 央视英文版 中国留学网 中青网 中国国家人才网 中国经济网 中国日报网 中国新闻网 中国学术期刊网
关于我们
平台简介
诚聘英才
企业文化
竞争优势
版权信息
服务条款
客服承诺
常见问题
版权声明
合作加盟
期刊加盟
广告服务
联系我们
网站导航
期刊大全
论文下载
课题申报
学术会议
编辑QQ
编辑联络
2007-2023
中文学术期刊检索机构
bianjibu777@qq.com
联系我们

版权所有©2007- 2023 中国学术期刊网(qikanw.com) All Rights Reserved 京ICP备2021008252号
本站是学术论文网络平台,若期刊网有侵犯您的版权,请及时与期刊网客服取得联系,联系信箱: bianjibu777@qq.com    
中国学术期刊网