Matlab与VB混合编程在弧齿锥齿轮SGM调整卡计算中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

加工小轮机床坐标关系【5】5。
由图4可知机床调整参数可由下列公式确定
Eol=R01sin(筋一风1)
(1)
G,:盟掣 Sll-=_—_R—ol—C0—6届■01_
(LZ2,)
(3)

S1nOfl
ql=筋+jl
(4)
施施2=Gf一一盂鲁瓦
(L35’)
i‘:2——r'ROollC—OS卢fl
(Lo6,)
Spiral bevel gear SGM adjusmlent card
O引言
弧齿锥齿轮由于原理复杂,其设计和加工过程十 分繁琐,加工过程中的齿形参数和机床调整参数非常 多,所以其调整卡计算经常遇到复杂的数据计算和查 表等问题。Matlab以其科学计算功能的强大和开放式 的开发思想而成为当今最为流行的、最为优秀的科技 应用软件之一,在数值分析、科学计算、算法开发等方 面具有独特的优势,用其进行复杂算法设计和方程组 求解的效率很高,但Matlab也有局限性,一般它不能脱 离Matlab的集成环境,而且生成良好的人机交互图形 界面的功能不强…。VB是一种简单、易学和高效的可 视化软件拉J,但它的计算功能薄弱,因此将Matlab强大 的计算功能与VB在图形用户界面方面的优势结合起 来,可以有效缩短开发周期,提高程序开发的效率。
一1.3681
1.5489
一1.3684
1.5489
从上表的比较中可以看出两者计算得到的大部分 数据还是相同的,只有少数数据存在差异,且差异都在 误差允许范围的之内。
5结论
图5软件输入界面
4应用实例
在图5所示的VB界面中输入齿数、模数、齿面 宽、弧齿角和刀盘半径等基本参数时(其余界面略),系
统计算并输出调整卡参数计算结果,表1是其与商用 软件计算结果的比较(其余计算参数略)。
matlab以其科学计算功能的强大和开放式的开发思想而成为当今最为流?的最为优秀的科技应用软件之一在数值分析科学计算算法开发等方面具有独特的优势用其进?复杂算法设计和方程组求解的效率很高但matlab也有局限性一般它?能脱离matlab的集成环境而且生成良好的人机交互图形界面的功能?强?vb是一种简单?学和高效的可视化软件拉j但它的计算功能薄弱因此将matlab强大的计算功能与vb在图形用户界面方面的优势结合起来可以有效缩短开发周期提高程序开发的效率
工具将M函数文件转换成以DLL形式存在的进程内
COM组件,然后在VB应用程序中直接调用该组件,从
而完全脱离Matlab的运行环境。Matlab COM Builder
创建COM组件的步骤如下:
1)编写并调试好要完成所需功能的M函数文件;
2)在Madab指令窗口键入comtool命令,弹出创
建COM组件的可视化编辑环境Matlab COM Builder主
Chen Xingming Tang Jinyuan Lei Guowei
Mlm曲咖衄of Modem Complex Equipment Design and Extreme
Ministry of Education,Central South
Abstract Several methods of VB and Matlab mixed—language programming interface are introduced,and their
文章编号:1004—2539{2010)05—0092—03
机械传动
2010矩
Matlab与VB混合编程在弧齿锥齿轮SGM调整卡计算中的应用
陈兴明唐进元雷国伟
(中南大学现代复杂装备设计与极端制造教育部重点实验室, 湖南长沙410083)
摘要综述几种Matlab与VB混和编程的方法,比较各自的优缺点,为使系统能脱离matlab环境, 实现调整卡分析计算的程序化,采用一种基于组件对象的混合编程方法,研制成功SGM(spiral genetated modified roll)调整卡的计算软件,将计算得到的调整卡数据与商用软件计算得到的数据进行对比,说明 所研制的软件得到的调整卡计算结果正确。
dim aClass as mycomponent.myclassset aClass=New mycomponent.myclass /*调用aClass类的某些方法 和属性*/
3 SGM加工方法分析
SGM法的大轮用展成法加工,小轮用变性法加
工,因展成法加工相对简单,这里只分析变性法加工机
床调整参数的计算(其他参数计算略)。图4为变性法
窗口。点击“File/New Project”,在出现的新工程设置对
话框中键入组件名(Component Name)和类名(Class Name);
3)点击“Add File”按钮,添加第一步调试完成的M 函数文件;
4)点击“Build”按钮,编译生成bh-l-0.皿文件;
5)点击“Component/‰k孵Component”,将生成
5.67
11.40
法向侧隙/hen
0.2
O.28
0.2
0.28
外弧齿厚/nan
17.373
8.45l
17.373
8.45l
床位/nnn
0.0
0.O
O.O
0.O
径向刀位/nan
149.84
149.839
角向刀位/nun
56.423l
56.4233
偏心角/(。)
84.7828
84.7828
摇台角/(。) 滚比
开始
l输入齿轮基奉参数l
=二二工二二=
I齿坯儿何参数计算l
=二二工二二=
刀盘参数计算
][二=工 =二二工二二二
l切齿参数计算
大轮加工调||小轮加T调
画画 接—参—数—计r算。||。茌—参—数计r一算 ‘——T一
』。《Q∞》L
COM组件技术是利用 Matlab的Matlab COM Builder
图2计算流程图
proved effectively and correctly by comparing the data
pros赫s each calculated by adjustment card and commercial software. Key words Matlab VB Mixed—language
advantages and disadvantages are c(毗】p龇ed respectively.A method of Mixed—Language programming based on Compo—
nent Object Interface is selected for breaking the system away from the Matlab environment and realizing the program-
万方数据
第34卷第5期
Matlab与VB混合编程在弧齿锥齿轮SGM调整卡计算中的应用
MatrixVB是MathWork针对VB提供的一个Matlab
库,他提供了许多函数,包括基本的数学运算和功能强
大的信号处理、线性代数、串运算及图形图像处理功能
等,为VB提供了强大的功能扩展。MatrixVB安装完成
后,只需在VB工程中引用Mmatrix即可。该方案虽然
很容易实现VB和Matlab接口编程,但需要额外安装
MatrixVB,而且函数也很有限。
(5)COM组件技术【4J
COM是一种通用的 VB
对象接口,从Matlab6.5开
Matlab
始,Matlab提供了COM生 成器。COM生成器是实 现Matlab程序独立应用的 一种新途径。它能把Mat.
的组件打包,便于在其他目标机注册上使用。
图3添加组件
2.2 COM组件的调用 在正式调用COM组件之前,必须首先对调用方法
进行声明,本文中我们使用New运算符来创建类。在 使用本方法之前,必须使用当前VB工程中包含该类 的类型库。在VB编辑环境中选择“工具”菜单,然后 选择“参考…”选项,显示“Available Reference”对话框, 如图3所示,从该对话框中选定需要的类型库。如果 没有显示出来,可以单击对话框上的“浏览”,从弹出的 文件对话框中自行找到需要的.DLL文件即可,然后在 代码窗口中加入类似下面的语句:
一 如
图4小轮机床坐标关系
节锥角/(o) 根锥角/(o)
18.0605 16.4272
71.9392 68.6585
18.恻 16.删
71.9395
68.6585
面锥角/(o)
21.3415
73.5725
2l。3415
73.5727
齿顶高/nan.12
齿根高/nan
5.67
11.40
1系统设计方案
Matlab与VB接口实现方案主要有以下几种:
(1)ActiveX自动化服务技术[3] 将Maflab作为服务器,接收通过引擎传来的数据 和指令信息并进行相应的处理,然后将结果经过引擎 返回给发送请求的客户机。这种方法最大的缺点是不 能脱离Matlab语言工作环境。 (2)动态数据交换(DDE) 借助Matcom将Matlab的程序文件(M文件)编译 成动态链接库(DLL),然后在VB程序中调用生成的动 态链接库中的函数,实现算法。这种方法需要另外安 装Matcom工具,实现过程也比较烦琐。这种方法也不 能脱离Matlab工作环境。 (3)可执行文件(MCC)技术 通过M文件,Matlab只提供了与C语言和Fortran 语言的接口,M文件并不能直接被VB调用,可利用 MCC将M文件直接编译成EXE文件,对于实时性要 求不高的应用可利用中间数据文件来进行交换,但交 互性差。 (4)MatrixVB技术
CO—8届0101
万方数据
机械传动
2010钽
其中,Eol为垂直轮位;Sl为径向刀位;G,是小轮根锥 顶点到到交叉点的距离;ql为角向刀位为X1轴向轮 位修正值;im为机床滚比。
Eol 岛 翻
1这2V 测 R铲鬯埝:彤” Oo·(n zo)r书-\ 。
OJ

p D.


:岛
。一J/ 卜~
翻\/卜 ^
表1齿坯与机床调整参数
SGM法弧齿锥齿轮切齿调整参数表
齿轮参数:
模数8.220
轴交角9俨
小轮旋向左
大轮旋向右
参数名称
本软件计算结果
小轮
大轮
商用软件计算结果
小轮
大轮
齿数
15
46
15
46
压力角/(o)
20
20
弧齿角/(。)
35
35
节圆直径/mm
123.30
378.12
123.30
378.12
通过VB和Matlab混合编程,以传统手算卡为基 础实现了SGM调整卡计算的软件化设计,有效地提高 了计算的效率,并将计算得到的数据与商用软件计算 的数据对比,误差很小,证明了系统计算得到的调整卡 数据是正确可靠的,从而可以为建立齿轮的三维几何 模型和接触分析等后续研究提供准确的理论依据。
参考文献
[1]张志涌.精通Madab6.5版[M].北京:北京航空航天大学出版社, 2003:30—50.
[2]刘柄文.Visual Basic 6.0精通中文版[M].北京:电子工业出版社, 1999:40—-45.
[3】王颖,胡宗军,邹介堂,等.ActiveX:从Visual Basic 6.0调用M^T. LAB的实现方法[J].机电工程,1999(5):172—174.
整卡计算参数非常多,为避免参数传递过程出现差错,
VB和Matlab接口使用数据文件来交换数据,系统总的
流程图如图l所示。
2程序设计过程
整个调整卡的计算分为 4个部分:第1部分用来计 算齿坯几何参数;第2部分 用来计算刀盘参数;第3部 分用来计算切齿参数;第4 部分用来计算机床调整参 数。程序计算流程图如图2 所示。 2.1 COM组件的生成
303.577 3.2241
56.423 1.050l
303.576
3.嬲
56.423
1.0501
轴向轮位
小轮【ul面 小轮凸面 小轮凹面 小轮凸面
修正/rmn 角向刀位修正/nan
一1.8438
一0.8姗
3.0309 0.81583
一1.8440
3.仍09
一O.85492 O.81583
径向刀位修上E/nan
IIliIlg of adjustment card’s calculation,and the adjustment card’8 calculation software is developed.Finally,the cal—
soflM虢is culation result of the adjustment card’s calculation
l输入参数保存数I-t读取数据


I启动COM组件I I运行计算


l读取计算结果H输出计算结
1ab开发的程序做成组件,
这些组件作为独立的 COM对象,可以直接被
图I总流程图
VB等支持COM的语言调用,而且该方法可完全脱离
Mtlab运行环境。
综合考虑,本系统最终采用COM组件技术,因为
COM组件在生成和调用时都是非常的方便。由于调
关键词Matlab VB混合编程弧齿锥齿轮SGM调整卡
Application of natlab and VB Mixed-language Progranm_ling to Caculate the Spiral Bevel Gear’s SGM Adjustment Card
bb0咖of University,Ql咄410083,Ofina) (Key
相关文档
最新文档