O601程序是适用于发那科系统的用整硬铣刀从下往上一刀铣成锥管内螺纹的通用宏程序。
图6-2 用整硬螺纹铣刀一刀铣成锥管内螺纹编程用图
a)从下往上铣(顺铣) b)从上往下铣(逆铣)
O601;
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 #11=h; (准备点的Z值)
N07 #12=g; (铣刀上的排屑槽条数,即刃齿排数)
N08 #13=m; (每排刃齿每转进给量,选定)
N09 #19=s; (主轴转速S,选定)
N10 #20=t; (刀具补偿号)
N11 #24=x; (螺纹孔中心在工件坐标系中的X值)
N12 #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; (底刃齿铣削起点的半径值)
N29 #16=#3/#21; (每步Z向上升值)
N30 #17=#16/32; (每步半径增大值)
N31 G54G90G95G40G00X0Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N32 D#20S#19M03; (指令刀具半径补偿号,主轴正转)
N33 G52X#24Y#25; (建立局部坐标系)
N34 X0Y0; (铣刀平移到螺纹孔中心)
N35 G43H#20Z#11; (激活刀具长度补偿,铣刀底面下降到准备点)
N36 Z0; (铣刀底面下降到螺纹顶面)
N37 #33=#15; (#33代表底刃齿铣削一圈动点的半径值,此处赋初始值)
N38 Z[-#14-#3/2-#3/2]; (铣刀底刃齿下降到底刃入刀段起点所在的平面)
N39 G41G01X[-#33+#3]F[2∗#12∗#13]; (激活刀具半径补偿,铣刀平移到底刃入刀段起点)
N40 G03X#33Z[-#14-#3/2]R[#33-#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 #33=#33+#17; (此步终点的半径值)
N46 #28=#28+#16; (此步终点的Z坐标值)
N47 G03X[#33∗COS[#30]]Y[#33∗SIN[#30]]Z#28R[#33-#17/2]F[#12∗#13]; (螺旋上升走一步)
N48 END1; (循环尾)
N49 G03X[-#33+#3]Z[-#14+#3∗3/2-#3/2]R[#33-#3/2]F[2∗#12∗#13]; (螺旋上升出刀)
N50 G00 G40 X0 Y0; (铣刀平移到刀中心与螺纹孔中心重合)
N51 G49 Z#11; (撤销长度补偿,铣刀底面上升到起始位)
N52 G52 X0 Y0; (撤销局部坐标系)
N53 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)
N54 M30;(www.xing528.com)
PP601.MPF是适用于西门子802D系统的用整硬螺纹铣刀从下往上一刀铣成锥管内螺纹的通用宏程序。
PP601.MPF
M01 R1=a; R1代表基准面上螺纹大径,可从表1-8和表1-12中查得
M02 R2=b; R2代表每25.4mm轴向长度上所含螺纹牙数,可从表1-8和表1-12中查得
M03 R4=i; R4代表基准牙数,可从表1-8和表1-12中查得
M04 R6=k; R6代表装配余量牙数,可从表1-8和表1-12中查得
N05 R8=e; R8代表螺尾牙数,选定,一般取2
N06 R11=h; R11代表准备点的Z值
N07 R12=g; R12代表铣刀上的排屑槽条数,即刃齿排数
N08 R13=m; R13代表每排刃齿每转进给量,选定
N09 R19=s; R19代表主轴转速S,选定
N10 R20=t; R20代表刀具补偿号
N11 R24=x; R24代表螺纹孔中心在工件坐标系中的X值
N12 R25=y; R25代表螺纹孔中心在工件坐标系中的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/#21; R16代表每步Z向上升值
N30 R17=R16/32; R17代表每步半径增大值
N31 G54G90G95G40G00X0Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点
N32 T1D=R20S=R19M03; 指令刀具半径补偿和长度补偿号,主轴正转
N33 TRANSX=R24Y=R25; 零点偏移
N34 X0Y0; 铣刀平移到螺纹孔中心
N35 Z=R11; 铣刀底面下降到准备点
N36 Z0; 铣刀底面下降到螺纹顶面
N37 R33=R15; R33代表底刃齿铣削一圈动点的半径值,此处赋初始值
N38 Z=-R14-R3/2-R3/2; 铣刀底刃齿下降到底刃入刀段起点所在的平面
N39 G41 G01 X=-R33+R3F=2∗R12∗R13;激活刀具半径补偿,铣刀平移到底刃入刀段起点
N40 G03X=R33Z=-R14-R3/2CR=R33-R3/2F=R12∗R13/5; 螺旋上升入刀段
N41 R28=-R14-R3/2; 底刃铣螺纹起点的Z坐标值,此处赋初始值
N42 R30=0; 动点的α角度值,此处赋初始值
N43 WHILER30<359.999; 循环头,若未铣够一整圈就在循环尾之间循环执行
N44 R30=R30+R22; 此步终点的α角度值
N45 R33=R33+R17; 此步终点的半径值
N46 R28=R28+R16; 此步终点的Z坐标值
N47 G03X=R33∗COS(R30)Y=R33∗SIN(R30)Z=R28CR=R33-R17/2F=R12∗R13; 螺旋上升走一步
N48 ENDWHILE; 循环结束
N49 G03X=-R33+R3Z=-R14+R3∗3/2-R3/2CR=R33-R3/2F=2∗R12∗R13; 螺旋上升出刀
N50 G00 G40 X0 Y0; 平移到刀中心与螺纹孔中心重合
N51 Z=R11; 铣刀底面上升到准备点
N52 TRANS; 零点偏移注销
N53 X0 Y0 M05; 铣刀平移到工件坐标系原点之上
N54 M02
O601和PP601.MPF两个宏程序中都有12个变量/参数,使用时只要根据具体尺寸和所选的工艺参数给这12个变量/参数赋值即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。