毕业设计-邓阳(3)

2019-04-14 20:02

数控技术及应用专业 毕业设计任务书

(5)、分支不能直接跳转到循环体内 WHILE [?] DO1; ?

IF [?] GOTO n; ? END1; Nn ? ;

§1.4宏程序的应用

1、 通过下边的程序来看宏程序的应用方法

主程序:O0010 G40 G90 G92 X0 Y0 Z0 ; 确定坐标系;

N10 G65 P0002 A60 B80 C100 ; 调用宏程序并赋初值; N20 M30 ; 程序结束; 子程序:O0020 G01 X#1 Y#2 F[#3+#1] ; 子程序运行; N10 M99 ; 返回主程序;

上边的程序是将宏程序以调用子程序的方式来实现。在主程序第N10段使用调用宏程序指令G65,并为变量赋初值。A、B、C都是子程序中的变量,A代表子程序中的变量#1,#1赋值为60,B代表子程序中的变量#2,#2赋值为80,C为子程序中的变量#3,#3赋值为100。当程序执行到主程序中G65时,会自动执行子程序,当执行到子程序中X#1时,为自动调用主程序中为其赋的值60,X#1也就相当于X60,Y和F也同样。

在使用表达式代表变量时,要用括号将表达式括起来,如以上程序中的F[#3+#1]。 2、 用自变量的自加功能实现循环

对于一个程序中某些程序段,因需要进行循环时,只用一个自变量自加功能及IF语句配合跳转语句即可完成。比如下边的程序:

N10 G90 G01 X10 ; N20 G91 Y10 ; N30 X15 Y50 ; N40 G90 X0 Y0 ;

如果想要将第N20和N30段作为循环体进行循环,只用在第N30段与第N40段加入以下程序段:

#1=#1+1 ;

IF[#1LT2]GOTO20 ;

即可实现循环。如果要循环10次,只用更改IF语句为: IF[#1LT10]GOTO20

就可以轻松的实现循环10次,其中#1的初值可以省略。IF的意思为“如果”。上面IF语句的中文意思为:‘如果变量#1的值小于10,那么跳转到第N20段程序’,如果不小于10,那么程序向下执行。

3、 加工一椭圆,来说明宏程序的优越性。椭圆长轴为100,短轴为50(如图1)。

8

数控技术及应用专业 毕业设计任务书

Y50-XOX-Y100 图1

加工路线为O → X → Y → -X → -Y → X → O,假如现在要加工内形,它的刀具轨迹如下图(图2)

图2

用普通算点的方法来加工这个椭圆显然是不科学的,如果采用编程软件(如MASTERCAM)来生成这个程序的话(设使用Φ10的铣刀,步距取1mm),那么程序长度将在400段左右,对于程序本身的阅读和修改都不是很方便 ,而且也会过多的占用计算机的内存。使用宏程序的话,那么很轻意的就可以解决这个问题,程序如下:

O0001 G92 X0 Y0 Z0 S1200 M03 ; 确定坐标系; N10 G01 G41 X50 ; 图1中OX距离;

N20 #1=0 ; 将角度设为自变量,赋初值为0; N30 X[50*COS[#1]] Y[25*SIN[#1]] F200 ; XY轴联动的步距; N40 #1=#1+1 ; 自变量每次自加1O;

N50 IF[#1LT360]GOTO30 ; 如果变量自加后不足360度,则 转到第30段执行,否则执行下一段;

(30前不用加行号N)

N60 GO G40 X0 ; 撤消刀补,回到起点 N70 M30 ; 程序结束。

只用很简单的几段程序就可以完成椭圆的加工,在程序中第N20段其实也可以省略,通过上例可以看出,改变刀具流向的程序只有第N30段,这一段也就是椭圆的参数方程。在这个程序中,角度是自变量,每执行到第N40段时,角度自加一度,直至到达360度自动跳转到第N60段。如果我们将自变量的角度改变为0.1度,那么只用改变第N40段为:#1= #1+0.1,椭圆的精度提高了很多,步距减小了很多,可它的程序长度并没有因此而改变。即使要将此椭圆轮廓加工多次,至多也只用加两循环语句而已。

9

数控技术及应用专业 毕业设计任务书

上面的程序是依照椭圆的标准参数方程得到,如果依照标准参数方程编写宏程序,那么同样只用短短的几段程序即可以加工出另外的一些曲线。比如:正圆、渐开线、摆线等。有一些非圆曲线虽然没有标准的参数方程,但我们仍可以利用作图法的规律很容易的求出最接近它们的形状,如抛物线,阿基米德螺旋线、正弦曲线等。还有,比如加工圆球类、锥台类、大面积渐近去余量等等都可以使用宏程序,这里不再一一举出。特别值得一提的是,目前有许多回转工作台不支持刀具补偿功能,但是如果运用宏程序,很轻松的就可以弥补这个制造缺陷。

第二章 宏程序车削循环

数控车削加工编程的对象是简单的二维图形,车削系统已经提供了非常全面的从粗

车到精车的各类功能指令,指令格式简单且实用。对于边廓以直线、圆弧为主的常规零件加工,大多采用手工编程的方法,宏编程技术的优势在车削加工中主要表现在非圆曲线边廓的处理上。

FANUC的宏编程只能在非圆曲线轮廓的精车时独立使用,且不能为G71~G73的粗车

提供参考边廓数据,而HNC精车的程序段若用宏编程,其计算的数据可提供给G71~G73作边廓参考依据,这使得HNC的车削宏编程技术更具实用性。

使用主、子程序调用的宏编程技术,在调用子程序时可通过宏变量传递参数的功能,

易于实现子程序的模块化,整个程序修改起来更简单,程序通用性得到了增强。

利用宏编程技术实现如图2-2所示的零件的加工

图2-2

10

数控技术及应用专业 毕业设计任务书

§2.1 数学分析

建立工件坐标系及相应参数设置如图2-1所示:

抛物线直线椭圆图2-1

1.求直线方程

X2由抛物线方程Z=-得:X=+2?Z

4故A点X坐标值XA=+2?U 又B点坐标(X,Z)为(D,V) 则直线AB斜率K为:K=

XB?XAD?2?U=

V?UZB?ZA设AB直线方程为:X=KZ+h

坐标(X,Z)为(D,V)得:D=KV+h 所以:h=D-KV=D-

D?2?UV

V?U2. 求椭圆方程 椭圆中心坐标为:(V,D+b)

Z2X2由椭圆方程:2?2=1

ab(Z?V)2(X?D?b)2得椭圆在图2-1所示坐标系中方程为:??1 22ab

11

数控技术及应用专业 毕业设计任务书

§2.2数学建模

根据零件图,我们用数学的方式来分析一下,本利利用宏编程技术的编程思路是用无数段直线逼近轮廓线,把零件划分为四段,此程序以Z为变量,X为函数,各段数模求法如下:

1. 当U?Z?0时由抛物方程得:X=2?Z

2. 当V?Z

(Z?V)2(X?D?b)23. 当V-a?Z

a2b2故 : X=-b1?(Z?V2)?D?b a4. W?Z

§2.3变量设置

1、为了使程序变量与子程序变量协调起来,即使系统能将当前程序段各字段的内容拷贝到宏执行的局部变量,故在变量设置时,一定要满足宏程序子程序的调用的参数传递规则。

本程序在编写过程中所用到的主要宏程序调用传递的字段参数如下: 宏程序局部变量 #20 #21 #22 #3 #0 #1 #2 宏程序调用时所传送的字段名或系统变量 U V W D A B C 2、此程序中所用到的主要变量及其表达意义如下: 变量名称 #10 #11 #41 #42 #40 Z坐标 X坐标 直线AB的斜率K 直线AB的截距h A点X坐标值 即2?U 变量意义 12


毕业设计-邓阳(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2009年湖北省襄樊市中考文综试题历史部分

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: