1.毛坯为四方块,分粗加工(椭圆柱)和精加工(椭圆半球体); 2.粗加工以椭圆轮廓自上而下分层加工,刀具为平底立铣刀;
3.精加工时,加工路线,以自下而上0-90间等角度分层。每层以圆弧切入切出,根据当前层的长短半轴以椭圆轮廓水平环绕加工,直至椭圆球顶完成椭圆球面加工。 工件坐标系原点设在椭圆球体的中心,以球头刀的球心轨迹编程(不用刀具半径补偿),球头铣刀加工,对刀点为球刀底平面(非球心)。
O2003;椭圆柱台阶粗加工程序
FANUC 0I系统B类宏程序 G28; T02M06; G; G90G00X48.Y50.M03S800; G43Z50.H02; G01Z15.F200; #1=40.; #2=30.; #3=15.; N50G00Z[#3-5.]; G01G41X#1Y0D02; #103=360.; N100#104=#1*COS[#103]; #105=#2*SIN[#103]; G01X#104Y#105; #103=#103-1.; IF[#103GE0]GOTO100; G00Z20.; SIEMENS系统R参数程序 T01M06; G; G90G00X48.Y50.M03S800; Z50.; G01Z15.F200; R1=40.; R2=30.; R3=15.; XN50:G00Z=R3-5.; G01G41X=R1Y0D01; R103=360.; XN100: R104=R1*COS(R103); R105=R2*SIN(R103); G01X=R104Y=R105; R103=R103-1.; IF R103>=0 GOTOB XN100; --精品
(直径24mm) G; 工件外加工起点 长半轴(X) 短半轴(Y) 工件上平面坐标 每层下刀5mm 建立半径补偿至X半轴顶点 角度变量赋初值360 X坐标值变量 Y坐标值变量 椭圆加工 角度每次增量为1度 如果角度大于0,循环继续 精品--
G40X48.Y50.; #3=#3-5.; IF[#3GE-8.]GOTO50; G00Z50.; M05; M30; 1.变量符号为# 2.表达式用[ ]括号 3.循环(跳转)标志为段号 4.循环判断语句IF GOTO 5.运算符:EQ等于、NE不等于、GT大于、GE大于或等于、LT小于、LE 小于或等于 G00Z20.; 回到加工起点 G40X48.Y50.; 每层平面坐标值减5mm R3=R3-5.; 未到Z-8.循环继续 IF R3>=-8. GOTOB XN50; G00Z50.; M05; M30; 1.变量符号为R 2.表达式用( )括号 3.循环(跳转)标志为两个字母加数字加冒号 4.循环判断语句IF GOTOB 5.运算符:=、<>、>、>=、<、<= 6.R2中的2不能带小数点 7.IF GOTO语句字符间必空格
椭圆半球体精加工宏程序(变量参数设计见零件图)
O1032; #1=40.; 椭圆球面在X方向上的半轴长度a为40 #2=30.; 椭圆球面在Y方向上的半轴长度b为30 #3=15.; 椭圆球面在Z方向上的半轴长度c为15 #4=4.; 刀具半径(球头铣刀)为4 #17=2.; 环绕椭圆一周时的角度递增量为2 #18=1.5.; 自下而上分层时角度递增量为1.5(能整除) M03S1500;
N05G00X0Y0Z[#3+15.]; 快速移到椭圆球面中心上方 #11=#1+#4; 刀具中心在椭圆球面X方向上的最大半轴长度a’ #12=#2+#4; 刀具中心在椭圆球面Y方向上的最大半轴长度b’ #13=#3+#4; 刀具中心在椭圆球面Z方向上的最大半轴长度c’ #6=0; 自下而上分层时角度自变量,赋初始值为0(起点与X轴重合,终点为90度)
WHILE[#6LT90]DO1; 当#6小于或等于90,即还没到Z向椭圆顶时,循环1继续 #9=#11*COS[#6]; 根据椭圆参数方程,计算任意层时(随#6的角度变化)刀心在X向上的半轴长度
#7=#13*SIN[#6]; 任意层时(刀具中心在Z方向上的半轴长度 #8=[1-[#7*#7]/[#13*#13]]; #8的表达式是为了简化计算Y向半轴#10而设 #10=SQRT[#8*#12*#12]; 任意层时刀具中心在Y方向上的半轴长度 N10 G00X[#9+#4]Y#4; XY轴移到切入起点坐标 N20 Z[#7-#4]; Z轴移到层的加工平面 N30 G03X#9Y0R#4F300; 圆弧切入 #5=0; 圆周初始角赋值 WHILE[#5LE360]DO2; 当#5小于360度,循环2继续,完成一周的铣削
--精品
精品--
#15=#9*COS[#5]; 根据椭圆方程序计算X坐标值 #16=-#10*SIN[#5]; 计算Y坐标值 N40 G01X#15Y#16F2000; 直线拟合插补段 #5=#5+#17; 圆周角度递增量赋值 END2; 椭圆每层圆周加工循环结束 N50 G03X[#9+#4]Y-#4R#4; 圆弧切出 N60 G00Z[#7-#4+1.]; Z轴提刀 N70 Y#4; Y轴从切出点移到切入起点 #6=#6+#18; 分层角度递增量赋值 END1; 循环1结束 N80 G00Z[#3+30.]; 提刀至安全高度 M05; 主轴停 M30; 程序结束 第二种方法:
1206;高20,原点在-20mm.球刀半径4,自上而下 #1=0
#2=20;短半轴 #3=30;长半轴 #4=1 #5=90
WHILE [#5GE #1] DO1 #6=#3*COS[#5]+4 #7=#2*SIN[#5] G01X#6 Z#7 #8=360 #9=0
WHILE[#9LE#8]DO2 #10=#6* COS[#9] #11=#6*SIN[#9]*2/3 G01X#10Y#11 #9=#9+1 END1 #5=#5-#4 END2 M30
正多边形外轮廓宏程序
编制正多边形外轮廓加工宏程序,能实现边数为n边(n=3,4,5,6,8,9,10,12等,n能被360整除即可)的外轮廓自上而下环绕分层加工,同时通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形(如图5-24所示,为编程方便,我们将编程起始点,即多边形的一个顶点A放在X水平轴上,要加工出所要求的摆放位置,需用G68指令进行坐标系旋转,旋转角度为OA与OA’的夹角)。
--精品
精品--
A'A'旋转(#23=90)旋转(#23=18)未旋转五边形旋转(#23=45)A'A0未旋转三边形0A0转四边形A未旋
图5-24
现以五边形为例,如图5-25所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程(不用半径补偿功能),编程起始点为X轴上的A点,以顺铣方式(顺时针方向),根据标准正多边形的各边长总是相等,边长之间的夹角也相同的规律,用极坐标编程方式,循环完成每一边的加工。多边形宏程序的加工路线和变量设计如下:
oDβACB
图5-25
1)初始变量的设置:
#1=__; 正多边形的边数 #2=__; 正多边形外接圆的直径 #3=__; 轮廓加工的高度尺寸值 #4=__; 刀具半径(平底立铣刀) #5=__; Z向加工起始点坐标,设为自变量,赋初始值Z0(工件上平面) #15=__; 分层加工的层间距 #23=__; 正多边形旋转角度(正三角形为90,正四边形为45) 2)宏程序中变量及表达式 要应用极坐编程,需计算极半径和极角,如图5-25所示。
(1)#10,夹角β。
在多边形中心与某边中点做一连线OC,OC与OD之间的夹角β设为变量#10,赋值表达式为:#10=180/#1;(180除以边数)
(2)我们以刀具中心点编程,要计算出极半径OA,需确定△AOB 中OB的边长,计算OB边长首先要确定OC边长: ①在△OCD中,已知∠β(#10),边长OD(外接圆半径,#2/2),根据三角函数定义,余
--精品
精品--
弦COS等于邻边比斜边,即COSβ=OC/OD,那么: OC=OD*COSβ=#2/2* COS[#10] ②#11,OB边长。
在△AOB中,OB=OC+BC(刀具半径r为#4),设OB边长为变量#11,赋值表达式为:#11=#2/2*COS[#10]+#4; ③#12,极半径OA边长。
那么在△AOB中,已知OB和∠β,余弦COS等于邻边比斜边的定义,即COSβ=OB/OA,那么:OA=OB/COSβ,设OA变量#12,赋值表达式为: #12=#11/COS[#10]; (3)转移循环设计
①以极角变化次数循环加工边数 #17=1; 极角变化次数,初始值为1
WHILE[#17LE#1]DO2; 当极角变化次数小于正多边形边数,循环2继续 G01 Y[-#17*[#10*2]]; 极坐标,旋转编程顺时加工正多形的一个边长,Y为极角,每加
工一边极角依次递减2β
#17=#17+1; 极角变化次数递增到边数即结束循环 END2;
②深度分层加工循环次数
WHILE[#5LE#3]DO1; 加工深度循环判断 ……
#5=#5+#15; 每层加工坐标递增层间距值 END1;
现以边数为5边形,外接圆的直径为80,五边形轮廓台阶高为6mm,用刀具半径为8mm的平底立铣刀,每层加工间距为2mm,编程加工旋转18°后的正五边形宏程序。
O0004;
G15G69G17; #1=5; 正多边形的边数 #2=80.; 正多边形外接圆的直径 #3=6.; 轮廓加工的高度尺寸值 #4=8.; 刀具半径(平底立铣刀) #5=0; Z向加工起始点坐标,设为自变量,赋初始值Z0 #15=2.; 分层加工的层间距 #23=18; OA与水平X轴的正向夹角(正三角形为90,正四边形为45,正六边形为0)
GG90X0Y0Z30.M03S800; 移动工件原点 G68X0Y0R#23; 以多边形中心为中心进行坐标系旋转#23的角度 G16; 极坐标编程 #10=180/#1; 计算角度β,180除以边数 #11=#2/2*COS[#10]+#4; 计算OB边长,(计算OA的条件) #12=#11/COS[#10]; 计算加工起点的极半径,OA边长 X#12Y0; 快速移到加工起点A WHILE[#5LE#3]DO1; 加工深度循环判断 G00Z[-#5+1]; 下刀到加工平面上方1mm处 G01Z-#5F200; 刀具进给移到加工平面坐标位置(初始起点Z0,自上而下)
--精品
精品--
#17=1; 极角变化次数,初始值为1 WHILE[#17LE#1]DO2; 当极角变化次数小于正多边形边数,循环2继续 G01 Y[-#17*[#10*2]]; 极坐标,X极径不变,Y为极角(每加工一边极角依次递减2β)
#17=#17+1; 极角变化次数递增到边数即结束循环 END2;
#5=#5+#15; 每层加工坐标递增层间距值 END1; 到达Z向加工深度,跳出循环1 G00Z30.; 提刀 G15; 取消极坐标方式 G69; 取消坐标系旋转 M30;
正多边形外轮廓铣斜面、倒角、锥台宏程序
设计正多边形外轮斜面、倒角和锥台的加工宏程序,以立铣刀实现边数为n边的外轮廓自下而上环绕分层加工出周边斜面,如图5-26所示。
A'00图5-26 正多边形斜面加工
同时能通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形,为编程方便,我们将编程起始点,即多边形的一个顶点A放在X水平轴上,要加工出所要求的摆放位置,需用G68指令进行坐标系旋转,旋转角度为OA与OA’的夹角)。 现以五边形为例,如图5-27所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程,编程起始点为X轴上的A点,用G68指令进行坐标系旋转。以顺铣方式(顺时针方向)由下而上分层加工。
--精品
精品--
A'βAB'B图5-27 多边形斜面宏程序
1)初始变量的设置,与多边形外轮廓宏程序中一样,各参数号相对应,仅增加斜面与垂直面的夹角α,设变量为#7。 #1=__; 正多边形的边数 #2=__.; 正多边形外接圆的直径 #3=__; 周边斜面的高度尺寸值 #4=__; 刀具半径(平底立铣刀) #5=__; Z向加工起始点坐标,设为自变量,赋初始值Z0 #7=__; 斜面与垂直面的夹角 #15=__.; 分层加工的层间距
#23=__; OA与水平X轴的正向夹角(正三角形为90,正四边形为45,正六边形为0) 2)宏程序中变量及表达式
在正多边形周边斜面宏程序中,完成一圈(首办加工最外圈)的#10、#11、#12变量的含义与计算表达式与正多边形轮廓加工宏程序中一样。
要实现正多边形周边斜面的加工,关键点是每层的正多边形外接圆随着高度的上升而缩小,即每层的极半径OA在变化,极角不变。如图5-28所示,计算每层多边形的极半径OA’的表达式如下:
oB'#18#5#3α#7ACB 图5-28 ①#18,OB’边长。首先确定OB’边长,OB’边长等于OB(#11)减去图中的BC边长,在△ABC中,已知∠α(#7)和AC(#5)边长,根据正切函数TAN等于对边比邻边定义,即BC=AC*TANα,那么OB’边长赋值表达式为: #18==#11-#5*TAN[#7];
②#19,每层多边形的极半径OA’的赋值表达式为:
--精品
精品--
#19=#18/COS[#10]; (3)转移循环设计
①每层以极角变化次数循环加工边数 #17=1; 极角变化次数,初始值为1 WHILE[#17LE#1]DO2; 当极角变化次数小于正多边形边数,循环2继续 G01X#19 Y[0-#17*[#10*2]]; 极坐标,每加工一边极角依次递减2β #17=#17+1; 极角变化次数递增到边数即结束循环 END2;
②深度分层加工循环次数 WHILE[#5LE#3]DO1; 加工高度循环判断 ……
#5=#5+#15; 每层加工坐标递增层间距值 END1;
O5016; 宏程序名 #1=5; 正多边形的边数赋值 #2=80.; 正多边形外接圆的直径赋值 #3=6.; 周边斜面的高度尺寸值赋值 #4=8.; 刀具半径(平底立铣刀)赋值 #5=0; Z向加工起始点坐标,设为自变量,赋初始值Z0 #7=15; 斜面与垂直面的夹角赋值 #15=2.; 分层加工的层间距赋值 #23=18; 正多边形旋转角度赋值 S1000M03;
GG90G00X0Y0Z30.; G68X0Y0R#23; 坐标系旋转 G17G90G16; 极坐标编程 #10=180/#1; 计算角度β,180除以边数 #11=#2/2*COS[#10]+#4; 计算最外圈正多边形OB边长 #12=#11/COS[#10]; 计算最外圈加工起点的极半径OA边长 N11 G00 X#12Y0; 快速移到最外圈加工起始点A N12 Z2. ; 接近加工平面 N13 G01 Z-#3; 进给下刀到斜面底部(自下而上)
WHILE[#5LE#3]DO1; 当分层加工还未到斜面顶部时,循环1继续 #18=#11-#5*TAN[#7]; 计算每层加工的OB’边长(计算OA的条件,随#5变化) #19=#18/COS[#10]; 计算每层加工的极半径OA’边长 N21 G01Z[-#3+#5]F1000.; 进给上升到上一层的起始点Z坐标(随#5变化) N22 X#19 Y0; 进给移到当前层的XY平面起始点
#17=1; 极角变化次数,初始值为1 WHILE[#17LE#1]DO2; 当极角变化次数小于正多边形边数,循环2继续 N23 G01 X#19 Y[0-#17*[#10*2]];X极径,Y为极角(每加工一边极角依次递减2β)
#17=#17+1; 极角变化次数递增到边数即结束循环 END2; #5=#5+#15; 层加工Z向加工起始点坐标依次增加层间距
--精品
精品--
END1; G00Z30.; G15; M30;
铣圆孔
使用平底铣刀,以螺旋铣削方式在实体上粗、精加工圆孔内型腔。工件原点为圆孔中心上平面,绝对值编程。循环加工路线为:根据圆孔直径、刀具直径及步距所计算的螺旋加工次数确定每次螺旋下刀坐标,每次从1处以开始螺旋铣削一周,每一周螺旋下刀进给一个深度,到达预定孔深度后,刀具向中心移动1mm后快提刀,再移到2处开始螺旋铣削,依次类推,直到完成精加工。
O5018; G;
G00X0Y0Z10.; M03S800;
#1=100; 圆孔直径 #2=15; 圆孔深度 #3=16; 刀具直径
#4=0; Z向下刀起始点坐标
--精品
精品--
#17=2; 每次螺旋Z向切深,即层间距 #5=0.8*#3; 以刀具直径计算步距(12.8)
#6=#1-#3; 精加工时刀具中心回转直径(最大直径84)
#7=FIX[#6/#5]; 在XY平面内螺旋次数,刀具中心最大回转直径#6除以步距#5,并上取整数(84/12.8=6.5625,取整为7)
#8=FIX[#7/2]; 以半径计算坐标时的加工次数,取上整数(7/2=3.5,取整为4次) WHILE[#8GE0]DO1; 判断加工次数是否#8≥0,即还没完成精加工,则循环1继续,(在循环最后要对#8进行递减,#8=#8-1)
#10=#6/2-#8*#5; XY平面内每次螺旋加工时在X向的起点坐标值(绝对值,分别是X3.6,X16.4,X29.2,X42,)
G00X#10; 快速移到每次螺旋加X坐标起点 Z1.; 快速定位到工件上平面1mm 处 G01Z0.F[#9*0.2]; 工进速度接近加工平面
#4=0; Z向加工坐标初始值。一定要放在循环语句之前
WHILE[#4LT#2]DO2;判断Z向坐值变量#4是否小于孔深#2的值,如还没到孔底则循环2继续
#4=#4+#17; 依次递增Z向切深#17的值,重新对Z向坐标赋值。 G03I-#10Z-#4F#9; 螺旋铣削程序段,G03逆时针螺旋加工至下一层 END2; 循环2结束,当螺旋加工到孔底时,继续执行该段后的程序 G03I-#10; 到达圆孔深度逆时针整圆铣削,平整加工孔底
--精品
精品--
G01X[#10-1.]; 沿X向圆孔中心移动1mm G00Z30.; 快速提刀
#8=#8-1.; XY平面内螺旋加工次数依次减至0 END1; 循环1结束,加工次数依次减至0则加工完成 M30;
铣内孔圆弧角
O5020;
GG90G40G49; G43G00Z10.H3M03S800; X0Y0M08; G01Z0;
#1=100;圆孔直径 #3=16;刀具直径 #17=5;圆弧角半径
#16=[#1-#3]/2+#17; 加工圆弧角上平面最大外圈时刀中心X坐标 G01X#16F60; XY平面定位倒角的加工起点
#11=0; Z轴起始深度赋值,工件上平面,自上而下分层加工
--精品
精品--
#12=-#17; Z轴最终深度赋值(圆角Z向终点,值为圆角半径) N20#13=#17+#11; 每层的高度值(半径值加上#11,#11随层变化) #14=SQRT[#17*#17-#13*#13]; 每层刀尖接点X方向到圆角圆心的值 #15=#16-#14; 刀中心每层X方向绝对坐标值
G01X#15Y0Z#11F1000; 进给至每层圆弧面的X、Y、Z轴起点, G02I-#15J0; G02整圆铣削加工一层
#11=#11-0.05; Z坐标每次下降层间距0.05mm
IF[#11GE#12]GOTO20; 当深度未到时,转移到N20程序段 G00G49Z50; M30;
华中倒圆角宏程序:(通过)项目:华中M铣孔R圆角 CHEHELAN O5020;
GG90G40G49; G00Z10.M03S800; X0Y0M08; G01Z0; #1=50 #3=16
--精品
精品--
#17=5
#16=[#1-#3]/2+#17 G01X[#16]F60 #11=0 #12=-#17
WHILE #11 GE #12 N20 #13=#17+#11
#14=SQRT[#17*#17-#13*#13] #15=#16-#14
G01 X[#15] Y0 Z[#11]F1000 G02 I[-#15]; #11=#11-0.05; ENDW; G00G49Z50; M30;
%1205
G;华中项目(华中椭圆和半径补偿)G90G00X48.Y50.M03S800; G43Z50.H02; G01Z15.F200; #1=40.;
--精品
精品--
#2=30.;
#3=15.;工件原点离上平面15mm G00Z[#3-5.];
G01G41X[#1]Y0D01; #103=360.;
N100 WHILE #103 GE 0; #104=#1*COS[#103*PI/180]; #105=#2*SIN[#103*PI/180]; G01X[#104]Y[#105]; #103=#103-1.; ENDW; G00Z20.; G40X48.Y50.; G00Z50.; M05; M30;
%8002; 项目(华中宏M四方斜台)
#10=10. 华中圆和与X轴成10度角的四方宏程序 #11=10.0 #12=124.0 #13=124.0 N01 G
N05 G00 Z10.0 #0=0
N06 G00 X[-#12] Y[-#13] N07 Z[-#10] M03 S600 WHILE #0 LT 3
N[08+#0*6] G01 G42 X[-#12/2] Y[-175/2] F280.0 D[#0+1];径值
N[09+#0*6] X[0] Y[-175/2] N[10+#0*6] G03 J[175/2]
N[11+#0*6] G01 X[#12/2] Y[-175/2] N[12+#0*6] G40 X[#12] Y[-#13] N[13+#0*6] G00 X[-#12] Y[-#13] #0=#0+1 ENDW
N100 Z[-#10-#11]
#2=175/SQRT[2]*COS[55*PI/180] #3=175/SQRT[2]*SIN[55*PI/180] #4=175*COS[10*PI/180] #5=175*SIN[10*PI/180] #0=0
WHILE #0 LT 3
--精品
可分别调D01D02D03半
精品--
N[101+#0*6] G01 G90 G42 X[-#2] Y[-#3] F280.0 D[#0+1] N[102+#0*6] G91 X[+#4] Y[+#5] N[103+#0*6] X[-#5] Y[+#4] N[104+#0*6] X[-#4] Y[-#5] N[105+#0*6] X[+#5] Y[-#4]
N[106+#0*6] G00 G90 G40 X[-#12] Y[-#13] #0=#0+1 ENDW
G00 X0 Y0 M05 M30
内圆角宏程序(铣)
O0555; G91G28Z0; G; M6T3;
--精品
精品--
S800M3;
G52Z10.216;(将工件原点移动球心) G90G00X0.Y0.;
G0G43Z5.H04;(显示Z15.216) #1=30;球半径 #2=5;平底铣刀半径
#100=-15.216;球面终止高度(球上平面距球心Z坐标) #101=-23.216; 球面起始高度(球下平面距球心Z坐标) G00Z[#101+1];
WHILE[#101LE#100]DO1;
#102=SQRT[#1*#1-#101*#101]-#2;刀中心在每层的X坐标 G01Z#101;(显示Z-13.) G01X[#102]F1000;(第一刀X14.) G17G02I[-#102]F1500; #101=#101+0.02;
END1;(结束停在X20.843Z4.980) M30;
二次曲线(有心:椭圆、、双曲线、无心:抛物线)定义:
--精品
精品--
(摆线、渐开线、螺线等为非圆曲线)
二次曲线在立体几何上都是由一平面以不同角度与标准圆锥面相割而得到的截面线,又称之为圆锥锥曲线。
从动点M到定点F的距离MF与到定直线l的距离MN之比为定值e(ε离心率). 当0<e <1时,则动点M的轨迹是椭圆, 当e>1时,是双曲线。 当e=1时,抛物曲线?
抛物线宏程序(车):
平面内与一个定点F和一条定直线l的距离相等的点的轨迹叫做抛物线。 定点F叫做抛物线的焦点。定直线l 叫做抛物线的准线。
其中p为正常数,它的几何意义是焦点到准线的距离
--精品
精品--
O8002; T0101; #10=0; #11=0; M03S600;
--精品
精品--
G00X50.Z10.;
WHILE[#10LE10]DO1; G90G01X[2*#10]Z-[#11]F100; #10=#10+0.08; #11=#10*#10/10; END1; M05; M30
--精品
精品--
变量编程与车削加工
z2a21x2b2 za*(122x2b2) za*1x2b2
--精品
精品--
变量(R参数设置):
#1:短轴变量(a),变量值为23,#1=23; #2:长轴变量(b),变量值为50,#2=23;
#3:毛坯大小变量(半径值),初始值为最大毛坯半径值,#3=25;
粗加工X向吃刀量2mm,每次重新赋值表达式为:#3=#3-2;
同时#3变量做为粗加工时的是否到达X0(轴线)的判断条件,格式为:IF[#3GT0]GOTO5;
#4:精加工时以Z向(长轴)变量值(起点到椭圆中心的距离),初始值为50,(起
点、工件原点、椭圆长轴端点三者重合)#4=50;
根据每刀Z向移动步距0.15mm,每次重新赋值表达式为:#4=#4-0.15;
同时#4变量做为精加工时的是否到达终点的判断条件,格式为:IF[#4GE0]GOTO10
#5:粗加工每次进2mm时刀具处于某X值时,与椭圆的相交点到椭圆中心的距离,
可根据椭圆标准公式计算,Z=b*(1x/a)表达式为:#5=#2*SQRT[1-#3*#3/[#1*#1]];
22#6:精加工时,Z向每移动一个步距,刀具处于椭圆上某点的X值,
X2a1Z2/b2,表达式为:#6=2*#1*SQRT[1-#4*#4/[#2*#2]];
--精品
精品--
FANUCOi系统 B类宏程序 程序如下: O8102; T0101; G00X52.Z5.M03S800; #1=23.; #2=50.; #3=25.; #4=50.; N5; #5=#2*SQRT[1-#3*#3/[#1*#1]]; G01X=2*#3+1.F150; Z=#5-#2; G00Z2.; #3=#3-2.; N10; #6=2*#1*SQRT[1-#4*#4/[#2*#2]]; G01G42X=#6Z=#4-#2; N20#4=#4-0.15; N30IF[#4GE0]GOTO10; N40G01X60.; Z20.; N50M30; 1. 变量符号为# 2. 表达式用[ ]括号 3. 循环(跳转)标志为段号 4. 循环判断语句IF GOTO 1.变量符号为R 2.表达式用( )括号 3.循环(跳转)标志为两个字母加数字加冒号 IF[#3GT0]GOTO5; SIEMENS系统 R参数程序 程序如下: Che8102 T01D01 G00X52.Z5.M03S800; R1=23.; R2=50.; R3=25.; R4=50.; CN5:; /(R1*R1)); G01X=2*R3+1.F150; Z=R5-R2; G00Z2.; R3=R3-2.; CN10:; R6=2*R1*SQRT(1-R4*R4/(R2*R2)); G01G42X=R6Z=R4-R2; N20R4=R4-0.15; N30IF R4>=0 GOTOB CN10; N40G01X60.; Z20.; N50M30; 续 精加工开始循环标志 #6为x向变量,计算出z向每移0.15mm时椭圆的x值,直径值。 拟合直线插补,z为绝对坐标值 #4,z向每步进0.15mm 判断是否到达终点(中心点),否则返回N10段继续加工。 IF R3 >0 GOTOB CN5; 值 快速退刀 重赋#3外圆x值,递减2mm 判断#3值,如大于零循环继 R5=R2*SQRT(1-(R3*R3) ; 短轴值 长轴值 毛坯大小(半径值) Z向加工起点至椭圆中心距离, 循环跳转标志,粗加工 #5为z向变量,计算每层外圆与椭圆的交点到椭圆中心距离。 X定位,留精加工余量1mm 加工外圆,长度离原点的绝对--精品
精品--
5. 运算符:EQ等于、NE 不等于、GT大于、GE大于或等于、LT小于、LE 小于或等于 <= 4.循环判断语句IF GOTOB 5.运算符:=、<>、>、>=、<、6.R2中的2不能带小数点 7.IF R4>=0 GOTOB CN10字符间必空格
椭圆的粗精加工。
#4终点距中心距离#6工件原点距中心距离#3起点距中心距离#5x变量#2短轴#1长轴
此宏程序的设计,通过改变#1、#2、#3、#4、及#6号变量,可加工不同长、短轴,工件原点、加工起点、长轴顶点三者重合或不重合的,以及椭圆终点处于任何位置的椭圆轮廓,各变量参数设计如图6-5所示: #1:长轴长度 #2:短轴长度
#3:Z向椭加工起点距离中心的距离,初始值为#3=35,每次移动步距0.2,表达式为:#3=#3-0.2。同时用IF[#3GE#4]GOTO5;判断是否到达终点;
#4:Z向椭圆加工终点至椭圆中心距离,#4=-10。终点在椭圆中心左边为负值,在右边为正值;
#5:X坐标变值,表达式为:#5=2*[#2/#1]*SQRT[#1*#1- #3*#3]; #6:Z向工件原点到椭圆中心到距离 程序如下:
O0012; T0101;
G00 X. Z5. M03 S1200; #1=50.; (长轴) #2=23.; (短轴)
#3=35.;(椭圆加工起点至椭圆中心点Z向距离) #4=-10.;(Z向椭圆加工终点至椭圆中心距离) #6=55.; (Z向椭圆中心到工件原点距离)
--精品
精品--
G01 G42 X28. Z2.; (外圆起点) Z-20.; (加工外圆台阶)
N5 #5=2*[#2/#1]*SQRT[#1*#1- #3*#3]; (计算X坐标值)
G01X=#5 Z=#3-#6.;(直线插补拟合椭圆,Z值为距工件原点的坐标值) #3=#3-0.2; (Z向重新赋值,移动步距0.15) IF[#3 GE #4]GOTO5; (判断是否到达椭圆终点) G01 X60.; (退刀) G00 G40 Z20.; M30;
外轮廓铣圆角????
1.子程序路径基点以变量代替的方法变量号太多,无法实现变化?只能对有规则形状 2.比例缩放改变轮廓不可以,X、Y向及圆弧以工件中心缩放比例不同步 G;
G00X0Y0Z10.; G52X-27.053Y45.; 工件坐标原点偏移至O1点 M98P4444; 加工零1
G51X27.053Y0I-1000; X轴镜像(左到右),I不等于-1000时缩放又进行镜像。 M98P4444; 加工零2 G50; 取消镜像 G52X0Y0; 取消工件坐标原点偏移 G51Z0K666; Z轴缩放加工轮廓台阶(4/6=0.6666)。先缩放后旋转 G68X0Y0R120.; 以工件原点为中旋转120度 M98P4444; 加工零3 G69; 先取消旋转 G50; 再取消缩放
G51X0Y0I1200J1200K1000; 正值且等于1000为缩放,X、Y向缩放1.2倍,Z轴1倍 G68X0Y0R120.; M98P4444; 加工零4
外轮廓铣圆角????
2.改变半径补偿量进行轮廓圆角加工可以,但要在具有刀具补偿存储器C的真实机床中给系统变量1001~1040(刀具补偿值变量),可以读写刀具补偿值。
系统变量用于读和写NC内部数据,例如刀具偏置值和当前位置数据,但是某些系统变量只能读。系统变量是自动控制和通用加工程序开发的基础
--精品
精品--
O33; G28 M06T01;
G0X85.Y-48.M03S800;
#1=-10;层Z高自变量初值 #2=10;圆角半径 #3=8;刀具半径
N1G01Z#1;自下而上 #4=SQRT[#2*#2-#1*#1]; #5=#2-#4;补半径缩进量
#6=#3-#5;层半补偿量,负时会怎样 #13001=#6;重新赋D01的值 G01G41X45.Y-40.D01; M98P5001; #1=#1+0.05;
IF[#1LE0]GOTO1; M30;
程序三:用宏程序编程斜进法加工梯形螺纹
用宏程序编程(有关宏程序内容祥见第六章第一节)斜进法加工30°梯形螺纹,螺距为6mm,牙高3.5mm,牙顶槽宽为3.804mm,牙底槽宽1.928mm,梯形螺纹以直径每层单边0.1mm递进切削,在每层中以Z向逐次递进完成切削,而在每层斜进加工时Z向起点相应的偏移量为0.027mm(在形成的15°三角形中,X向牙高/Z向(牙顶槽宽-牙底槽宽)/2=3.5/(3.804-1.928)/2=3.5/0.938=0.1/0.027),每层加工Z向的总宽度=牙顶槽宽-双边的Z向偏
--精品
精品--
移量-刀宽。
参考程序如下: O6008; ……; T0303; M03 S100; #1=0; #3=36.; #4=10.; #5=1.; #7=29.; N2 #2=[3.804-#1]-[0.0*#5]; #6=#4-[#5*0.027]; #3=36.-[0.2*#5]; N1 G00 X40. Z#6; G00 X#3; G32 Z-40. F6.; G00 X40.; Z#6; #6=#6-0.2; #2=#2-0.2; IF [#2GT0] GOTO1; #5=#5+1; IF[#3GT#7] GOTO2; G00 X100. Z100.; M30;
车端面、外圆面和切槽程序同程序一 刀尖宽0mm 大径 Z向加工起点 X向起始加工层次 小径 每层Z向加工宽度 Z向偏移 X向偏移 螺纹加工,导程6mm 每一层中Z向递进 每一层中Z向终点判别 层次+1 终层加工停止条件判别,以小径尺寸为判别条件 2.3 变导程螺纹的编程与加工
变导程螺纹的应用十分广泛,变导程丝杠就是其中的一个代表,变导程螺纹还用于如饮料罐装机械主传动部分的变导程螺旋杆;在航空传输机械、塑料挤压机械、饲料机械、船舶上的变导程螺旋桨;高速离心泵上的变导程诱导轮、变导程螺旋桨动力装置以及汽车前转向悬挂上的变导程弹簧减振器等方面。用数控车削方法加工变导程螺纹,能够提高生产效率和加工质量。
1.变导程螺纹参数
变导程螺纹是一个导程按某些规律变化的螺纹,如图5-34所示的变导程螺纹,其导程是以增量值△T递增变化的。
--精品
精品--
图5-34 变导程螺纹
加工变导程螺纹时,螺纹车刀切削刃上任意一点的轨迹是一条螺旋线,沿圆周方向展开为一直线,如图5-35所示。图中横坐标为圆周长,纵坐标为导程,由于是变导程螺旋线,相邻圆周直线段的斜率不同,每一直线段的升角增量为△α,其数值为:
△α=arctg{(△T·S)/[S2+Tm(Tm+△T)]} (1)
式中: Tm--任意一段导程(mm);
S--刀具切削刃上任意一点的回转周长(mm); △T--变导程增量(mm)。
根据式(1)可以得出△α与导程增量、导程变化以及螺纹外径变化之间的关系,当△α较大时,为了保证两相邻螺旋线间平滑过渡,采取圆弧或直线连接,因此,整个变导程螺纹由两组曲线组成。对于升角增量较大的变导程螺纹,还须在过渡处修正,如图5-35中放大M处所示。
T312T2MT1Tmα1SSSα2α3
图5-35 圆周方向展开后的螺旋线
2.变导程螺纹的数控编程与加工 变导程螺纹分为二种:一种是等槽变牙宽变导程螺纹(图5-36a),一种是等牙变槽宽变导程螺纹(图5-36b)。
10
a) 槽等牙宽变变导程螺纹 b) 牙等槽宽变变导程螺纹
图5-36 变导程螺纹
数控车床具有变导程螺纹车削的功能。图5-36a所示的第一种槽宽相等、牙宽均匀变化
--精品
精品--
的变导程螺纹,在数控车床上可以用一定宽度的螺纹刀和变导程螺纹的切削指令G34进行加工;第二种变导程螺纹如图5-36b所示,这种变导程螺纹要保证牙宽相等、槽宽均匀变化,加工相对第一种要难些。
1)变导程螺纹的切削指令G34 指令格式:
G34 X(U)__ Z(W)__ F___K±___;
说明: X(U)__ Z(W)__ :是指车削的终点坐标值,其中U、W是指切削终点相对起点的增
量坐标值;
F__:是指螺纹起点处的导程;
K__;是指螺纹每导程的变化量,其增(减)量的范围,在系统参数中设定。 G34指令与螺纹切削G32指令的应用规则相同。在加工时根据具体情况应注意: (1)合理选择刀具宽度;
(2)正确设定F起始值和起刀点的位置;
(3)由于变导程螺纹的螺纹升角随着导程的增大而变大,所以刀具左侧切削刃的后角应为工作后角加上最大螺纹升角ψ,即a0=(3°~ 5°)+ψ。
2)编程示例
示例1 用G34指令编程实现图5-36 a所示槽等牙宽变导程螺纹的加工。螺纹牙形为方牙,螺纹大径已在前工序加工到尺寸。
(1)工艺分析
①选用刀宽为5mm的方牙螺纹车刀T0101,采用直进法分层切削螺纹。粗切削时每
次X向的进刀量为0.3mm。
②螺纹切削起点位置的确定
工件坐标系原点设定在工件右端面中心,变导程螺纹工件上的第一个导程标注是10mm,故刀具起刀点距离端面的距离应该等于8mm(计算为:工件上的第一个导程10mm减去导程变化量2mm)。由此,程序中G34指令的F值应该为8mm。所以选择编程的切削起点为距离端面8mm的位置,变导程螺纹切削加工程序段为:
……;
G34 Z-60. F8. K2. ; ……;
螺纹进行多次重复切削过程中,每次只是程序中的起刀点的X 坐标值不断递进变化,而G34程序段一直是不变的。
③由于要加工螺纹的最大螺距为11mm,螺距较大,因此主轴转速要低,否则,机
床进给会失步。
(2)参考程序 主程序: O5055; T0101; M03 S100; G00 X49.7 Z8.0; M98 P0066; G00 X49.4 Z8.0; M98 P0066; ……; 调用螺纹车刀 刀具快速定位到螺纹加工起点 调用螺纹加工子程序 每次X向递进0.3mm,重复调用螺纹加工子程序进行螺纹粗加工至X40.1 --精品
精品--
G00 X40.06 Z8.0; M98 P0066; G00 X40.02 Z8.0; M98 P0066; G00 X40. Z8.0; M98 P0066; G00 X100. Z100.; M30; 子程序: O0066; G34 Z-60. F8. K2. ; G01 X41. ; G00 Z8. ; M99; 螺纹半精加工 螺纹精加工 刀具返回换刀点 变导程螺纹加工 X向退刀 Z向返回加工起点 示例2 用G34指令编程实现图5-36 b所示等牙变槽宽变导程螺纹的加工。螺纹牙形为方牙,牙顶宽3mm,螺纹大径已在前工序加工到尺寸。
(1)工艺分析
①选用刀宽为2mm的方牙螺纹车刀T0101,采
用直进法分层切削螺纹。粗切削时每次X向的进刀量为0.2mm。
②螺纹切削起点位置的确定
工件坐标系原点设定在工件右端面中心,变导程螺纹工件上的第一个导程标注是
6mm,故刀具起刀点距离端面的距离应该等于5mm。
③等牙变槽宽变导程螺纹的槽宽是按导程增量递增或递减变化的,这就是说在单次
的螺纹切削过程中,刀具经过每个牙时所切到的宽度也应是递增或递减变化,而刀具宽度是一定的,实现加工的方法可通过改变每次切削时的导程F来逐牙轴向递进完成车削。第一刀切削与示例1方法一样,先车出一个等槽变宽牙变导程的螺纹,第二刀之后的螺纹切削仍用G34指令切削,指令格式以及每次切削时的导程计算如下:
指令格式 G34 X(U)__ Z(W)__ F(f0) K(k); G34 X(U)__ Z(W)__ F(f1) K(k); G34 X(U)__ Z(W)__ F(f2) K(k); ……; G34 X(U)__ Z(W)__ F(fn) K(k); 每次切削时的导程计算 f0=f0 f1=f0+k/n f2=f0+2k/n …..; fn=f0+nk/n=f0+k 其中:f0:起始切削等槽变宽牙变导程螺纹的导程值,在本例中为刀具起刀点处的导程,为5mm;
f1:第1次切削等槽变宽牙变导程螺纹的导程值;
fn:第n次切削等槽变宽牙变导程螺纹的导程值,在本例中为5+1=6mm; k:螺纹每导程的变化量,在此示例中k为1;
n:完成等槽变宽牙变导程螺纹切削的总次数,n最小=Ln/T,其中Ln为有效切削范围内最大的槽宽(本例中Ln为8mm),T为刀宽(本例中T为2mm),则本例中n最小=8/2=4,取n=5次;
(2)参考程序(本例采用了宏指令编程,相关内容详见第六章第一节)
--精品
精品--
O5088; N1 T0101; N5 M03 S100; N10 #2=5; N15 #1=35.8; N20 G0 X#1 Z4.; N25 G34 X#1 Z-60. F#2 K1.; N30 G0 X40.; N35 Z4.; N45 #1=#1-0.2; N50 IF [#1 GE 30] GOTO20; N55 #2=#2+0.2; N60 IF[#2LE6] GOTO20; N65 G0 X100.; N70 Z100.; N80 M30;
采用方牙螺纹车刀,刀宽2mm 主轴顺时针100转/分 起始螺距设置为5mm 螺蚊大径¢36 快速移动至起点 变螺距切削K1表示每转螺距增加1mm 每刀切削深度0.2mm 螺蚊小径大于等于30时返回N20程序段 起始螺距增加0.2mm 起始螺距小于等于6时返回N20程序段
O0023;G19平面圆弧轮廓加工主程序(球头刀) G40G17G49G90; G28; M06T05; G52X0Y0Z0;
G90GG40G49X-100.Y-70.;
G43Z20.H05M03S1200;(H值为球心与基准刀之差,对点球心) G90G01Z16.; M98P1122323; G00G40Z50.; M30; %
--精品
精品--
2323;G19平面圆弧左补偿子程序 G01G90G19G41Y-58.Z-8.D05; Y-49.Z-10.; G01Y-40.Z-10.; G02Y40.Z-10.R85.; G01Y60.; G40Y70.Z10.; Y-70.;
G91G01X0.1; G90Z16.; M99; %
0523;工件原点在上平面中心,圆弧心XY向与工件原点重合 G28; T01M06;
GG90G40G49;
G43G00Z100H01M03S800; X0Y-70.M08;
#6=-100;X向起点坐标值(后面加步距) #1=85;圆半径(终止高Z坐标) G52Z-#1;将工件原点偏移到圆弧圆心 #2=8; 平底刀半径
X#6; 移到X向起点坐标值
N1#3=75;起始点Z高坐标值(可根据Y向宽度用公式计算) #5=SQRT[#1*#1-#3*#3]+#2;
G01Y-[#5+20.]F1000;移到Y起点(外) Z#3; 移到Z最低起点
Y-#5;进给移到圆弧Y向起点 N2;负Y圆弧循环,自下而到顶 #3=#3+0.2;
--精品
精品--
#5=SQRT[#1*#1-#3*#3]+#2; G01Y-#5Z#3;
IF[#3LE85]GOTO2;
N3#3=#3-0.2; 正Y圆弧循环,自顶而下 #5=SQRT[#1*#1-#3*#3]+#2; G01Y#5Z#3;
IF[#3GT75]GOTO3;不能用GE G01Y[#5+20.];加工到工件外
G01Z90.;提高,以圆心为工件坐标 G01X#6;
#6=#6+3;X向步距为3mm
IF[#6LT60]GOTO1;X向终点判断 M30;
O0524;直边倒圆角宏程序 G28; T01M06;
GG90G40G49;
G43G00Z100H01M03S800; X0Y-70.M08; #6=-100; #1=10.; G52Z-20.; #2=8; G01X#6; N1#3=0;
#5=SQRT[#1*#1-#3*#3]+#2+50.; G01Y-#5F1000; Z#3; Y-#5; N2;
#3=#3+0.2;
#5=SQRT[#1*#1-#3*#3]+#2+50.; G01Y-#5Z#3;
IF[#3LT10]GOTO2; G01Z21.; G01X#6; #6=#6+3;
IF[#6LT60]GOTO1; M30;
--精品
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务