由于粗、精铣使用不同的主轴转速和不同的进给量,所以需要增加2个变量/参数。此外,还要用一个变量来代表单向精铣量,所以总共要增加3个变量/参数。
O603程序是适用于发那科系统的用整硬螺纹铣刀从下往上分两刀铣成锥管内螺纹的通用宏程序。
图6-4 用整硬螺纹铣刀同向分两刀铣成锥管内螺纹编程用图
a)粗、精都从下往上铣(顺铣) b)粗、精都从上往下铣(逆铣)
O603;
N01 #1=a; (基准面上螺纹大径,可从表1-8和表1-12中查得)
N02 #2=b; (每25.4mm轴向长度上所含螺纹牙数,可从表1-8和表1-12中查得)
N03 #4=i; (基准牙数,可从表1-8和表1-12中查得)
N04 #6=k; (装配余量牙数,可从表1-8和表1-12中查得)
N05 #8=e; (螺尾牙数,选定,一般取2)
N06 #10=p; (单向精铣量)
N07 #11=h; (准备点的Z值)
N08 #12=g; (铣刀上的排屑槽条数,即刃齿排数)
N09 #13=m1; (粗铣时每排刃齿每转进给量,选定)
N10 #23=m2; (精铣时每排刃齿每转进给量,选定)
N11 #18=s1; (粗铣时主轴转速S1,选定)
N12 #19=s2; (精铣时主轴转速S2,选定)
N13 #20=t; (刀具补偿号)
N14 #24=x; (螺纹孔中心在工件坐标系中的X值)
N15 #25=y; (螺纹孔中心在工件坐标系中的Y值)
N21 #21=ROUND[#1∗2]; (一圈分步数,也可不用此式,另外选定)
N22 #22=360/#21; (分步角Δα)
N23 #3=25.4/#2; (螺距)
N24 #5=#4∗#3; (基准长度)
N25 #7=#6∗#3; (装配余量长度)
N26 #9=#8∗#3; (螺尾长度)
N27 #14=#5+#7+#9; (螺纹总深)
N28 #15=#1/2-#14/32; (#15代表精铣时底刃齿在螺纹底面铣削时的半径值)
N29 #16=#3/#21; (每步Z向上升值)
N30 #17=#16/32; (每步半径增大值)
N31 G54G90G95G40G00X0Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N32 D#20S#18M03; (指令刀具半径补偿号,主轴以粗铣的指定转速正转)
N33 G52X#24Y#25; (建立局部坐标系)
N34 X0Y0; (铣刀平移到螺纹孔中心)
N35 G43H#20Z#11; (激活刀具长度补偿,铣刀底面下降到准备点)
N36 Z0; (铣刀底面下降到螺纹顶面)
N37 #32=#15-#10; (#32代表粗铣时底刃齿铣削动点的半径值,此处赋初始值)
N38 Z[-#14-#3/2-#3/2]; (铣刀底刃齿下降到底刃齿粗铣入刀段起点所在的平面)
N39 G41G01X[-#32+#3]F[2∗#12∗#13]; (激活刀具半径补偿,铣刀平移到底刃齿粗铣入刀段起点)
N40 G03X#32Z[-#14-#3/2]R[#32-#3/2]F[#12∗#13/5]; (粗铣螺旋上升入刀)
N41 #28=-#14-#3/2; (底刃齿铣螺纹起点的Z坐标值,此处赋初始值)
N42 #30=0; (动点的α角度值,此处赋初始值)
N43 WHILE[#30LT359.999]DO1; (粗铣循环头,若未铣够一整圈就在循环尾之间循环执行)
N44 #30=#30+#22; (粗铣此步终点的α角度值)
N45 #32=#32+#17; (粗铣此步终点的半径值)
N46 #28=#28+#16; (粗铣此步终点的Z坐标值)
N47 G03X[#32∗COS[#30]]Y[#32∗SIN[#30]]Z#28R[#32-#17/2]F[#12∗#13]; (粗铣螺旋上升走一步)
N48 END1; (粗铣循环尾)
N49 G03X[-#32+#3] Z[-#14+#3∗3/2-#3/2] R[#32-#3/2]F[2∗#12∗#13]; (粗铣螺旋上升出刀)
N50 G00G40X0Y0S#19; (铣刀平移到刀中心与螺纹孔中心重合,主轴以精铣的指定转速正转)
N51 #33=#15; (#33代表精铣时底刃齿铣削一圈起点的半径值)
N52 Z[-#14-#3/2-#3/2]; (铣刀底刃齿下降到底刃齿精铣入刀段起点所在的平面)
N53 G41 G01 X[-#33+#3] F[2∗#12∗#23]; (激活刀具半径补偿,让铣刀平移到底刃齿 精铣入刀段起点)
N54 G03 X#33 Z[-#14-#3/2] R[#33-#3/2] F[#12∗#23/5]; (精铣螺旋上升入刀)
N55 #28=-#14-#3/2; (底刃铣螺纹起点的Z坐标值,此处赋初始值)
N56 #30=0; (动点的α角度值,此处赋初始值)
N57 WHILE[#30LT359.999]DO1; (精铣循环头,若未铣够一整圈就在循环尾之间循环执行)
N58 #30=#30+#22; (精铣此步终点的α角度值)
N59 #33=#33+#17; (精铣此步终点的半径值)
N60 #28=#28+#16; (精铣此步终点的Z坐标值)
N61 G03 X[#33∗COS[#30]] Y[#33∗SIN[#30]] Z#28R[#33-#17/2] F[#12∗#23]; (精铣螺旋上升走一步)
N62 END1; (精铣循环尾)
N63 G03X[-#33+#3] Z[-#14+#3∗3/2-#3/2] R[#33-#3/2] F[2∗#12∗#23]; (精铣螺旋上升出刀)
N64 G00 G40 X0 Y0; (铣刀平移到刀中心与螺纹孔中心重合)
N65 G49 Z#11; (撤销长度补偿,铣刀底面上升到起始位)
N66 G52 X0 Y0; (撤销局部坐标系)
N67 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)
N68 M30;(www.xing528.com)
PP603.MPF程序是适用于西门子802D系统的用整硬螺纹铣刀从下往上分两刀铣成锥管内螺纹的通用宏程序。
PP603.MPF
N01 R1=a; 基准面上螺纹大径,可从表1-8和表1-12中查得
N02 R2=b; 每25.4mm轴向长度上所含螺纹牙数,可从表1-8和表1-12中查得
N03 R4=i; 基准牙数,可从表1-8和表1-12中查得
N04 R6=k; 装配余量牙数,可从表1-8和表1-12中查得
N05 R8=e; 螺尾牙数,选定,一般取2
N06 R10=p; 单向精铣量
N07 R11=h; 准备点的Z值
N08 R12=g; 铣刀上的排屑槽条数,即刃齿排数
N09 R13=m1; 粗铣时每排刃齿每转进给量,选定
N10 R23=m2; 精铣时每排刃齿每转进给量,选定
N11 R18=s1; 粗铣时主轴转速S1,选定
N12 R19=s2; 精铣时主轴转速S2,选定
N13 R20=t; 刀具补偿号
N14 R24=x; 螺纹孔中心在工件坐标系中的X值
N15 R25=y; 螺纹孔中心在工件坐标系中的Y值
N21 R21=ROUND(R1∗2); R21代表一圈分步数,也可不用此式,另外选定
N22 R22=360/R21; R22代表分步角Δα
N23 R3=25.4/R2; R3代表螺距
N24 R5=R4∗R3; R5代表基准长度
N25 R7=R6∗R3; R7代表装配余量长度
N26 R9=R8∗R3; R9代表螺尾长度
N27 R14=R5+R7+R9; R14代表铣削总深
N28 R15=R1/2-R14/32; R15代表精铣时底刃齿在螺纹底面铣削时的半径值
N29 R16=R3/R21; R16代表每步Z向上升值
N30 R17=R16/32; R17代表每步半径增大值
N31 G54G90G95G40G00X0Y0; 设定工件坐标系用每转进给平移到工件XY平面原点
N32 T1 D=R2 0S=R18M03; 指令刀具半径补偿和长度补偿号,主轴以粗铣的指定转速正转
N33 TRANSX=R24Y=R25; 零点偏移
N34 X0 Y0; 铣刀平移到螺纹孔中心
N35 Z=R11; 铣刀底面下降到准备点
N36 Z0; 铣刀底面下降到螺纹顶面
N37 R32=R15-R10; R32代表底粗铣时刃齿铣削动点的半径值,此处赋初始值
N38 Z=-R14-R3/2-R3/2; 铣刀底刃齿下降到底刃齿粗铣入刀段起点所在的平面
N39 G41 G01X=-R32+R3F=2∗R12∗R13; 激活刀具半径补偿,铣刀平移到底刃齿粗铣入刀段起点
N40 G03 X=R32 Z=-R14-R3/2 CR=R32-R3/2F=R12∗R13/5; 粗铣螺旋上升入刀
N41 R28=-R14-R3/2; 底刃铣螺纹起点的Z坐标值,此处赋初始值
N42 R30=0; 动点的α角度值,此处赋初始值
N43 WHILE R30<359.999; 粗铣循环头,若未铣够一整圈就在循环尾之间循环执行
N44 R30=R30+R22; 粗铣此步终点的α角度值
N45 R32=R32+R17; 粗铣此步终点的半径值
N46 R28=R28+R16; 粗铣此步终点的Z坐标值
N47 G03X=R32∗COS( R30)Y=R32∗SIN(R30) Z=R28CR=R32-R17/2F=R12∗R13; 粗铣螺旋上升走一步
N48 ENDWHILE; 粗铣循环结束
N49 G03X=-R32+R3Z=-R14+R3∗3/2-R3/2CR=R32-R3/2F=2∗R12∗R13; 粗铣螺旋上升出刀
N50 G00G40X0Y0 S=R19; 铣刀平移到刀中心与螺纹孔中心重合,主轴以精铣的指定转速正转
N51 R33=R15; R33代表精铣时底刃齿铣削一圈起点的半径值
N52 Z=-R14-R3/2-R3/2;铣刀底刃齿下降到底刃齿精铣入刀段起点所在的平面
N53 G41G01X=-R33+R3F=2∗R12∗R23;激活刀具半径补偿,铣刀平移到底刃齿精铣入刀段起点
N54 G03X=R33Z=-R14-R3/2CR=R33-R3/2F=R12∗R23/5; 精铣螺旋上升入刀
N55 R28=-R14-R3/2; 底刃铣螺纹起点的Z坐标值,此处赋初始值
N56 R30=0; 动点的α角度值,此处赋初始值
N57 WHILER30<359.999; 精铣循环头,若未铣够一整圈就在循环尾之间循环执行
N58 R30=R30+R22, 精铣此步终点的α角度值
N59 R33=R33+R17; 精铣此步终点的半径值
N60 R28=R28+R16; 精铣此步终点的Z坐标值
N61 G03X=R33∗COS(R30)Y=R33∗SIN(R30)Z=R28CR=R33-R17/2F=R12∗R23; 精铣螺旋上升走一步
N62 ENDWHILE; 精铣循环结束
N63 G03X=-R33+R3Z=-R14+R3∗3/2-R3/2CR=R33-R3/2F=2∗R12∗R23; 铣精螺旋上升出刀
N64 G00G40X0Y0; 铣刀平移到刀中心与螺纹孔中心重合,
N65 Z=R11; 铣刀底面上升到准备点
N66 TRANS; 零点偏移注销
N67 X0Y0M05; 铣刀平移到工件坐标系原点之上
N68 M02
O603和PP603.MPF两个宏程序中都有15个变量/参数,使用时只要根据具体尺寸和所
选的工艺参数给这15个变量/参数赋值即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。