资源描述
个人收集整理 勿做商业用途
第五章FANUC 0I 系统数控铣床宏编程实例
5.1特殊曲线轮廓零件的编程
零件的轮廓加工,既包括简单几何轮廓零件的加工,又包括特殊曲线几何轮廓零件的加工.
对于由直线和圆弧组成的简单几何轮廓零件的加工,编程人员可直接用零件图上给定的已知条件,或经过简单的数学计算,可获得基点坐标值,直接编写出零件的加工程序。
对于特殊曲线轮廓零件的编程,采用一般的编程方法,通常编程人员计算量较大,有时并不能得到某些基点的精确坐标,这是在编程过程中的难点所在,对于这一类特殊曲线轮廓零件的加工,这里仅介绍轮廓曲线的方程式为已知时,可采用宏程序编程的方法,既大大减小了计算量,又具有一定的通用性,在工程中具有一定的适应性.
5.1.1 椭圆形零件的轮廓编程
(1)零件图分析
如图5—1所示,编制一个宏程序加工椭圆的外轮廓。毛坯尺寸φ110×40mm.材料为45钢。已知椭圆的长半轴为50mm,椭圆短半轴为40mm,加工椭圆轮廓的高度为20mm.
图5-1
(2)工艺分析
1)程序原点及工艺路线
采用三爪自定心夹盘装夹,工件坐标系原点设定在工件上表面中心处。
2)变量设定
#1=(A) *椭圆长半轴长
#2=(B) *椭圆短半轴长
#3=(C) *椭圆轮廓的高度
#4=(I) *四分之一圆弧切入的半径
#7=(D) *平底立铣刀半径
#9=(F) *进给速度
#11=(H) *Z方向自变量赋初值
#17=(Q) *自变量每层递增量
3)刀具选择
φ20平底立铣刀
(3)参考程序
主程序:
O0511;
G28 G91 Z0.;
G17 G40 G49 G80;
S1200 M03;
G54 G90 G00 X0。 Y0。;
G43 H01 Z30。;
G65 P1511 A50. B40. C20. I20.
D10。 H0. Q2. F300.;
M05;
M03;
子程序:
O1511;
G00 X0. Y—[#2+#4]; *定位到起刀点上方
WHILE[#11GT-#3] DO1; *当#11>—#3时,循环1继续
#11=#11—#17; *铣刀Z方向的坐标值
Z#11; *Z向快速进刀到#11处
G01G41 X#4 D01 F#9; *加入刀具半径左补偿
G03 X0. Y-#2 R#4 F#9; *圆弧切入到椭圆起点
#12=—90。; *椭圆角度自变量赋初值
WHILE[#12GT-450。] DO2; *当#12〉-450.时,循环2继续
#12=#12—0。5; *角度#12减0.5度
#21=#1*COS[#12]; *角度#12时的椭圆X方向坐标值
#22=#2*SIN[#12]; *角度#12时的椭圆X方向坐标值
G01 X#21 Y#22; *椭圆加工
END2; *循环2结束
G03 X—#4 Y-[#2+#4] R#4; *圆弧切出
G00 G40 X0。; *取消刀具半径补偿
END1; *循环1结束
G00 Z30.; *刀具返回初始平面
M99; *程序结束返回
(4)本题回顾:
5.1。2角度线段的轮廓编程
(1)零件图分析;
如图5-2所示,编制一个宏程序加工角度线段的形外轮廓。
(2)工艺分析
1)程序原点及工艺路线
2)变量设定
3)刀具选择
(3)参考程序
(4)本题回顾
5.1.3正多边形零件的轮廓编程
(1)零件图分析
如图5—3所示,编制一个宏程序加工标准正六边形外轮廓.毛坯尺寸φ100×40mm,材料为45钢。已知正六边形的内切圆半径40mm,正六边形的轮廓高度为20mm。
图5—3
(2)工艺分析
1)程序原点及工艺路线
采用三爪自定心夹盘装夹,工件坐标系原点设定在工件上表面中心处。
2)变量设定
#1=(A) *正N边形的边数
#2=(B) *正N边形的内切圆半径
#3=(C) *正N边形的高度
#4=(I) *四分之一圆弧切入的半径
#7=(D) *平底立铣刀半径
#9=(F) *进给速度
#11=(H) *Z方向自变量赋初值
#17=(Q) *自变量每层递增量
3)刀具选择
φ20平底立铣刀
(3)参考程序:
主程序:
O0513;
G28 G91 Z0.;
G17 G40 G49 G80;
S1200 M03;
G54 G90 G00 X0。 Y0。;
G43 H01 Z30.;
G65 P1513 A6. B40. C20. I10。 D10。 H0. Q2。 F300.;
M05;
M30;
子程序;
O1513;
#10=360/#1; *正N边形的圆心角
#5=#2+#7; *初始刀位点到原点距离
#6=#5/COS[#10/2]; *刀具运动轨迹的正N边形外接圆半径
G00 X#4 Y-[#5+#4]; *快速移至四分之一圆弧起刀点
Z[#11+1。]; *快速下降至当前加工平面#11+1。处
WHILE[#11GT—#3] DO1; *当#11>#3时,循环1继续
#11=#11-#17; *铣刀Z方向的坐标值
G01 Z#11 F[0.2*#9]; *Z向直线插补到当前加工深度
G03 X0。 Y—#5 R#4 F#9; *四分之一圆弧切入
#12=0; *刀具加工的边数赋初值
WHILE[#12LT#1] DO2; *当#12<#1时,循环2继续
#20=-[90+#10/2]-#12*#10; *刀具与圆心连线和X轴所成夹角
#21=#6*COS[#20]; *刀具中心X坐标值
#22=#6*SIN[#20]; *刀具中心Y坐标值
G01 X#21 Y#22 F#9; *沿轮廓走刀
#12=#12+1; *加工边数加1
END2; *结束循环2
X0.; *G01到X0.
G03 X—#4 Y—[#5+#4] R#4 F[2*F#9]; *四分之一圆弧切出
G01 X#4; *G01走刀到X#4
END1; *结束循环1
G00 Z30.; *快速提刀到初始平面
M99; *程序结束返回
(4)本题回顾:
5.1。4SIN曲线形零件的轮廓编程
(1)零件图分析
如图5—4所示,编制一个宏程序加工其外形轮廓.毛坯尺寸80mm×60mm×25mm,材料为45钢。零件外轮廓由直线、椭圆弧及正弦曲线构成,已知椭圆长半轴长30mm,短半轴长20mm,正弦曲线方程为Y=10xsin(πx/30),轮廓加工厚度为8mm。
Y=10xsin(πx/30)
图5-4
(2)工艺分析
1)程序原点及工艺路线
采用平口钳装夹,工件坐标系原点设定在工件上表面中心处。
2)变量设定
加工椭圆时:
#1=(A) *椭圆长半轴长
#2=(B) *椭圆短半轴长
#3=(C) *椭圆轮廓高度
#7=(D) *铣刀半径
#9=(F) *进给速度
#11=(H) *Z方向自变量赋初值
#17=(Q) *自变量每层递增量
#24=(X) *椭圆中心X坐标
#25=(Y) *椭圆中心Y坐标
加工正弦曲线时:
#1=(A) *正弦曲线的振幅
#3=(C) *正弦曲线轮廓高度
#7=(D) *铣刀半径
#9=(F) *进给速度
#11=(H) *Z方向自变量赋初值
#17=(Q) *自变量每层递增量
#24=(X) *正弦中心X坐标
#25=(Y) *正弦中心Y坐标
3)刀具选择
Φ16平底立铣刀
(3)参考程序:
主程序:
O0514;
G91 G28 Z0.;
G17 G40 G49 G80;
S1200 M03;
G54 G90 G00 X0。 Y—45。;
G43 H01 Z3。;
G01 Z0。 F100.;
M98 P41514;
G00 Z30。;
G65 P2514 X0. Y—35。 D8。 H0. Q2. F300。
A30。 B20. C8.;
G65 P3514 X—30. Y15. D8。 H0. Q2. F300.
A10。 C8。;
M05;
G91 G28 Y0.;
M30;
子程序(加工矩形四边):
O1514;
G91 G01 Z—2.0 F100.;
G90 Y-35。 F360.;
X-40。;
Y35.;
X40。;
Y-35.;
X0。;
Y—45.;
M99;
子程序:(加工椭圆):
O2514;
G52 X#24 Y#25; *在椭圆中心处建立局部坐标系
G00 X0。 Y0。; *快速移动到局部坐标系零点位置
Z[#11+1。]; *快速下降至当前加工平面#11+1.处
WHILE[#11GT-#3] DO1; *当#11>—#3时,执行循环1
#11=#11-#17; *铣刀Z方向的坐标值
G01 Z#11 F[0。2*#9]; *Z向直线插补到当前加工深度
#12=0; *椭圆角度自变量赋初值
WHILE[#12LE180。] DO2; *当#12≤180时,执行循环2
#21=#1*COS[#12]; *角度#12时的椭圆X方向坐标值
#22=#2*SIN[#12]; *角度#12时的椭圆Y方向坐标值
G01 G41 X#21 Y#22 D01 F#9; *加入刀具补偿沿椭圆轮廓走刀
#12=#12+0.5; *角度#12加0.5度
END2; *结束循环2
G00 G40 X0。 Y0。; *取消刀补
END1; *结束循环1
G00 Z30。; *快速提刀到初始平面
G52 X0. Y0。; *取消局部坐标系
M99; *程序结束返回
子程序(加工正弦曲线)
O3514;
G52 X#24 Y#25; *在正弦曲线起点处建立局部坐标系
WHILE[#11GT-#3] DO1; *当#11>-#3时,执行循环1
G00 X-20. Y—20.; *快速移动到局部坐标系X-15。 Y0.位置
Z[#11+1.]; *快速下降至当前加工平面#11+1。处
#11=#11-#17; *铣刀Z方向的坐标值
G01 Z#11 F[0。2*#9]; *Z向直线插补到当前加工深度
#12=0; *正弦曲线角度自变量赋初值
WHILE[#12LE60。] DO2; *当#12≤60时,执行循环2
#21=#12; *角度#12时的正弦曲线X方向坐标值
#22=10*SIN[180.*#12/30]; *角度#12时的正弦曲线Y方向坐标值
G01 G41 X#21 Y#22 D01 F#9; *加入刀补沿正弦曲线轮廓走刀
#12=#12+0。5; *角度#12加0.5度
END2; *结束循环2
G91G01 G40 X10. Y10。; *取消刀补
G00 G90 Z3.; *快速提刀至当前加工平面#11+3.处
END1; *结束循环1
G00 Z30.; *快速提刀到初始平面
G52 X0。 Y0.; *取消局部坐标系
M99; *程序结束返回
(4)本题回顾:
本课题中工件轮廓由正弦曲线和椭圆弧构成,这两条曲线的编程是本题的难点之一。
另一关键点所在是在加工正弦曲线时刀具半径值的选择。
在工程技术中,有时需要考虑曲线的弯曲程度,常用曲线的曲率和曲率半径来对其弯曲程度进行描述。本例中,为避免在正弦曲线加工过程中因刀具半径过大而造成零件轮廓的干涉现象,需对正弦曲线曲率半径最小处(即正弦曲线波峰、波谷处)的曲率半径进行计算,从而选择正确的刀具半径值。
下面对曲线的曲率半径的计算过程作简单的介绍:
工程上,用曲率K表示曲线的弯曲程度.K越大,则表示曲线的弯曲程度越大;K越小,则表示曲线的弯曲程度越小。
若已知曲线方程y=f(x),而有曲率的近似计算公式K≈︱y〞︱
而曲率半径ρ表示在曲线上该点的曲率圆的半径值,ρ=1/K
本例中,正弦曲线Y=10xsin(πx/30),在波峰(X=15处)、波谷(X=45处)曲率K最大,即曲率半径ρ最小.
计算这两点处K≈︱y〞︱= π2/90
ρ=1/K≈9.128(mm) *曲率最大处的最大曲率半径值
为避免在加工过程中的干涉现象,所选刀具的半径值必须小于曲率最大处的最大曲率半径值9.128mm,所以本例在加工过程中选用Φ16mm平底立铣刀.
加工矩形
椭圆弧加工
正弦曲线的加工
5。2孔的零件编程
5。2。1按环形规律分布的孔系零件编程
(1)零件图分析
如图5—5所示,编制一个宏程序加工沿圆周均匀分布的孔群.圆周的半径为30mm,起始角为15°,间隔为30°,钻孔个数为7,圆的中心坐标为(80,60)。
图5-5
2)工艺分析
1)程序原点及工艺路线
工件坐标系原点设定在距圆心在X方向—80mm,Y方向-60mm的位置。
2)变量设定
#1=(A) *第一孔的角度A
#2=(B) *增量角B
#4=(I) *圆半径I
#9=(F) *进给速度
#11=(H) *孔数
#18=(R) *安全平面高
#24=(X) *圆心在坐标系下的X坐标值
#25=(Y) *圆心在坐标系下的Y坐标值
#26=(Z) *孔深
3)刀具选择
A3中心钻
(3)参考程序:
主程序:
O0521;
G91 G28 Z0.;
G17 G40 G49 G80;
S1200 M03;
G54 G90 G00 X0。 Y0。;
G43 H01 Z30.;
G65 P1521 X80。 Y60。 Z—8。 R3. F100.
A15。 B30. I30. H7.;
M05;
M30;
子程序
O1521;
#3=1; *孔序号计数值(即从第一个孔开始)
WHILE[#3LE#11] DO1; *当#3≤#11时,循环1继续
#5=#1+[#3—1]*#2; *第#3个孔对应的角度
#6=#24+#4*COS[#5]; *第#3个孔中心X的坐标值
#7=#25+#4*SIN[#5]; *第#3个孔中心Y的坐标值
G99 G81 X# 6Y#7 Z#26 R#18 F#9; *G81加工第#3个孔并返回R平面
#3=#3+1; *孔序号#3递增1
END1; *循环1结束
G00 G80 Z30.; *取消固定循环并返回初始平面
M99; *程序结束返回
(4)本题回顾:
工程上经常会使用一些按环形规律(如圆弧)均匀分布的联接孔,而这些孔在零件图上往往是不直接给出每个中心点坐标值的,在编程过程中,需要逐点计算。即使可以采用极坐标编程,若圆心不在原点上,计算量也会很大,因此增加了编程人员的工作量,使用时也不太方便。
本例中采用宏程序编程,即大大减少了计算量,又具有一定的通用性和适应性。
5。2.2按平行四边形规律分布的孔系零件编程
(1)零件图分析
如图5—6所示,编制一个宏程序加工按平行四边形规律分布的孔系零件.已知各孔横向孔距为20mm,纵向孔距为25mm,与X轴夹角为20°,与Y轴夹角为10°,第一孔的中心坐标值为(40,30)。
图5-6
(2)工艺分析
1)程序原点及工艺路线
工件坐标系原点设定在距第一孔在X方向-40mm,Y方向—30mm的位置。
2)变量设定
#1=(A) *矩阵孔横向中心连线的夹角
#2=(B) *矩阵孔横向与纵向中心线夹角角度
#4=(I) *矩阵孔的行数
#5=(J) *矩阵孔的列数
#6=(K) *矩阵孔的横向中心距
#7=(D) *矩阵孔的纵向中心距
#9=(F) *进给速度
#18=(R) *安全平面高
#24=(X) *圆心在坐标系下的X坐标值
#25=(Y) *圆心在坐标系下的Y坐标值
#26=(Z) *孔深
3)刀具选择
φ10钻头
(3)参考程序:
主程序:
O0522;
G91 G28 Z0.;
G17 G40 G49 G80;
G54 G90 G00 X0. Y0.;
G43 H01 Z30.;
S900 M03;
G65 P1522 X40。 Y30. Z—15。 R3. F100。
A20. B60。 I4. J5. K20。 D25。;
M05;
M30;
子程序:
O1522;
G52 X#24 Y#25; *在第一行第一孔处建立局部坐标系
G17 G68 X0。 Y0. R#1; *以孔1—1为中心坐标系旋转#1角度
G00 X0. Y0。; *快速移动到局部坐标系零点位置
#10=1; *行数赋初值
WHILE[#10LE#4] DO1; *当#10≤#4时,循环1继续
#11=1; *列数赋初值
WHILE[#11LE#5] DO2; *当#10≤#5时,循环2继续
IF[[#10AND1] EQ0] GOTO10; *如果#10为偶数时,跳转至N10
#21=#6*[#11—1]+#7*[#10-1]*COS[#2]; *奇数行孔的X坐标值
#22=#7*[#10-1]*SIN[#2]; *奇数行孔的Y坐标值
GOTO20; *无条件转移到N20
N10 #21=#6*[#5-#11]+#7*[#10—1]*COS[#2]; *偶数行孔的X坐标值
#22=#7*[#10—1]*SIN[#2]; *偶数行孔的Y标值
N20 G99 G81 X#21 Y#22 Z#26 R#18 F#9; *G81方式钻孔
#11=#11+1; *#11递增1
END2; *结束循环2
#10=#10+1; *#10递增1
END1; *结束循环1
G00 G80 Z30.; *取消固定循环并提刀到初始平面
G69; *取消坐标系旋转
G52 X0。 Y0.; *取消极坐标系
G00 X0。 Y0。; *快速移动到原坐标系零点
M99; *程序结束并返回
(4)本题回顾:
工程上有些孔是按平行四边形(或矩阵)规律分布的,如果行数和列数不多时,可采用增量值重复编程。但当行数或列数较多时,用增量值编程较为复杂,可采用宏程序编程,使程序简洁、省时,并具有一定的通用性和适应性。
本例加工过程中,为节省加工时间,减少空走刀路线,需考虑钻孔过程中的走刀路线。本题选择的为行走刀路线,即H11- H12—……— H15- H25— H14—……H11— H31— H12—……— H15— H25-……- H41.(其中Hij表示第i行第j列上的孔)
在工程上有些孔群的孔的行数、列数、行距、孔距是多样的,在此将最短路线的计算过程作以简单介绍,使读者在加工此类孔群时的路线选择有所参照。
i—-孔群行数
j--孔群列数
k——横向孔距
d—-纵向孔距
Hij—-第i行第j列上的孔
横向折返走刀的距离S1=i*(j-1)*k+(i-1)*d
纵向折返走刀的距离S2=j*(i—1)*d+(j—1)*k
S1— S2= [i*(j-1)*k+(i—1)*d]-[j*(i—1)*d+(j—1)*k]
=[(i-1)*(j—1)]*[k—d]
因为i、j均大于1,所以
当k=d时,S1=S2两种方式距离相等;
当k〉d时,S1〉S2纵向折返走刀距离短,优先选择;
当k〈d时,S1<S2横向折返走刀距离短,优先选择。
由上可得:走刀路线的长短取决于孔群横纵向相邻两孔间的距离。
5。2.3按椭圆规律等角度分布的不等深的孔系零件编程
工程上有些孔是以特殊曲线(如椭圆)规律分布的,而这些孔在零件图上往往是不直接给出每个中心点的坐标值的,如果采用一般的编程方法,需要逐点计算坐标值,增加了编程人员的计算量。当这些孔不等深时,更是大大的增加了编程人员的工作量。
这一类的孔系零件加工,可采用宏程序编程的方法,即大大减小了计算量,又具有一定的通用性和适应性。
(1)零件图分析
如图5—7所示,编制一宏程序加工按椭圆规律等角度分布的孔系,孔深按如图5—8所示的正弦曲线Z=5sin(α+30)-10变化。椭圆长半轴长50mm,短半轴长30mm,第一孔的起始角为15°,相邻两孔与中心线连线的夹角为30°,孔数12个.
图5—7
X
Z
Z=5SIN(X+30)-10
图5—8
(2)工艺分析
1)程序原点及工艺路线
选择工件上表面中心为工件坐标系原点。
2)变量设定
#1=(A) *起始角度
#2=(B) *各孔间的角度间隔
#3=(C) *椭圆长半轴长
#4=(I) *椭圆短半轴长
#5=(J) *加工孔个数
#9=(F) *进给速度
#11=(H) *加工孔数赋初值
#17=(Q) *G83方式钻孔的每次钻深
#18=(R) *安全平面高
3)刀具选择
φ8钻头
(3)参考程序:
主程序:
O0523;
G91 G28 Z0.;
G17 G40 G49 G80;
G54 G90 G00 X0。 Y0.;
G43 H01 Z30.;
S1200 M03;
G65 P1523 A15。 B30. C50. I30。 J12. H1. Q5. R3. F80.;
M05;
M30;
子程序:
O1523;
WHILE[#11LE#5] DO1; *当#11≤#5时,循环1继续
#10=#1+#2*[#11-1]; *#11孔所对应的角度
#21=#3*COS[#10]; *#11孔的X坐标值
#22=#4*SIN[#10]; *#11孔的Y坐标值
#23=-10+5*SIN[#10+30]; *#11孔的Z坐标值
G99 G83 X#21 Y#22 Z#23 R#18 Q#17 F#9; *G83方式钻孔
#11=#11+1; *孔数加1
END1; *结束循环1
G00 G80 Z30.; *取消固定循环并返回初始平面
M99; *程序结束并返回
(4)本题回顾:
本课题的难点在于孔群是按椭圆形曲线等角度均匀分布的,并且孔深是按照正弦曲线的方式变化的,在编程的过程中,需重点考虑。
Z方向孔深的正弦分布图
5。3内腔类零件的编程
5。3.1圆形零件的内腔编程
(1)零件图分析
如图5-9所示,编制一个宏程序加工圆形零件的内腔。毛坯为100mm×100mm×25mm,材料为45钢。已
展开阅读全文