O601程序是适用于发那科系统的用整硬螺纹铣刀从下往上一刀铣成锥管内螺纹的通用宏程序,其内有12个需要赋值的变量、10个用于计算的过渡变量和3个在加工过程中其值不断变化的变量,还有许多算式。
还是加工例1中的内螺纹,即在45钢工件上铣NPT 1内螺纹,需要赋值的12个变量的值见例1。O601程序中N21~N30段中的10个过渡变量据此可以算出来,分别为:
N21 #21=ROUND[33.228∗2]=66 (一圈分步数,此例不用此式,另选定为60)
N22 #22=360/#21=6; (分齿角Δα)
N23 #3=25.4/11.5=2.209; (螺距)
N24 #5=4.6∗2.209=10.161; (基准长度)
N25 #7=3∗2.209=6.627; (装配余量长度)
N26 #9=2∗2.209=4.418; (螺尾长度)
N27 #14=10.161+6.627+4.418=21.206; (螺纹总深)
N28 #15=33.228/2-21.206/32=15.951; (底刃齿铣削起点的半径值)
N29 #16=2.209/60=0.03682; (每步Z向上升值)
N30 #17=0.03682/32=0.00115; (每步半径增大值)
这样一来,O601程序中的前22个变量都有了具体值。用这些具体值把N31~N54段中能替换的变量和算式都替换掉,并且把经这样处理后的程序命名为O615。适用于本例的专用宏程序O615如下:
O615;
N31 G54 G90 G95 G40 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N32 D1 S800 M03; (指令刀具半径补偿号,主轴正转)
N33 G52 X0 Y0; (建立局部坐标系)
N34 X0 Y0; (铣刀平移到螺纹孔中心)
N35 G43 H1 Z100; (激活刀具长度补偿,铣刀底面下降到准备点)
N36 Z0; (铣刀底面下降到螺纹顶面)
N37 #33=15.951; (#33代表底刃齿铣削一圈动点的半径值,此外赋初始值)
N38 Z-23.415; (铣刀底刃齿下降到底刃齿入刀段起点所在的平面)
N39 G41 G01X[-#33+2.209]F0.3; (激活刀具半径补偿,铣刀平移到底刃齿入刀段起点)
N40 G03 X15.951 Z-22.3105 R14.8465F0.03; (螺旋上升入刀)
N41 #28=-22.3105; (底刃齿铣螺纹起点的Z坐标值,此处赋初始值)
N42 #30=0; (动点的α角度值,此处赋初始值)
N43 WHILE[#30LT359.999]DO1; (循环头,若未铣够一整圈就在循环尾之间循环执行)
N44 #30=#30+6; (此步终点的α角度值)
N45 #33=#33+0.00115; (此步终点的半径值)
N46 #28=#28+0.03682; (此步终点的Z坐标值)
N47 G03 X[#33∗COS[#30]]Y[#33∗SIN[#30]]Z#28R[#33-0.00115/2]F0.15; (螺旋上升走一步)
N48 END1; (循环尾)
N49 G03 X[-#33+2.209]Z-18.997R[#33-1.1045]F0.3; (螺旋上升出刀)(www.xing528.com)
N50 G00 G40 X0 Y0; (铣刀平移到刀中心与螺纹孔中心重合)
N51 G49 Z100; (撤销长度补偿,铣刀底面上升到起始位)
N52 G52 X0 Y0; (撤销局部坐标系)
N53 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)
N45 M30;
在O615程序中只剩下3个在加工过程中其值不断变化的变量。可以把这3个变量改一下号,改成#1、#2和#3。再整理一下顺序号,并将程序名重命名为O616。适用于本例的专用宏程序O616如下:
O616;
N01 G54 G90 G95 G40 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N02 D1 S800 M03; (指令刀具半径补偿号,主轴正转)
N03 G52 X0 Y0; (建立局部坐标系)
N04 X0 Y0; (铣刀平移到螺纹孔中心)
N05 G43 H1 Z100; (激活刀具长度补偿,铣刀底面下降到准备点)
N06 Z0; (铣刀底面下降到螺纹顶面)
N07 Z-23.415; (铣刀底刃齿下降到底刃齿入刀段起点所在的平面)
N08 #2=15.951; (#2代表底刃齿铣削一圈动点的半径值,此处赋初始值)
N09 G41 G01 X[-#2+2.209]F0.3; (激活刀具半径补偿,铣刀平移到底刃齿入刀段起点)
N10 G03 X15.951Z-22.3105 R14.8465 F0.03; (螺旋上升入刀)
N11 #1=0; (#1代表动点的α角度值,此处赋初始值)
N12 #3=-22.3105; (#3代表底刃铣螺纹起点的Z坐标值,此处赋初始值)
N13 WHILE[#30LT359.999]DO1; (循环头,若未铣够一整圈就在循环尾之间循环执行)
N14 #1=#1+6; (此步终点的α角度值)
N15 #2=#2+0.00115; (此步终点的半径值)
N16 #3=#3+0.03882; (此步终点的Z坐标值)
N17 G03X[#2∗COS[#1]]Y[#2∗SIN[#1]]Z#3R[#2-0.00115/2]F0.15; (螺旋上升走一步)
N18 END1; (循环尾)
N19 G03 X[-#2+2.209]Z-18.997R[#2-1.1045]F0.3; (螺旋上升出刀)
N20 G00 G40 X0 Y0; (铣刀平移到刀中心与螺纹孔中心重合)
N21 G49 Z100; (撤销长度补偿,铣刀底面上升到起始位)
N22 G52 X0 Y0; (撤销局部坐标系)
N23 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)
N24 M30;
O616、O615和O6010这三个宏程序的加工效果是完全一样的。当然,执行O616程序、O615程序的仿真轨迹与图6-3中O6010的仿真轨迹也是一样的。此外,也可以把阅读和理解O616程序和O615程序作为阅读和理解O601程序的第一步。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。