《数控加工宏指令编程》由会员分享,可在线阅读,更多相关《数控加工宏指令编程(35页珍藏版)》请在金锄头文库上搜索。
1、数控加工宏指令编程数控加工宏指令编程(以(以FANUC 0i系列为例)系列为例)1 用于对形状相同或相近、尺寸不同的用于对形状相同或相近、尺寸不同的系列化系列化零件加工。只需要对变量重新赋值即可。零件加工。只需要对变量重新赋值即可。特点:特点:n可以使用变量并对变量赋值;可以使用变量并对变量赋值;n含有变量运算(算术和逻辑运算)、条件转移含有变量运算(算术和逻辑运算)、条件转移功能;功能;n具有一般算法语言的逻辑;具有一般算法语言的逻辑;关键:准确地对关键:准确地对变量变量值、类型、范围进行定义。值、类型、范围进行定义。2一、变量一、变量变量号变量号变量类型变量类型功功 能能#0空变量空变量总
2、为空,不能赋值,只读不写总为空,不能赋值,只读不写#1#33局部变量局部变量仅在宏程序内有效。断电清空。调用宏程序仅在宏程序内有效。断电清空。调用宏程序时被赋值。时被赋值。#100#149#500#531公共变量公共变量在不同的宏程序中都有效。断电时前者清空;在不同的宏程序中都有效。断电时前者清空;后者保持。后者保持。#1000系统变量系统变量用于读取系统变量,如刀具当前位置及补偿用于读取系统变量,如刀具当前位置及补偿值等值等注意:注意:(1 1)用表达式指定变量时,需将表达式括起来。如)用表达式指定变量时,需将表达式括起来。如G01 X#1+#2 F#3(2 2)改变变量符号,要把负号放在)
3、改变变量符号,要把负号放在#号前。如号前。如-#1而不是而不是#-13二、宏指令二、宏指令n运算指令:运算指令:+,-,*,/,SIN,COS,ASIN,ACOS,TAN ATAN, SQRT,ABS,ROUND,LN,EXP;OR,XOR,ANDn控制语句控制语句(1)无条件转移语句无条件转移语句:GOTO n or #i(2 2)条件转移语句:)条件转移语句:IF.GOTO n or #in为程序段号,可取为程序段号,可取199999.如如GOTO 3GOTO #3格式:格式:IF条件式条件式 GOTO n条件式中运算符含义:条件式中运算符含义:EQ(=);NE();GT();GE();L
4、T();LE().如:如:IF#2GT6 GOTO 80(3(3) 循环语句:循环语句:WHILE.DO n or #i格式:格式:WHILE条件式条件式 DO m.;EDN m如:如:可以嵌套循环可以嵌套循环4三、宏程序调用三、宏程序调用可以直接在主程序中应用,也可以为子程序的应用形式。可以直接在主程序中应用,也可以为子程序的应用形式。n非模态调用指令(非模态调用指令(G65)格式:格式:G65 P_G65 P_L_ _ P_: P P_: P之后接四位数字表示程序号;之后接四位数字表示程序号; L_:L_:之后的数字表示循环次数(之后的数字表示循环次数(1-99991-9999次);默认为
5、次);默认为1 1 : :自变量赋值自变量赋值, ,由地址符及数字构成由地址符及数字构成. .5u例例1:非模态调用(:非模态调用(G65)主程序主程序 ;G65 P9010L2A50B30;宏程序宏程序O9010;N10 #3=#1+#2;N80 M99;宏程序宏程序结束符结束符程序说明:程序说明:调用程序名为调用程序名为O90109010的宏程序,循环的宏程序,循环2 2次;通过调用,将次;通过调用,将宏程序中的宏程序中的局部变量局部变量#1#1(主程序中(主程序中A A)赋值为赋值为50.050.0;局部局部变量变量#2#2(主程序中(主程序中B B)赋值为赋值为30.030.0除除I
6、I、J J、K K有顺序要求外,其他无顺序要求。有顺序要求外,其他无顺序要求。6n模态调用指令(模态调用指令(G66)格式:格式:G66 P_G66 P_L_ _ ; ; G67;(G67;(取消用户宏程序)取消用户宏程序)在至在至G67G67指令取消之前,每执指令取消之前,每执行一段有移动指令的代码,行一段有移动指令的代码,就调用一次宏程序。在就调用一次宏程序。在G66G66所所在段及无移动指令的程序行在段及无移动指令的程序行不执行宏程序。不执行宏程序。u例例2:模态调用(:模态调用(G66)主程序主程序O0033 ;N30 G66P9100L2A10B20;N40 G00X100.0;N5
7、0 Z120.0;N60 G01X150.0;N70 G67;N90 M30宏程序宏程序O9100;N40 G00 Z#1;N50 G01Z-#2F300;M99;主程序在执行完主程序在执行完N40N40、N50N50、N60N60后各执行宏程序两次。直后各执行宏程序两次。直至至G67G67停止调用宏程序。停止调用宏程序。7n G指令(系统指令)调用宏程序指令(系统指令)调用宏程序格式:格式:G G 其中:其中:G -调用宏程序的调用宏程序的G代码;代码; -自变量;自变量;为了实现为了实现G G代码调用宏程序,需将代码调用宏程序,需将宏程序名宏程序名与与系统参数系统参数号号对应进行设置对应进
8、行设置8u例例3:G指令调用宏程序指令调用宏程序主程序主程序O4444 ;G81X10.0Z-10.0;M30宏程序宏程序O9100;#24=#26+1;M99;将宏程序名设将宏程序名设为为 O9010O9010在与在与“O9010O9010”对对应的参数号应的参数号(60506050)上设)上设定值为定值为“8181”此处,此处,G81G81后的后的“X10.0 Z-10.0X10.0 Z-10.0”分别指将宏程序中的局分别指将宏程序中的局部变量部变量#24#24,#26#26赋值为赋值为10.010.0,-10.0-10.0而并非轴进给地址字。而并非轴进给地址字。9四、宏程序应用实例四、宏
9、程序应用实例n例例1 用用G66调用宏指令编制如图所示车槽加工程序。调用宏指令编制如图所示车槽加工程序。10主程序主程序O0003N10 T0202;N20 M03 S600;N30 G66 P9110 U12.0F0.1; 模态调用宏程序,将槽深、切削速度送入模态调用宏程序,将槽深、切削速度送入O91109110中中N40 G00X62.Z80.; 快速定位到槽快速定位到槽1 1后,调用宏程序后,调用宏程序O91109110车槽车槽1 1N50 G00Z50.; 快速定位到槽快速定位到槽2 2后,调用宏程序后,调用宏程序O91109110车槽车槽2 2N60 G00Z30.; 快速定位到槽快
10、速定位到槽3 3后,调用宏程序后,调用宏程序O91109110车槽车槽3 3N70 G67; 取消宏程序调用取消宏程序调用N80 G00X100.Z200.;N90 M30宏程序宏程序O9110;N10 G01X#21F#9;N20 G04 P500;N30 G01X62.;N40 M99;11例例2 在半径为在半径为35的圆周上分布的圆周上分布12个等间隔的孔,用宏程序编程。个等间隔的孔,用宏程序编程。宏指令:宏指令:G54;M03S50T01;G00XYZ;G65P9207R35A30H12X0Y0;G00XYZ;M30;O9027;#32=1; (孔计数用,设定初始值为(孔计数用,设定初
11、始值为1 1)WHILE#32LE#11D1 ; ;(当孔计数值小于或等于孔数(当孔计数值小于或等于孔数1212时,执行时,执行D1D1和和END1END1之间的程序)之间的程序)#33=#1+360*#32-1/#11; (第(第I I个孔与个孔与X X轴的夹角)轴的夹角)#101=#24+#18*COS#33;#102=#25+#18SIN#33;G00X#101Y#102;G81G98Z-20R10F50;#32=#32+1;END1;M99;12椭圆加工椭圆加工13例例3设计一宏程序,可车削加工任意位置、任意长、设计一宏程序,可车削加工任意位置、任意长、短半轴的椭圆凸轮廓。短半轴的椭圆
12、凸轮廓。14提示:各变量参数设计如图所示,通过改变#1、#2、#3、#4、及#6号变量即可#1:长轴长度#2:短轴长度#3:Z向椭加工起点距离中心的距离,初始值为#3=35,每次移动步距0.2, 表达式为:#3=#3-0.2。同时用IF#3GE#4GOTO5;判断是否到达终点;#4:Z向椭圆加工终点至椭圆中心距离,#4=-10。 终点在椭圆中心左边为负值,在右边为正值;#5:X坐标变值,表达式为: #5=2*#2/#1*SQRT#1*#1- #3*#3;#6:Z向工件原点到椭圆中心到距离15O1005;T0101;G00 X54. Z5. M03 S1200;#1=50.; (长半轴)(长半轴
13、)#2=23.; (短半轴)(短半轴)#3=35.;(椭圆车削起始点至椭圆中心点的长度)(椭圆车削起始点至椭圆中心点的长度)#4=-10.; (椭圆加工终点至椭圆中心的长度)(椭圆加工终点至椭圆中心的长度)#6=55.; (椭圆中心到工件原点长度)(椭圆中心到工件原点长度)G01 G42 X28. Z2.; (外圆起点)(外圆起点) Z-20.; (加工外圆台阶)(加工外圆台阶)N5 #5=2*#2/#1*SQRT#1*#1- #3*#3; (计算(计算X坐标值)坐标值)G01 X#5 Z(#3-#6);(拟合椭圆,(拟合椭圆,Z值为距工件原点的坐标值)值为距工件原点的坐标值)#3=#3-0.
14、2; (Z向重新赋值,移动步距向重新赋值,移动步距0.2)IF#3 GE #4GOTO5; (判断是否到达椭圆终点)(判断是否到达椭圆终点)G01 X60.; (退刀)(退刀)G00 G40 Z20.;M30;16主程序主程序O1005;T0101;G00 X54. Z5. M03 S1200;G01 G42 X28. Z2.; ( 外圆起点)外圆起点) Z-20.; (加工外圆台阶)(加工外圆台阶)G65 P9110 A50 B23 C35 I-10 K55;G01 X60.; (退刀)(退刀)G00 G40 Z20.;M30;宏程序宏程序O9110;N10 #5=2*#2/#1*SQRT#
15、1*#1- #3*#3; (计算(计算X坐标值)坐标值)N20 G01 X#5 Z(#3-#6); (拟合椭圆,(拟合椭圆,Z值为距工件原点的坐标值)值为距工件原点的坐标值)N30 #3=#3-0.2; (Z向重新赋值,移动步距向重新赋值,移动步距0.2)N40 IF#3 GE #4GOTO5; (判断是否到达椭圆终点)(判断是否到达椭圆终点)N50 M99;17例例4 椭圆半球体的加工。椭圆半球体的加工。系统:系统:FANUC-0i MAFANUC-0i MA机床:南通机床厂机床:南通机床厂XH713AXH713A立式加工中心立式加工中心XYZO18宏程序运行设计思路毛坯为四方块,分粗加工(
16、毛坯为四方块,分粗加工(椭圆柱椭圆柱)和精加工()和精加工(椭圆半球体椭圆半球体)粗加工以椭圆轮廓自上而下分层加工,刀具为平底立铣刀;粗加工以椭圆轮廓自上而下分层加工,刀具为平底立铣刀;精加工时,加工路线,以自下而上精加工时,加工路线,以自下而上0 09090度间等角度分层。每层以圆弧切入切度间等角度分层。每层以圆弧切入切出,根据当前层的长短半轴以椭圆轮廓水平环绕加工,直至椭圆球顶完成椭出,根据当前层的长短半轴以椭圆轮廓水平环绕加工,直至椭圆球顶完成椭圆球面加工。圆球面加工。工件坐标系原点设在椭圆球体的中心,以球头刀的球心轨迹编程(不用刀具工件坐标系原点设在椭圆球体的中心,以球头刀的球心轨迹编
17、程(不用刀具半径补偿),球头铣刀加工,对刀点为球刀底平面(非球心)。半径补偿),球头铣刀加工,对刀点为球刀底平面(非球心)。1920 (1 1)初始变量的设置:)初始变量的设置: #1#1:椭圆球面在:椭圆球面在X X方向上的半轴长度方向上的半轴长度a a #2 #2:椭圆球面在:椭圆球面在Y Y方向上的半轴长度方向上的半轴长度b b #3 #3:椭圆球面在:椭圆球面在Z Z方向上的半轴长度方向上的半轴长度c c #4 #4:刀具半径(球头铣刀):刀具半径(球头铣刀) #17#17:环绕椭圆一周时的角度递增量:环绕椭圆一周时的角度递增量 #18#18:自下而上分层时角度递增量:自下而上分层时角
18、度递增量 (2 2)精加工宏程序中变量及表达式)精加工宏程序中变量及表达式#11#11=#1+#4;=#1+#4; 刀具中心在椭圆球面刀具中心在椭圆球面X X方向上的最大半轴长度方向上的最大半轴长度aa#12#12=#2+#4;=#2+#4; 刀具中心在椭圆球面刀具中心在椭圆球面Y Y方向上的最大半轴长度方向上的最大半轴长度bb#13#13=#3+#4;=#3+#4; 刀具中心在椭圆球面刀具中心在椭圆球面Z Z方向上的最大半轴长度方向上的最大半轴长度cc#6=0;#6=0; 自下而上分层时角度自变量,赋初始值为自下而上分层时角度自变量,赋初始值为0 0(起点与(起点与X X水平轴重合,终点为水
19、平轴重合,终点为9090度)度)#9#9=#11*COS#6;=#11*COS#6;根据椭圆参数方程根据椭圆参数方程, ,计算任意层时(随计算任意层时(随#6#6的角度变化)刀具中心在的角度变化)刀具中心在X X方向上的方向上的 半轴长度半轴长度#7#7=#13*SIN#6;=#13*SIN#6;任意层时刀具中心在任意层时刀具中心在Z Z方向上的半轴长度方向上的半轴长度#8=1-#7*#7/#13*#13;#8=1-#7*#7/#13*#13; 8 8的表达式是为了简化计算的表达式是为了简化计算Y Y向半轴向半轴1010而设而设#10#10=SQRT#8*#12*#12;=SQRT#8*#12
20、*#12; 任意层时刀具中心在任意层时刀具中心在Y Y方向上的半轴长度方向上的半轴长度#5=0;#5=0;圆周初始角赋值圆周初始角赋值#15#15=#9*COS#5;=#9*COS#5;根据椭圆方程序计算根据椭圆方程序计算X X坐标值坐标值#16#16=-#10*SIN#5;=-#10*SIN#5; 计算计算Y Y坐标值坐标值21O2003;O2003;椭圆柱粗加工程序椭圆柱粗加工程序G28; G28; (回原点)(回原点)T02M06;T02M06;(直径(直径24mm)24mm)G54;G54;G90G00X48.Y50.M03S800;G90G00X48.Y50.M03S800;工件工件
21、外围外围的加工起点的加工起点G43 Z50.H02;G43 Z50.H02;G01Z15.F200;G01Z15.F200;#1=40.;#1=40.;长半轴(长半轴(X X)#2=30.;#2=30.;短半轴(短半轴(Y Y)#3=15.;#3=15.;工件上平面坐标工件上平面坐标N50 G00Z#3-5.;N50 G00Z#3-5.;每层下刀每层下刀5mm5mmG01G41X#1Y0D02;G01G41X#1Y0D02;建立半径补偿至建立半径补偿至X X半轴顶点半轴顶点#103=360.;#103=360.;角度变量赋初值角度变量赋初值N100 #104=#1*COS#103;N100 #
22、104=#1*COS#103;X X坐标值变量坐标值变量#105=#2*SIN#103;#105=#2*SIN#103; Y Y坐标值变量坐标值变量G01X#104 Y#105;G01X#104 Y#105;椭圆加工椭圆加工#103=#103-1.;#103=#103-1.;角度每次增量为角度每次增量为1 1度度IF#103GE0GOTO100;IF#103GE0GOTO100;角度大于或等于角度大于或等于0 0,返回,返回N100N100段执行循环段执行循环G00Z20.;G00Z20.;G40X48.Y50.;G40X48.Y50.;回到加工起点回到加工起点#3=#3-5.;#3=#3-5
23、.;每层平面坐标值减每层平面坐标值减5mm5mmIF#3GE-8.GOTO50;IF#3GE-8.GOTO50;G00Z50.;G00Z50.;M05;M05;M30;M30;22半椭球体精加工宏程序半椭球体精加工宏程序O1032;O1032; #1=40.;#1=40.;椭圆球面在椭圆球面在X X方向上的半轴长度方向上的半轴长度a a为为4040#2=30.; #2=30.; 椭圆球面在椭圆球面在Y Y方向上的半轴长度方向上的半轴长度b b为为3030#3=15.; #3=15.; 椭圆球面在椭圆球面在Z Z方向上的半轴长度方向上的半轴长度c c为为1515#4=4.;#4=4.;刀具半径(
24、球头铣刀)为刀具半径(球头铣刀)为4 4#17=2.;#17=2.;环绕椭圆一周时的角度递增量为环绕椭圆一周时的角度递增量为2 2#18=1.5.;#18=1.5.;自下而上分层时角度递增量为自下而上分层时角度递增量为1.51.5(能整除)(能整除)M03S1500;M03S1500;N05 G00X0Y0Z#3+15.;N05 G00X0Y0Z#3+15.;快速移到椭圆球面中心上方快速移到椭圆球面中心上方#11=#1+#4;#11=#1+#4;刀具中心在椭圆球面刀具中心在椭圆球面X X方向上的最大半轴长度方向上的最大半轴长度aa#12=#2+#4; #12=#2+#4; 刀具中心在椭圆球面刀
25、具中心在椭圆球面Y Y方向上的最大半轴长度方向上的最大半轴长度bb#13=#3+#4; #13=#3+#4; 刀具中心在椭圆球面刀具中心在椭圆球面Z Z方向上的最大半轴长度方向上的最大半轴长度cc#6=0; #6=0; 自下而上分层时角度自变量,赋初始值为自下而上分层时角度自变量,赋初始值为0 0(起点与(起点与X X轴重合,轴重合, 终点为终点为90度)度)WHILE#6LT90DO1;WHILE#6LT90DO1;当当#6#6小于小于9090,即还没到,即还没到Z Z向椭圆顶时,循环向椭圆顶时,循环1 1继续继续#9=#11*COS#6;#9=#11*COS#6; 根据椭圆参数方程根据椭圆
26、参数方程, ,计算任意层时(随计算任意层时(随#6#6的角度变化)刀具中心的角度变化)刀具中心 在在X方向上的半轴长度方向上的半轴长度#7=#13*SIN#6;#7=#13*SIN#6; 任意层时(刀具中心在任意层时(刀具中心在Z Z方向上的半轴长度方向上的半轴长度) )#8=1-#7*#7/#13*#13;#8=1-#7*#7/#13*#13;8 8的表达式是为了简化计算的表达式是为了简化计算Y Y向半轴向半轴1010而设而设23#10=SQRT#8*#12*#12; #10=SQRT#8*#12*#12; 任意层时刀具中心在任意层时刀具中心在Y Y方向上的半轴长度方向上的半轴长度N10 G
27、00X#9+#4Y#4;N10 G00X#9+#4Y#4; XYXY轴移到切入起点坐标(让出刀具半径距离轴移到切入起点坐标(让出刀具半径距离) )N20 Z#7-#4;N20 Z#7-#4;Z Z轴移到层的加工平面轴移到层的加工平面N30 G03 X#9 Y0 R#4 F300;N30 G03 X#9 Y0 R#4 F300;圆弧切入圆弧切入#5=0;#5=0;圆周初始角赋值圆周初始角赋值WHILE#5LE360.DO2;WHILE#5LE360.DO2;当当5 5小于或等于小于或等于360360度,循环度,循环2 2继续,完成一周的铣削继续,完成一周的铣削#15=#9*COS#5;#15=#
28、9*COS#5;根据椭圆方程序计算根据椭圆方程序计算X X坐标值坐标值#16=-#10*SIN#5;#16=-#10*SIN#5;计算计算Y Y坐标值坐标值N40 G01X#15Y#16F2000;N40 G01X#15Y#16F2000;直线拟合插补段直线拟合插补段#5=#5+#17;#5=#5+#17;圆周角度递增量赋值圆周角度递增量赋值END2;END2;椭圆每层圆周加工循环结束椭圆每层圆周加工循环结束N50 G03X#9+#4Y-#4R#4;N50 G03X#9+#4Y-#4R#4; 圆弧切出圆弧切出N60 G00Z#7-#4+1.;N60 G00Z#7-#4+1.;Z Z轴提刀轴提刀
29、N70 Y#4;N70 Y#4;Y Y轴从切出点移到切入起点轴从切出点移到切入起点#6=#6+#18;#6=#6+#18;分层角度递增量赋值分层角度递增量赋值END1;END1;循环循环1 1结束结束N80 G00Z#3+30.;N80 G00Z#3+30.;提刀至安全高度提刀至安全高度M05;M05;主轴停主轴停M30;M30;程序结束程序结束24例例5使用平底铣刀,以螺旋铣使用平底铣刀,以螺旋铣削方式在实体上加工圆孔内削方式在实体上加工圆孔内型腔。型腔。工件原点为圆孔中心上平面,绝对工件原点为圆孔中心上平面,绝对值编程。循环加工路线为:值编程。循环加工路线为: 根据圆孔直径、刀具直径及步根
30、据圆孔直径、刀具直径及步距所计算的螺旋加工次数确定每次距所计算的螺旋加工次数确定每次螺旋下刀坐标,每次从螺旋下刀坐标,每次从1 1处以开始处以开始螺旋铣削一周,每一周螺旋下刀进螺旋铣削一周,每一周螺旋下刀进给一个深度,到达预定孔深度后,给一个深度,到达预定孔深度后,刀具向中心移动刀具向中心移动1mm1mm后快提刀,再后快提刀,再移到移到2 2处开始螺旋铣削,依次类推,处开始螺旋铣削,依次类推,直到完成精加工。直到完成精加工。25O5018;O5018;螺旋铣圆孔宏程序螺旋铣圆孔宏程序G54;G54;G00X0Y0Z10.;G00X0Y0Z10.;M03S800;M03S800;#1=100;
31、#1=100; 圆孔直径圆孔直径#2=15; #2=15; 圆孔深度圆孔深度#3=16; #3=16; 刀具直径刀具直径#4=0; #4=0; Z Z向下刀起始点坐标向下刀起始点坐标#17=2; #17=2; 每次螺旋每次螺旋Z Z向切深,即层间距向切深,即层间距#5=0.8*#3; #5=0.8*#3; 以刀具直径计算步距(以刀具直径计算步距(12.812.8)#6=#1-#3;#6=#1-#3;精加工时刀具中心回转直径(最大直径精加工时刀具中心回转直径(最大直径8484)#7=FIX#6/#5;#7=FIX#6/#5; 在在XYXY平面内螺旋次数,刀中心最大回转直径平面内螺旋次数,刀中心最
32、大回转直径#6#6除以步距除以步距#5#5,并上取,并上取 整数(整数(84/12.884/12.86.56256.5625,取整为,取整为7 7)#8=FIX#7/2;#8=FIX#7/2;换成以半径计算坐标时的加工次数取上整数为换成以半径计算坐标时的加工次数取上整数为4 4次次WHILE#8GE0DO1; WHILE#8GE0DO1; 判断加工次数是否判断加工次数是否#80#80,即还没完成粗加工,则循环,即还没完成粗加工,则循环1 1继续继续 ,(在循环最后要对,(在循环最后要对#8#8进行递减,进行递减,#8#8#8-1#8-1)#10=#6/2-#8*#5;#10=#6/2-#8*#
33、5; XYXY平面内每次螺旋加工时在平面内每次螺旋加工时在X X向的起点坐标值(绝对值,此例中分别向的起点坐标值(绝对值,此例中分别是是X3.6X3.6,X16.4X16.4,X29.2X29.2,X42X42,),)26G00X#10;G00X#10; 快速移到每次螺旋加快速移到每次螺旋加X X坐标起点坐标起点Z1.;Z1.; 快速定位到工件上平面快速定位到工件上平面1mm 1mm 处处G01Z0.G01Z0.F#9*0.2; F#9*0.2; 工进速度接近加工平面工进速度接近加工平面#4=0; #4=0; Z Z向加工坐标初始值。一定要放在循环语句之前向加工坐标初始值。一定要放在循环语句之
34、前WHILE#4LT#2DO2;WHILE#4LT#2DO2; 判断判断Z Z向坐值变量向坐值变量#4#4是否小于孔深是否小于孔深#2#2的值,如还没到孔底则循环的值,如还没到孔底则循环2 2继续继续#4=#4+#17; #4=#4+#17; 依次递增依次递增Z Z向切深向切深#17#17的值,重新对的值,重新对Z Z向坐标赋值。向坐标赋值。G03I-#10Z-#4F#9;G03I-#10Z-#4F#9; 螺旋铣削程序段,螺旋铣削程序段,G03G03逆时针螺旋加工至下一层逆时针螺旋加工至下一层END2; END2; 循环循环2 2结束,当螺旋加工到孔底时,继续执行该段后的程序结束,当螺旋加工到
35、孔底时,继续执行该段后的程序G03I-#10; G03I-#10; 到达圆孔深度逆时针整圆铣削,平整加工孔底到达圆孔深度逆时针整圆铣削,平整加工孔底G01X#10-1.; G01X#10-1.; 沿沿X X向圆孔中心移动向圆孔中心移动1mm1mmG00Z30.;G00Z30.; 快速提刀快速提刀#8=#8-1.;#8=#8-1.;XYXY平面内螺旋加工次数依次减至平面内螺旋加工次数依次减至0 0END1; END1; 循环循环1 1结束,加工次数依次减至结束,加工次数依次减至0 0则加工完成则加工完成M30;M30;27例例6 正多边形周边斜面加工正多边形周边斜面加工设计思路:设计思路: 设计
36、正多边形外轮廓斜面、倒角或锥台的加工宏程序。设计正多边形外轮廓斜面、倒角或锥台的加工宏程序。以平底立铣刀实现边数为以平底立铣刀实现边数为n n边的外轮廓周边斜面自下而上环绕分层加工边的外轮廓周边斜面自下而上环绕分层加工能通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放能通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形。位置的正多边形。为编程方便,将编程起始点,即多边形的一个顶点为编程方便,将编程起始点,即多边形的一个顶点A A放在放在X X水平轴上,要加工出水平轴上,要加工出所要求的摆放位置,用所要求的摆放位置,用G68G68指令进行坐标系
37、旋转,旋转角度为指令进行坐标系旋转,旋转角度为OAOA与与OAOA的夹角)的夹角)根据标准正多边形的各边长总是相等,边长之间的夹角也相同的规律,用极坐根据标准正多边形的各边长总是相等,边长之间的夹角也相同的规律,用极坐标编程方式,循环完成每一边的加工。标编程方式,循环完成每一边的加工。28 以五边形为例,如图所示,工件坐标系设在多边形中心的上平面,以刀具中心点以五边形为例,如图所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程,编程起始点为编程,编程起始点为X X轴上的轴上的A A点,用点,用G68G68指令进行坐标系旋转。以顺铣方式(顺时针指令进行坐标系旋转。以顺铣方式(顺时针方向)由
38、下而上分层加工。方向)由下而上分层加工。(1 1)初始变量的设置)初始变量的设置#1#1正多边形的边数正多边形的边数 #2#2多边形外接圆的直径多边形外接圆的直径#3#3周边斜面的高度尺寸值周边斜面的高度尺寸值 #4#4刀具半径(平底立铣刀)刀具半径(平底立铣刀)#5 #5 Z Z向加工起始点坐标,为自变量,初始值向加工起始点坐标,为自变量,初始值Z0Z0#7#7斜面与垂直面的夹角斜面与垂直面的夹角 #15#15分层加工的层间距分层加工的层间距#23#23OAOA与水平与水平X X轴的正向夹角轴的正向夹角29(2 2)宏程序中变量及表达式)宏程序中变量及表达式每层正多边形的加工:每层正多边形的
39、加工:加工每层多边形采用极坐标编程,首先要计算加工每条边的极角和极半径,加工每层多边形采用极坐标编程,首先要计算加工每条边的极角和极半径,#10#10、#11#11、#12#12变量的含义与计算表达式:变量的含义与计算表达式:(1 1)#10#10,夹角,夹角。在多边形中心与某边中点做一连线。在多边形中心与某边中点做一连线OCOC,OCOC与与ODOD之间的夹角之间的夹角设为设为变量变量#10#10,赋值表达式为:,赋值表达式为:#10=360/#10=360/(2*#12*#1); ;(180180度除以边数)度除以边数)(2 2)以刀具中心点编程,要计算出极半径)以刀具中心点编程,要计算出
40、极半径OAOA,需确定,需确定AOB AOB 中中OBOB的边长,计算的边长,计算OBOB边长边长首先要确定首先要确定OCOC边长:边长:在在OCDOCD中,已知中,已知(#10#10),边长),边长ODOD(外接圆(外接圆半径,半径,#2/2#2/2),根据余弦),根据余弦COSCOS等于邻边比斜边,即等于邻边比斜边,即COSCOSOC/ODOC/OD,那么:,那么:OCOCOD*COSOD*COS#2/2* #2/2* COS#10COS#10#11#11,OBOB边长。在边长。在AOBAOB中,中,OBOBOCOCBCBC(刀具半(刀具半径径r r为为#4#4),设),设OBOB边长为变
41、量边长为变量#11#11,赋值表达式为:,赋值表达式为:#11=#2/2*COS#10+#4;#11=#2/2*COS#10+#4;#12#12,极半径,极半径OAOA边长。边长。那么在那么在AOBAOB中,已知中,已知OBOB和和,余弦,余弦COSCOS等于邻边等于邻边比斜边的定义,即比斜边的定义,即COSCOSOB/OAOB/OA,那么:,那么:OAOAOB/COSOB/COS,设,设OAOA变量变量#12#12,赋值表达式为,赋值表达式为:#12=#11/COS#10;#12=#11/COS#10;30(3 3)周边斜面的加工)周边斜面的加工关键点是每层的正多边形外接圆随着高度的上升而缩
42、小,即每层的极半径关键点是每层的正多边形外接圆随着高度的上升而缩小,即每层的极半径OAOA在变在变化,极角不变。如图所示,计算每层多边形的极半径化,极角不变。如图所示,计算每层多边形的极半径OAOA的表达式如下:的表达式如下:#18#18,OBOB边长边长。首先确定首先确定OBOB边长,边长,OBOB边长等于边长等于OBOB(#11#11)减去图中的)减去图中的BCBC边边长,在长,在ABCABC中,已知中,已知(#7(#7)和)和AC(#5AC(#5)边长,根据正切函数)边长,根据正切函数TANTAN等于对边比等于对边比邻边定义,即邻边定义,即BCBCAC*TANAC*TAN, ,那么那么O
43、BOB边长赋值表达式为:边长赋值表达式为: #18#18=#11-#5*TAN#7;=#11-#5*TAN#7;#19#19,每层多边形的极半径,每层多边形的极半径OAOA的赋值表达式为:的赋值表达式为:#19=#18/COS#10;#19=#18/COS#10;31(4 4)转移循环设计)转移循环设计每层以极角变化次数循环加工边数每层以极角变化次数循环加工边数#17=1;#17=1;极角变化次数,初始值为极角变化次数,初始值为1 1WHILE#17LE#1DO2;WHILE#17LE#1DO2;极角变化次数小(等)于边数,循环极角变化次数小(等)于边数,循环2 2继续继续G01X#19 Y0
44、-#17*#10*2;G01X#19 Y0-#17*#10*2;极坐标,每加工一边极角依次递减极坐标,每加工一边极角依次递减22#17=#17+1;#17=#17+1;极角变化次数递增到边数即结束循环极角变化次数递增到边数即结束循环END2;END2;深度分层加工循环次数深度分层加工循环次数WHILE#5LE#3DO1;WHILE#5LE#3DO1;加工高度循环判断加工高度循环判断#5=#5+#15;#5=#5+#15;每层加工坐标递增层间距值每层加工坐标递增层间距值32O5016;O5016;正多边形斜面宏程序正多边形斜面宏程序#1=5; #1=5; 正多边形的边数赋值正多边形的边数赋值#2
45、=80.; #2=80.; 正多边形外接圆的直径赋值正多边形外接圆的直径赋值#3=6.; #3=6.; 周边斜面的高度尺寸值赋值周边斜面的高度尺寸值赋值#4=8.; #4=8.; 刀具半径(平底立铣刀)赋值刀具半径(平底立铣刀)赋值#5=0; #5=0; Z Z向加工起始点坐标,设为自变量,赋初始值向加工起始点坐标,设为自变量,赋初始值Z0Z0#7=15;#7=15;斜面与垂直面的夹角赋值斜面与垂直面的夹角赋值#15=2.; #15=2.; 分层加工的层间距赋值分层加工的层间距赋值#23=18; #23=18; 正多边形旋转角度赋值正多边形旋转角度赋值S1000M03;S1000M03;G54
46、G90G00X0Y0Z30.;G54G90G00X0Y0Z30.;G68X0Y0R#23;G68X0Y0R#23;坐标系旋转坐标系旋转G17G90G16;G17G90G16;极坐标编程极坐标编程#10=180/#1; #10=180/#1; 计算角度计算角度,180180除以边数除以边数#11=#2/2*COS#10+#4;#11=#2/2*COS#10+#4;计算最外圈正多边形计算最外圈正多边形OBOB边长边长#12=#11/COS#10; #12=#11/COS#10; 计算最外圈加工起点的极半径计算最外圈加工起点的极半径OAOA边长(刀中心)边长(刀中心)N11 G00 X#12Y0;N
47、11 G00 X#12Y0; 极坐标编程,快速移到最外圈加工起始点极坐标编程,快速移到最外圈加工起始点A AN12 Z2.N12 Z2. ; ;接近加工平面接近加工平面33N13 G01 Z-#3;N13 G01 Z-#3;进给下刀到斜面底部(自下而上)进给下刀到斜面底部(自下而上)WHILE#5LE#3DO1;WHILE#5LE#3DO1;当分层加工还未到斜面顶部时,循环当分层加工还未到斜面顶部时,循环1 1继续继续#18=#11-#5*TAN#7;#18=#11-#5*TAN#7;计算每层加工的计算每层加工的OBOB边长(计算边长(计算OAOA的条件,随的条件,随#5#5变化)变化)#19
48、=#18/COS#10;#19=#18/COS#10;计算每层加工的极半径计算每层加工的极半径OAOA边长边长N21 G01Z-#3+#5F1000.;N21 G01Z-#3+#5F1000.; 进给上升到上一层的起始点进给上升到上一层的起始点Z Z坐标(随坐标(随#5#5变化)变化)N22 X#19 Y0;N22 X#19 Y0;进给移到当前层的进给移到当前层的XYXY平面起始点平面起始点#17=1;#17=1;极角变化次数,初始值为极角变化次数,初始值为1 1WHILE#17LE#1DO2;WHILE#17LE#1DO2; 当极角变化次数小或等于正多边形边数,循环当极角变化次数小或等于正多
49、边形边数,循环2 2继续继续N23 G01 X#19 Y0-#17*#10*2;XN23 G01 X#19 Y0-#17*#10*2;X极径,极径,Y Y为极角,顺时针加工为负(每边的夹为极角,顺时针加工为负(每边的夹角为角为22)#17=#17+1; #17=#17+1; 极角变化次数递增到边数即结束循环极角变化次数递增到边数即结束循环END2;END2;当前层每边加工循环当前层每边加工循环#5=#5+#15;#5=#5+#15;层加工层加工Z Z向加工起始点坐标依次增加层间距向加工起始点坐标依次增加层间距END1;END1;分层加工循环分层加工循环G00Z30.;G00Z30.;G15;M30;G15;M30;34END谢谢大家!大家!35