FANUC0i-MC系统加工中心A或铣床宏程序_第1页
FANUC0i-MC系统加工中心A或铣床宏程序_第2页
FANUC0i-MC系统加工中心A或铣床宏程序_第3页
FANUC0i-MC系统加工中心A或铣床宏程序_第4页
FANUC0i-MC系统加工中心A或铣床宏程序_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FANUC-Oi-MC系统宏程序虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。(一)变量1变量的表示变量用变量符号(#)和后面的变量号指定,如:#1 ;表达式可以用于指定变量号,此时表达式必须封闭在括号中,如:#1+#2 12。变量号可用变量代替,如#3,设#3= 1,则#3为#1。2变量的类型变量根据变量号可以分成四种类型,具体见表1 1。表1 1变量的类型变量号变量类型功能#O空变量该变量总是空,没有值能赋给该变量。#1 #33局部变量局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时局部变量被初始化

2、为空。调用宏程序时,自变量对局部变量赋值。#100#199#500#999公共变量公共变量在不同的宏程序中的意义相同。当断电时变量#100#199初始化为空;变量#500#999的数据保存,即使断电也不丢失。#1000系统变量系统变量用于读和写 CNC的各种数据,例如,刀具的当前位置和补偿值。3变量的引用在地址后指定变量号即可引用其变量值。当用表达式指定变量时,要把表达式放在括号中。如:G01X#1+#2 F#3 ;改变引用变量值的符号,要把负号”放在#的前面,如:GOO X #1;当引用未定义的变量时,变量及地址字都被忽略,女口:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#

3、2的执行结果为 GOO X0。在编程时,变量的定义、变量的运算只允许每行写一个(见表1 2),否则系统报警。表1 -2变量的正确和错误编程方法对比正确的编程方法错误的编程方法N100 #10N100#仁0#2=6#3=8N110 #26N110#4=#2*SIN#1+#3#5=#2 #2*COS#1N120 #38N130 #4#2*SIN#1+#3N140 #5#2 #2*COS#1(二)算术和逻辑运算变量的算术和逻辑运算见表1 3。表1 3算术和逻辑运算功能格 式备注功能格 式备注定义# i = # j平方根# i=SQRT# j加法# i = # j + # k绝对值# i=ABS# j

4、减法# i = # j # k舍入# i=ROUND# j四舍五入取整乘法# i = # j*# k上取整# i=FUP# j除法# i = # j / # k下取整# i=FIX # j正弦# i=SIN# j:角度以度指:自然对数# i=LN# j反正弦# i=ASIN# j定。65$0"指数函数# i=EXP# j余弦# i=COS# j# i=ACOS# j# i=ATN# j# i=ATAN# j/# k表示为65.5度或# i=# jOR# k逻辑运算一位一位地按二进制数反余弦异或# i=# jXOR# k执行正切与# i=# jAND# K反正切从BCD转为BIN 从B

5、IN转为BCD# i=BIN# j# i=BCD# j用于与PMC的信息交换(BIN :二进制;BCD :十进制)几点说明:1上取整和下取整CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整;若小于原数的绝对 值为下取整。对于负数的处理应注意。女口: #1= 1.2 , #2= 1.2,贝U #3= FUP#1t#3 = 2; #3 = FIX#1 #3= 1 ; #3= FUP#2#3 =- 2; #3 =FIX#2 t#3 = 1。2. 运算次序函数t乘和除运算(*、/、AND ) t加和减运算(+、一、OR、XOR )。3. 括号嵌套括号(方括号)用于改变运算次序。

6、括号可以使用5级,包括函数内部使用的括号。圆括号用于注释语句。女口: #1 = SIN#2+#3*#4+#5*#6(3重括号)4. 运算符运算符见表1 4。表1 4运算符运算符含义运算符含义EQ等于(=)GE大于或等于(第NE不等于(矜LT小于(V)GT大于()LE小于或等于(茅5. 反三角函数的取值范围(1)# i=ASIN# j当参数No.6004#0设为“0时,90°270°当参数No.6004#0设为“1时,90°90°(2)# i=ACOS# j取值范围为0°180°(3)# i=ATAN# j/# k当参数No.6004#

7、0设为“0时,0°360°当参数 No.6004#0设为“ 1时,180°180°(三)宏程序语句和 NC语句下面的程序段为宏程序语句:1. 包含算术或逻辑运算(=)的程序段;2. 包含控制语句(如:GOTO、DO、END )的程序段;3. 包含宏程序调用指令(如:用G65、G66、G67或其它G指令、M指令调用宏程序)的程序段。除了宏程序语句以外的任何程序段都为NC语句。(四)转移和循环在程序中,使用GOTO语句和IF语句可以改变控制的流向。1无条件转移(GOTO语句)转移到标有顺序号N的程序段。可用表达式指定顺序号。编程格式:GOTO N_(N_ :

8、顺序号。199999)例:GOTO 1GOTO#102条件转移(IF语句)IF之后指定条件表达式。(1)如果指定的条件表达式满足时,转移到标有顺序号N的程序段;如果指定的条件表达式不满足,执行下个程序段。编程格式:IF条件表达式GOTO N_例:如果变量#1大于10,转移到程序段号N70的程序段。-F#l GT 10 GOTO 7fi如果杀件不满足I扌王序如杲基件满兒N70 GO G91 X10 -(2)如果条件表达式满足,执行预先决定的宏程序语句。只执行一个宏程序语句。编程格式:IF条件表达式THEN宏程序语句例:如果#1和#2的值相同,0赋给#3IF#1EQ#2 THEN #3=03循环(

