O602程序是适用于发那科系统的用整硬螺纹铣刀从上往下一刀铣成锥管内螺纹的通用宏程序。
O602;
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#20 S#19 M03; (指令刀具半径补偿号,主轴正转)
N33 G52 X#24 Y#25; (建立局部坐标系)
N34 X0 Y0; (铣刀平移到螺纹孔中心)
N35 G43 H#20 Z#11; (激活刀具长度补偿,铣刀底面下降到准备点)
N36 Z0; (铣刀底面下降到螺纹顶面)
N37 #33=#15+#3/32; (#33代表底刃齿铣削一圈动点的半径值,此处赋初始值)
N38 Z[-#14+#3∗3/2-#3/2]; (铣刀底刃齿下降到底刃入刀段起点所在的平面)
N39 G42 G01X[-#33+#3]F[2∗#12∗#13]; (激活刀具半径补偿,铣刀平移到底刃入刀段起点)
N40 G02 X#33Z[-#14+#3-#3/2]R[#33-#3/2]F[#12∗#13/5]; (螺旋下降入刀)
N41 #28=-#14+#3/2; (底刃铣螺纹起点的Z坐标值,此处赋初始值)
N42 #30=0; (动点的α角度值,此处赋初始值)
N43 WHILE[#30GT-359.999]DO1; (循环头,若未铣够一整圈就在循环尾之间循环执行)
N44 #30=#30-#22; (此步终点的α角度值)
N45 #33=#33-#17; (此步终点的半径值减去P/32)
N46 #28=#28-#16; (此步终点的Z坐标值)
N47 G02 X[#33∗COS[#30]]Y[#33∗SIN[#30]]Z#28R[#33+#17/2]F[#12∗#13]; (螺旋下降走一步)
N48 END1; (循环尾)
N49 G0 2X[-#33+#3]Z[-#14-#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;
PP602.MPF程序是适用于西门子802D系统的用整硬螺纹铣刀从上往下一刀铣成锥管内螺纹的通用宏程序。
PP602.MPF
N01 Rl=a; R1代表基准面上螺纹大径,可从表1-8和表1-12中查得
N02 R2=b; R2代表每25.4mm轴向长度上所含螺纹牙数,可从表1-8和表1-12中查得
N03 R4=i; R4代表基准牙数,可从表1-8和表1-12中查得
N04 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,选定(www.xing528.com)
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/R21; R16代表每步Z向下降值
N30 R17=R16/32; R17代表每步半径减小值
N31 G54G90G95G40G00X0Y0; 设定工件坐标系用每转进给平移到工件X-Y平面原点
N32 T1D=R20S=R19M03; 指令刀具半径补偿和长度补偿号,主轴正转
N33 TRANSX=R24Y=R25; 零点偏移
N34 X0Y0; 铣刀平移到螺纹孔中心
N35 Z=R11; 铣刀底面下降到准备点
N36 Z0; 铣刀底面下降到螺纹顶面
N37 R33=R15+R3/32; R33代表底刃齿铣削一圈动点的半径值,此处赋初始值
N38 Z=-R14+R3∗3/2-R3/2;铣刀底刃齿下降到底刃入刀段起点所在的平面
N39 G42G01X=-R33+R3F=2∗R12∗R13;激活刀具半径补偿,铣刀平移到底刃入刀段起点
N40 G02X=R33Z=-R14+R3-R3/2CR=R33-R3/2F=R12∗R13/5; (螺旋下降入刀)
N41 R28=-R14+#3/2; 底刃铣螺纹起点的Z坐标值,此处赋初始值
N42 R30=0; 动点的α角度值,此处赋初始值
N43 WHILER30>-359.999; 循环头,若未铣够一整圈就在循环尾之间循环执行
N44 R30=R30-R22; 此步终点的α角度值
N45 R33=R33-R17; 下步终点的半径值
N46 R28=R28-R16; 此步终点的Z坐标值
N47 G02 X=R33∗COS(R30) Y=R33∗SIN(R30) Z=R28CR=R15+R17/2 F=R12∗R13; 螺旋下降走一步
N48 ENDWHILE; 循环结束
N49 G02X=-R33+R3Z=-R14-R3/2-R3/2 CR=R33-R3/2F=2∗R12∗R13; 螺旋下降出刀
N50 GOO G40 XO YO; 平移到刀中心与螺孔中心重合
N51 Z=Rll; 铣刀底面上升到准备点
N52 TRANS; 零点偏移注销
N53 X0 Y0 M05; 铣刀平移到工件坐标原点之上
N54 M02
O502和PP602.MPF两个宏程序中有12个变量/参数,使用时只要根据具体尺寸和所选的工艺参数给这12个变量/参数赋值即可。
【例1】在45钢工件上铣NPT 1内螺纹。该螺纹每25.4mm轴向长度内有11.5牙。使用的是同规格的NPT内螺纹整硬螺纹铣刀(此铣刀可铣NPT 1、NPT 11/4、NPT 11/2和NPT 2四种规格的内螺纹)。此铣刀上有5条排屑槽。从表1-8上查出,此螺纹的基准牙数是4.6,装配余量牙数是3。准备点的Z值取100mm,每排齿刃每转进给量取0.03mm,主轴转速取800r/min,刀具补偿号取1,以螺纹孔中心为工件坐标系X-Y平面原点。用O601程序从下往上铣和用O602程序从上往下铣时对其12个变量(即前12段)分别赋值后是一样的,都为:
N01 #1=33.228; (NPT 1螺纹基面大径)
N02 #2=11.5; (NPT 1螺纹每25.4mm轴向长度上所含数)
N03 #4=4.6; (NPT 1螺纹基准牙数)
N04 #6=3; (NPT 1螺纹装配余量牙数)
N05 #8=2; (螺尾牙数,取2)
N06 #11=100; (准备点的Z值,取100)
N07 #12=5; (铣刀上的排屑槽条数,即刃齿排数)
N08 #13=0.03; (每排刃每转进给量)
N09 #19=800; (主轴转速S)
NI0 #20=1; (刀具补偿号)
N11 #24=0; (螺纹孔中心在工件坐标系中的X值)
N12 #25=0; (螺纹孔中心在工件坐标系中的Y值)
同理,用PP601.MPF程序从下往上铣和用PP602.MPF程序从上往下铣的赋值数据与此相同。
由于这4个程序中使用了G41/G42指令,所以铣刀底刃齿回转半径R的值不在程序中指令,而是将其输入刀补页面相应的位置内。可将现场实测值输入“形状”刀补页面内。如果从铣刀样本上的标注值获得回转半径,那么要进行简单的计算。因为整体硬质合金锥管螺纹铣刀样本上一般不直接标底刃齿尖的回转半径R,而是标注锥(头)的长度l和锥上端的直径D。由于锥管螺纹的斜度是1∶32,所以锥(头)下端的半径为D/2-l/32。由于底刃齿回转半径与锥(头)下端半径差得很少(只差P/64),所以可用锥(头)下端半径值当作底刃齿回转半径R值,并将其键入“形状”刀补页面内。
对O601程序中的变量赋值后,将得到的程序命名为O6010。图6-3所示为用O6010程序和上述数据从下往上铣NPT 1内螺纹时在XZ平面内的仿真轨迹。
图6-3 用O6010程序铣NPT 1内螺纹的XZ平面仿真轨迹
轨迹中有个从下往上(走)的箭头。如果用O602程序和上述同样数据从上往下铣该内螺纹,那么在XZ平面内的轨迹与此图中的轨迹是一样的,只是轨迹中的箭头变成从上往下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。