9、WHILE语句)在WHILE后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序。否则,转到 END后的程序段。编程格式:WHILE 条件表达式DO mm=1, 2, 3END mDO后的号和END后的号是指定程序执行范围的标号,标号值为1 , 2, 3。循环语句的嵌套可以使用以下几种:(1)标号1到3可以根据要求多次使用。厂 WHILE .DO 1 ;END 1 ;- WHiLE .JDO1 ;END 1 ;32(2)循环可以从里到外嵌套 3级-WHILE , D01 ;厂 WHILE.J DC2:厂 WHILE(.rDO3;END 3;丨 END 2;丄 END 1 ;(3

10、)控制可以转到循环的外边WHILE L.JDO1 ;IF GOTO n :I- END 1 ;'* NnX0 |厂图1 -1圆弧的宏程序例1- 1用G1指令编写图1- 1中AB圆弧的宏程序如下(不考虑刀具半径)用IF语句用WHILE语句%:3012程序名:3112程序名M6 T1换上1号刀M6 T1换上1号刀G54 G90 G0 G43 H1 Z50选择坐标系,调入长度补偿G54 G90 G0 G43 H1 Z50选择坐标系,调入长度补偿M3 S800主轴正转,转速 800r/minM3 S800主轴正转,转速 800r/minX30 Y0快速定位到A点上方X30 Y0快速定位到A点上

11、方Z2主轴下降Z2主轴下降G1 Z 2 F30切入Z 2G1 Z 2 F30切入Z 2#1=0被加数变量的初值#1=0被加数变量的初值#2=30存储数变量的初值#2=30存储数变量的初值N1 #3 = #2*COS#1计算变量WHILE#1 LE 90 DO 1当角度小于等于90时循环#4 = #2*SIN#1计算变量#3= #2*COS#1计算变量IF#1 GT 90 GOTO 2当角度大于90时转移到N2#4= #2*SIN#1计算变量G1 X#3 Y#4 F50以50mm/min进给G1 X#3 Y#4 F50以50mm/min进给#1 = #1 + 1计算和数(角度增加1度)#1 =

12、#1 + 1计算和数GOTO 1转移到N1END 1循环到END 1N2 G0 Z200快速上升G0 Z200快速上升G49 Z0取消长度补偿G49 Z0取消长度补偿M30程序结束M30程序结束%(五)宏程序调用宏程序的调用方法有:非模态调用(G65);模态调用(G66、G67);用G指令调用宏程序;DO 1用M指令调用宏程序; 用M指令调用子程序; 用T指令调用子程序。宏程序调用不同于子程序调用(M98 ),用宏程序调用可以指定自变量(数据传送到宏程序),M98没有该功能。1非模态调用(G65)编程格式:G65 P_ L I 自变量指定P :要调用的程序I :重复次数(19999的重复次数,

13、省略 L值时,默认值为1)自变量:数据传递到宏程序(其值被赋值到相应的局部变量)如:OOOC1:G65 P9C1CL2 A1.082.0 ;09010;IF(S3GT 360 GOTO 9 :GOO G91 X#3 :A1.0 代表 #1 = 1.0B2.0代表 #2= 2.0自变量的指定形式有两种。自变量指定I使用除了 G、L、0、N和P以外的字母,每个字母指定一次 (表1 5);自变量指定n (表1 6)使用A、B、C和I i、J i和Ki (i为110)。根据使用的字母,自动地决定自 变量的类型。任何自变量前编写指定G65。表1 5自变量指定I地址变量号地址变量号地址变量号地址变量号地址

14、变量号地址变量号地址变量号A#1I#4D#7H#11R#18U#21X#24B#2J#5E#8M#13S#19V#22Y#25C#3K#6F#9Q#17T#20W#23Z#26表1 6 自变量指定n地址:变量号地址变量号地址变量号地址变量号地址变量号地址变量号A#1I1#4I3#10I5#16I7#22I9#28B#2J1#5J3#11J5#17J7#23J9#29C#3K1#6K3#12K5#18K7#24K9#30I2#7I4#13I6#19I8#25I10#31J2#8J4#14J6#20J8#26J10#32K2#9K4#15K6#21K8#27K10#332.模态调用(G66)编程格

15、式:G66 P_ L l 自变量指定G67P :要调用的程序 l :重复次数(19999的重复次数,省略 L值时,默认值为1)如:自变量:数据传递到宏程序(其值被赋值到相应的局部变量)A1.0 代表 #1 = 1.0B2.0代表 #2= 2.0指定G67指令时,其后面的程序段不再执行模态宏程序调用。(六)宏程序的编制(a)( b)图1-2球面台与凹球面宏程序加工数控系统不能同时处理宏程序中的坐标位置计算和半径补偿的计算,即数控系统在遇到宏程序的程序 段时将取消半径补偿的功能。因此在编制宏程序时必须计算出刀具中心的轨迹,并且以此轨迹作为编程的 轨迹,这一点在编程过程中必须注意。1用立铳刀加工球面

16、台、用球铳刀加工凹球面的宏程序例1-2 在图1-2a、b中,球面的半径为SR20 (#2)、球面台展角(最大为 90°为67 : (#6),图1-2a 中所用立铳刀的半径为 R8 (#3);图2 2b中所用球铳刀的半径为 R6 (#3),球铳刀的刀位点在球心处,在对 刀及编程时应注意。球面台外圈部分应先切除,即已加工出圆柱,程序略。用立铳刀加工球面台的宏程序为:%:3113程序名N10 M6 T1换上1号刀,16mm球铳刀N20 G54 G90 GO G43 H1 Z200刀具快速移动Z200处(在Z方向调入了刀具长度补偿)N30 M3 S2000主轴正转,转速 2000r/minN

17、40 X0 Y0刀具快速定位(下面#1=0时#5=0)N50 Z2Z轴下降N60 M8切削液开N70 G1 Z0 F50刀具移动到工件表面的平面N80 #1=0定义变量的初值(角度初始值)N90 #2=20定义变量(球半径)N100 #3=8定义变量(刀具半径)N110 #6=67定义变量的初值(角度终止值)N120 WHILE#1LE67DO1循环语句,当#1 < 67时在N120N190之间循环,加工球面N130 #4=#2*1 - C0S#1计算变量N140 #5=#3+#2*SIN#1计算变量N150 G1 X#5 Y0F200每层铣削时,X方向的起始位置N160 Z - #4

18、F50到下一层的定位N170 G2 I - #5 F200顺时针加工整圆N180 #1=#1+1更新角度(加工精度越高,则角度的增量值应取得越小,这儿取1°N190 END1循环语句结束N200 G0 Z200 M9加工结束后返回到 Z200,切削液关N210 G49 G90 Z0取消长度补偿,Z轴快速移动到机床坐标 Z0处N220 M30程序结束%用球铳刀加工凹球面的宏程序为:%:3213程序名N10 M6 T1换上1号刀,12mm立铳刀N20 G54 G90 G0 G43 H1 Z200刀具快速移动Z200处(在Z方向调入了刀具长度补偿)N30 M3 S2000主轴正转,转速 2

19、000r/minN40 X8 Y0刀具快速定位(下面 #仁0时#5=#3 = 8)N50 Z8Z轴下降(注意球铳刀的刀位点,ZV6就会撞刀=N60 M8切削液开N70 #仁1定义变量的初值(角度初始值)N80 #2=20定义变量(球半径)N90 #3=6定义变量(刀具半径)N100 #6=67定义变量的初值(角度终止值)N110 #7=#2 - #2*COS#6计算变量N120 G1 Z - #7 - #3 F50刀具向下切削N130 WHILE#1LE67DO1循环语句,当#1< 67时在N130N190之间循环,加工凹球面N140 #4=#2 - #3*COS#1 - #2*COS#

20、6计算变量N150 #5=#2 -#3*SIN#1计算变量N160 Z - #4 F50到上一层的定位N170 G1 X#5 Y0每层铣削时,X方向的起始位置N180 G3 I - #5 F200逆时针加工整圆N190 #1=#1+1更新角度N200 END1循环语句结束N210 G0 Z200 M9加工结束后返回到Z200,切削液关N22 G49 G90 Z0取消长度补偿,Z轴快速移动到机床坐标 Z0处N230 M30程序结束%2用键槽铳刀加工圆锥台的宏程序例1 3 在图1 3中,圆锥台上面的半径为 R12 (#2)、下面的半径为R20 (#3),键槽铳刀的半径为 R6(#6)。圆锥台R20

21、以外部分应先切除(即已加工出圆柱),程序略。(a)放射切削(b)等高切削图1 3圆锥台的宏程序加工(1)用放射切削时,编写的宏程序为:%:3114程序名N10 M6 T1换上1号刀,12mm键槽铳刀N20 G54 G90 GO G43 H1 Z200刀具快速移动Z200处(在Z方向调入了刀具长度补偿)N30 M3 S2000主轴正转,转速2000r/minN40 X18 Y0刀具快速定位(下面 #仁0时#4=#2 + #6= 18)N50 Z2Z轴下降N60 M8切削液开N70 G1 Z0 F50刀具移动到工件表面的平面N80 #1=0定义变量的初值(角度初始值)N90 #2=12定义变量(锥

22、台上面的半径)N100 #3=20定义变量(锥台下面的半径)N110 #6=6定义变量(刀具半径)N120 #9=20定义变量(圆锥台高)N130 WHILE#1LE360DO1循环语句,当#1< 360时在N130N220之间循环,加工圆锥台N140 #4=#2+#6*COS#1计算变量N150 #5=#2+#6*SIN#1计算变量N160 #7=#3+#6*COS#1计算变量N170 #8=#3+#6*SIN#1计算变量N180 G1 X#4 Y#5 Z0 F200铳削时,圆锥台上面的起始位置N190 X#7 Y#8 Z #9铣削时,圆锥台下面的终止位置N200 GO Z0快速抬刀N

23、210 #1=#1+1更新角度(加工精度越高,则角度的增量值应取得越小,这儿取1°N220 END1循环语句结束N230 GO Z200 M9加工结束后返回到 Z200,切削液关N240 G49 G90 Z0取消长度补偿,Z轴快速移动到机床坐标 Z0处N250 M30程序结束%(2)用等高切削时,编写的宏程序为:%:3214程序名N10 M6 T1换上1号刀,12mm键槽铳刀N20 G54 G90 G0 G43 H1 Z200刀具快速移动Z200处(在Z方向调入了刀具长度补偿)N30 M3 S2000主轴正转,转速2000r/minN40 X18 Y0刀具快速定位(下面 #仁0时#4

24、=#2 + #6= 18)N50 Z2Z轴下降N60 M8切削液开N70 G1 Z0 F50刀具移动到工件表面的平面N80 #2=12定义变量(锥台上面的半径)N90 #3=20定义变量(锥台下面的半径)N100 #6=6定义变量(刀具半径)N110 #9=20定义变量(圆锥台高)N120 #10=0定义变量的初值N130 #12=ATAN#3 - #2/#9定义变量(计算角度)N140 WHILE#10LE#9DO1循环语句,当#10< #9寸在N140N200之间循环,加工圆锥台N150 #11=#2+#6+#10*TAN#12计算变量N160 G1 X#11 Y0 F200每层铣削

25、时,X方向的起始位置N170 Z - #10 F50到下一层的定位N180 G2 I - #11 F200顺时针加工整圆,分层等高加工圆锥台N190 #10=#10+0.1更新切削深度(加工精度越高,则增量值应取得越小)N200 END1循环语句结束N210 G0 Z200 M9加工结束后返回到 Z200,切削液关N220 G49 G90 Z0取消长度补偿,Z轴快速移动到机床坐标 Z0处N230 M30程序结束3用立铳刀加工上圆下方的宏程序图1 4上圆下方的宏程序加工例1 4 在图1 4中,上圆的半径为 R15 (#2)、下方的半边长为20 (#3),立铳刀的半径为 R8 ( #4)。F方以外

26、部分应先切除(即已加工出一个方台),程序略。用放射切削时,编写的宏程序为:主程序%:3015N10 M6 T1N20 G54 G90 GO G43 H1 Z200N30 M3 S2000N40 Z2 M8N50 M98 P43115N60 G0 Z200 M9N70 G49 G90 Z0N80 M30%子程序%:3115N10 G68 X0 Y0 R90N20 G0 X16.263 Y 16.263N30 G1 Z0 F50N40 #1= 45N50 #2=15N60 #3=20主程序名换上1号刀,16mm立铳刀刀具快速移动Z200处(在Z方向调入了刀具长度补偿)主轴正转,转速2000r/mi

27、nZ轴下降,切削液开调用03115子程序4次加工结束后返回到 Z200,切削液关取消长度补偿,Z轴快速移动到机床坐标 Z0处程序结束子程序名增量绕原点旋转90°快速定位到起始点(#1 = 45时刀具中心所处的位置) 下降到Z0平面定义变量的初值(角度初始值)定义变量(上面的半径)定义变量(下面的半边长)定义变量(刀具半径)N70 #4=8N80 #9=20定义变量(锥台高)N90 WHILE#1LE45DO1循环语句,当#1< 45时在N90N180之间循环,加工锥台N100 #5=#2+#4*COS#1计算变量N110 #6=#2+#4*SIN#1计算变量N120 #7=#3

28、+#4计算变量N130 #8=#3*TAN#1计算变量N140 G1 X#5 Y#6 Z0 F300铣削时,上面的起始位置N150 X#7 Y#8 Z #9铣削时,下面的终止位置N160 GO Z0快速抬刀N170 #1=#1+1更新角度(加工精度越高,则角度的增量值应取得越小,这儿取1°N180 END1循环语句结束N190 GO Z2切削结束后快速返回到 Z2平面N200 M99子程序结束并返回到主程序%对于上方下圆、方锥台的宏程序编写可参考进行。4.加工抛物线回转体的宏程序抛物线回转体在车灯的加工中是非常常用的,其方程及编程点的计算式见表1 7。表1 7抛物线方程及刀具中心编程

29、点的计算式方程及特性点图形标准方程:Y2 = 2pX极坐标方程:'=1一二5")顶点 0(0,0),焦点 F(p/2,0),准线 L(X 二p/2),/EMT £FMT = : = /2法线MN长T用球铳刀加工抛物线回转体:曲率半径REl (顶点曲率半径Ro=P )SIN%x“x 艮 cos,iJ0sE 刘 CossZa 二Z R刀 SIN - P C0S:一p/2 R刀 SIN(/2)1COS®用立铣刀加工抛物线回转体:x“x z,C0sS|NrZa Si二C0s: COS'P/2壁厚,此厚度应在回转凹面的加工中完成,此时可改变R刀来实现,编程时

30、的R刀应为加工时使用的球铳刀半径减壁厚。例1 5用16mm的立铳刀加工图1 5a中的凸模(R42.426的圆柱台应加工好,程序省略);用16mm的球铳刀加工图1 5b中的凹模(注塑件的壁厚为 2mm)。加工时一般采用等高切削。拋物线方程 6VX屮二6(厂"42426)0X!/(a)加工凸模的宏程序为:%:3116N10 M6 T1N20 G54 G90 GO G43 H1 Z200N30 M3 S2000N40 X8 Y0N50 Z2 M8N60 G1 Z0 F50N70 #1=30N80 #2=180N90 #3=8N100 WHILE#2GE70.5288DO1N110 #4=#

31、1*SIN#2/1 COS#2+#3N120 #5=#1*COS#2/1 COS#2 #2N130 G1 X#4 Y0 F100N140 Z#5 F50N150 G2 I #4 F200N160 #2=#2 1(b)图1 5抛物线回转体凸、凹模程序名换上1号刀,16mm立铳刀刀具快速移动Z200处(在Z方向调入了刀具长度补偿)主轴正转,转速2000r/min刀具快速定位(下面 #2=180时#4= 8)Z轴下降,切削液开刀具移动到工件表面的平面定义变量的初值(p )定义变量(;:的初始值)定义变量(刀具半径)循环语句,当#2> 70.5288时在N100N170之间循环计算变量计算变量每

32、层铣削时,X方向的起始位置到下一层的定位顺时针加工整圆,分层等高加工凸模更新角度循环语句结束 加工结束后返回到 取消长度补偿, 程序结束Z200,切削液关Z轴快速移动到机床坐标Z0处N170 END1N180 GO Z200 M9N190 G49 G90 Z0N200 M30%加工凹模的宏程序为:%:3216N10 M6 T1N20 G54 G90 G0 G43 H1 Z200N30 M3 S2000N40 X0 Y0N50 Z10 M8N60 G1 Z - 24 F50N70 #1=30N80 #2=179N90 #3=6N100 WHILE#2GE70.5288DO1N110 #4=#1*

33、SIN#2/1 - C0S#2 -#3*COS#2/2N120 #5=#1*COS#2/1 - COS#2+#1/2+#3*SIN#2/2- 30N130 G1 Z#5 F50N140 X#4 Y0 F100N150 G3 I - #4N160 #2=#2 - 1N170 END1N180 G0 Z200 M9N190 G49 G90 Z0N200 M30%程序名换上1号刀,16mm球铳刀刀具快速移动Z200处(在Z方向调入了刀具长度补偿)主轴正转,转速2000r/min刀具快速定位Z轴下降,切削液开(注意球铳刀的刀位点,ZV8就会撞刀=球铳刀向下切削到 Z- 24。(下面#2=180时#5=

34、- 24) 定义变量的初值(p)定义变量(的初始值),从最低点开始向上进行等高铣削定义变量(刀具半径-壁厚)循环语句,当#2> 70.5288时在N100N170之间循环计算变量计算变量到上一层的定位每层铣削时,X方向的起始位置逆时针加工整圆,分层等高加工凹模更新角度循环语句结束加工结束后返回到Z200,切削液关取消长度补偿,Z轴快速移动到机床坐标 Z0处程序结束力口工操作时,在铳削开始(即中心部分)时,应把进给倍率调得较小,随着加工半径的增大,进给倍 率再逐渐调大,以免没有进行进给倍率的修调而断刀。5加工椭圆的宏程序椭圆方程及编程点的计算式见表 1-8。表1-8椭圆方程及刀具中心编程点

35、的计算式图形方程及特性点标准方程:X2 Y2“a2孑二参数方程:'X =a*COS 护Y =b*SIN®中心 0(0,0),顶点 A, B(_a,0)C,D(0,_b)焦距=2c c = a2 b2TANa =b *aCOSSIN :加工椭圆外形:X A = x R刀 SIN : = a COSR刀 SIN :YA =Y R刀 COS: =b“SIN:g,R 刀 COS:在'= = 0及180°时,TAN,-::,所以在编程时应避开这两角度。加工椭圆型腔:Xa =X _R刀 SIN : =a COS ' _ R刀 SIN:YA 二Y _R刀 COS:

36、 =b SIN_R刀 COS:在=0°及180°时,TAN:二:,所以在编程时应避开这两角度。 所选的立铳刀半径应满足 R刀vb 。由于反正切函数的正、负问题,为避免出现程序错误,我们不管参数No.6004#0怎样设置,在编写椭圆的宏程序时只编写0。180°的部分,另一半采用旋转的指令完成,具体参见下例。例1-6用<|>16mm的立铳刀加工图1-6所示的椭圆(长轴为50、短轴为30)。下面椭圆宏程序的编写方法之一。主程序:%:3017主程序名N10 M6 T1换上1号刀,16mm立铳刀N20 G54 G90 GO G43 H1 Z200刀具快速移动Z2

37、00处(在Z方向调入了刀具长度补偿)N30 M3 S1000主轴正转,转速 1000r/minN40 X70 Y0刀具快速定位N50 Z2 M8Z轴下降,切削液开N60 G1 Z 6 F50刀具进给到加工深度N70 X58 F100进给到椭圆的最右的点(长轴50 +刀具半径8)N80 M98P3117调用03117的子程序一次N90 G68 X0 Y0 R180绕坐标原点旋转180 °N100 M98P3117调用03117的子程序一次N110 G69取消旋转指令N120 G0 Z200 M9加工结束后返回到 Z200,切削液关N130 G49 G90 Z0取消长度补偿,Z轴快速移动

38、到机床坐标 Z0处N140 M30程序结束%子程序:%:3117子程序名N10 #1 = 1定义变量初值(角度从 1°开始)N20 WHILE#1LE179DO1循环语句,当#1< 179时在N20N80之间循环N30 #2 = ATAN30*C0S#1/50*SIN#1计算变量N40 #3 = 50*COS#1+8*SIN#2计算变量N50 #4 = 30*SIN#1+8*COS#2计算变量N60 X#3 Y#4加工的点N70 #1 = #1+1更新角度N80 END1循环语句结束N90 X 58 Y0加工到椭圆最左端N100 M99子程序结束并返回到主程序%6轮廓倒圆角、倒

39、角的宏程序对于倒圆角、倒角的加工,首先应加工出其基本轮廓,然后在其轮廓上进行宏程序的加工。从俯视图中观察刀具中心的轨迹,就好像把轮廓不断地向外等距偏移,如图1 7所示;刀具切削时就像一个个圆,其包络线形成了工件上的切削轨迹,如图1 7a所示。编写宏程序的关键在于找出刀具中心到已加工轮廓之间的法向距离,具体参见表 1 9。表1 9轮廓倒圆角、倒角的变量及计算图形变量及计算倒凸圆弧倒 凹 圆 弧#1 角度变量;#2倒圆角半径;#3刀具半径#4 = #2*1 C0S#1刀具切削刀尖到圆角上表面的距离#5=#3+#2*SIN#1 #2刀具中心到已加工轮廓的距离#1 角度变量;#2倒圆角半径;#3刀具半

40、径#4 = #2*SIN#1刀具切削刀尖到圆角上表面的距离#5=#3 #2*COS#1刀具中心到已加工轮廓的距离倒任意角#1 深度变量;#2倒角角度;#3刀具半径;#6倒角高#4 = #1刀具切削刀尖到圆角上表面的距离#5=#3 #6 #1*TAN#2刀具中心到已加工轮廓的距离在找出刀具中心到已加工轮廓之间的距离(#5)后,对于不同的情况应作不同的处理。外轮廓加工应向外偏置#5;内轮廓应向内偏置 #5。在加工圆弧时,应特别注意,必须同时改变圆弧的半径值,凸圆弧编程半径应加#5;凹圆弧编程半径应减 #5。如果所选刀具半径小于倒角量,则#5在计算时有时为”,并不影响上面所讲的偏置与加、减。(a)图

41、1 7轮廓倒角时的刀具中心轨迹图在倒圆角和倒角时还应注意整个轮廓的情况。如果整个轮廓全部由直线、圆弧等平滑过渡连接的,那么在编程时按节点坐标与刀具中心到轮廓的距离变量编制即可;如果整个轮廓并不是平滑过渡连接的(图17a),那么编程时在非平滑过渡的节点处必须加入一个圆弧过渡段(图1 7a中粗线所示),其半径为刀具中心到轮廓间的距离变量。轮廓倒角、倒圆角实际上是刀具切削时的包络线所形成的(图1 8a),如果不用圆弧过渡段,则会产生过切现象,图1 8b所示;而采用圆弧过渡段,则不会产生过切现象,图1 8c所示。对于直角的情况,除采用过渡圆弧外还可以延长其位置,以相邻轮廓的交点作为编程点(图1 8b)

42、。(c)R4倒圆角。凹槽的加工程序及凸65.'Y点的激慝44.427/期1田a)(b)图1-8轨迹包络线及过渡段例1-7用12mm的立铳刀加工图1-9所示凹槽的45。倒角、凸缘的缘外轮廓的加工程序均略。宏程序为:图1-9轮廓的倒圆角、倒角宏程序%程序名:3018换上1号刀,12mm立铳刀N10 M6 T1N20 G54 G90 G0 G43 H1 Z200N30 M3 S2000N40 X 20 Y29N50 Z2 M8N60 G1 Z0 F50N70 #1 = 0刀具快速移动Z200处主轴正转,转速 2000r/min刀具快速定位(#1 = 0时,#5= 1。30 #5 = 29)Z

43、轴下降,切削液开刀具下降到工件表面定义变量(深度)定义变量(刀具半径)定义变量(倒角尺寸) 定义变量(图中角度之一) 定义变量(图中角度之二)循环语句。当#K #6在 N120N280之间循环 计算变量 计算变量宏程序加工定位点向下加工加工R30圆弧部分倒角加工R30与R16之间直线段的倒角加工R16圆弧部分倒角加工R16与R15之间直线段的倒角加工R15圆弧部分倒角加工R15与R20之间直线段的倒角加工R20圆弧部分倒角加工R10圆弧部分倒角加工R10半圆部分倒角,此处为凸圆弧加工R10圆弧部分倒角更新深度(加工精度越高,增量应越小) 循环语句结束快速上升到 Z5 处,准备刀具移动加工圆角

44、快速定位进给下降到 Z0 定义变量(角度) 定义变量(圆角半径)循环语句。当#9< 90在 N330N460之间循环计算变量计算变量移动到起始点Z 轴下降走直线加工R25处的圆角走水平直线加工R50处的圆角增量加工斜直线圆角走圆弧过渡段。返回到 N370 后另走直线过渡段角度变量更新循环语句结束N80 #3 = 6N90 #6 = 5N100 #7 = 44.427N110 #8 = 16.2602N120 WHILE#1LE#6DO1N130 #4 = #1N140 #5 = #3+#1 #6N150 G1 X20 Y30#5 F500N160 Z#4 F50N170 G3 X20+3

45、0#5*COS#7 Y 30#5*SIN#7 R30 #5 F500N180 G1 X20+16#5*COS#7 Y 20+16#5*SIN#7N190 G3 X2016#5*SIN#8 Y 20+16#5*COS#8R16 #5N200 G1 X35+15 #5*SIN#8 Y 5+15 #5*COS#8N210 G3 X50#5 Y5 R15#5N220 G1 X10N230 G3 X30 Y30 #5 R20#5N240 X30 10#5 Y20N250 G2 X#5 R10+#5N260 G3 X20 Y30#5 R30#5N270 #1 = #1+0.2N280 END1N290 G0 Z5N300 X 67 Y35.784N310 G1 Z0 F50N320 #9 = 0N330 #10 = 4N340 WHILE#9LE90DO2N350 #11 = #10*1 COS#9N360 #12=#3+#10*SIN#9 #10N370 G1 X65+#12 Y35.784 F500N380 Z#11 F50N390 Y 25 F500N400 G3 X40 Y50+#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论