首页 理论教育 铣制M20×1.5右旋圆柱螺纹程序编写

铣制M20×1.5右旋圆柱螺纹程序编写

时间:2023-06-28 理论教育 版权反馈
【摘要】:编写用于发那科系统的O510和其调用的O511子程序,铣M20×1.5右旋螺纹。

铣制M20×1.5右旋圆柱螺纹程序编写

1.铣圆柱内螺纹

(1)用主程序调用子程序来铣 如图5-8所示,分别铣M20×1.5普通右旋螺纹和M20×1.5-LH普通左旋螺纹。所用铣刀横截面内有3个刃齿,刃齿尖回转直径为ϕ16mm(由于使用G42编程,所以将此尺寸输入刀补页面中)。用1号刀补,主转转速为1000r/min,铣8圈(含上、下空走一小段)。编写用于发那科系统的O510和其调用的O511子程序,铣M20×1.5右旋螺纹。参考程序如下:

O510;

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0;(设定工件坐标系,用每转进给,平移到工件XY平面原点)

N02 D1 S1000M03; (指令刀具半径补偿号,使主轴正转)

978-7-111-56182-8-Chapter05-8.jpg

图5-8 用横向刃齿螺纹铣刀从上往下铣M20×1.5右旋内螺纹和左旋内螺纹

a)从上往下铣右旋内螺纹 b)从上往下铣左旋内螺纹

N03 G52 X18 Y#15; (建立局部坐标系)

N04 X0Y0; (使铣刀平移到螺纹孔中心)

N05 G43H1Z100; (激活刀具长度补偿,使铣刀下降到准备点)

N06 Z2.25; (铣刀下降到顶面之上1.5P高处)

N07 G42 X10; (激活刀具半径补偿,铣刀沿-X方向平移到切削起始点)

N09 M98 P511 L8; (调用O511子程序8次)

N13 G40 G90 G00 X0Y0; (注销刀具半径补偿,恢复绝对尺寸,回到孔中心)

N14 G49 Z100; (注销刀具长度补偿,铣刀上升到准备点)

N15 G52 X0 Y0; (取消局部坐标系)

N16 X0 Y0 M05; (铣刀平移到工件坐标系原点)

N17 M30;

O511;

N1 G91 G02 Z-1.5 I-10 F0.15; (增量尺寸,顺时针铣一圈螺纹)

N2 M99;

把O510内N07段中的G42改成G41,把O511内N1段中的G02改成G03后,就可得到铣M20×1.5-LH左旋螺纹的程序。

可以用改变1号刀补内的刀具半径设定值来分层(即多刀)铣削。分层最好用等截面积来分(见图2-10),每刀进给量的计算详见2.3.1和2.3.4中。

适用于西门子802D系统的铣M20×1.5普通右旋螺纹的主程序为PP510.MPF,子程序为L511。

PP510.MPF

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点

N02 T1 D1 S1000 M03; 指令刀具半径补偿和长度补偿号,使主轴正转

N03 TRANS X18 Y15; 零点偏移

N04 X0Y0; 铣刀平移到螺纹孔中心

N05 Z100; 铣刀下降到准备点

N06 Z2.25; 铣刀下降到顶面之上1.5P高处

N07 G42 X10; 激活刀具半径补偿,铣刀沿X方向平移到切削起始点

N09 P511 L8; 调用L511子程序8次

N13 G40 G00 X0 Y0; 注销刀具半径补偿,回到孔中心

N14 Z100; 铣刀上升到准备点

N15 TRANS; 取消零点偏移

N16 X0 Y0 M05; 铣刀平移到工件坐标系原点

N17 M02

L511

N1 G02 Z=IC(-1.5)I-10F0.15;Z向增量尺寸,顺时针铣一圈螺纹

N2 M02

同样,将主程序内N07段中的G42改成G41,将子程序内的G02改成G03后,就得到铣M20×1.5-LH左旋螺纹的程序。

(2)只用一个主程序来铣 在西门子系统中,还可不用子程序,而是用PP512.MPF主程序来铣此右旋螺纹。

PP512.MPF

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点

N02 T1 D1 S1000M03; 指令刀具半径补偿和长度补偿号,使主轴正转

N03 TRANS X18 Y15; 零点偏移

N04 X0Y0; 铣刀平移到螺纹孔中心

N05 Z100; 铣刀下降到准备点

N06 Z2.25; 铣刀下降到顶面之上1.5P高处

N07 G42 X10; 激活刀具半径补偿,铣刀沿X方向平移到切削起始点

N09 G02 Z-10 I-10 TURN=7F0.15; 往下铣8整圈

N13 G40 G00 X0 Y0; 注销刀具半径补偿,回到孔中心

N14 Z100; 铣刀上升到准备点

N15 TRANS; 取消零点偏移

N16 X0 Y0 M05; 铣刀平移到工件坐标系原点

N17 M02

同理,将此程序内N07段中的G42改成G41,将N09段中的G02改成G03后,就得到铣M20×1.5-LH左旋螺纹的程序。

(3)用循环语句来编程 可以利用循环语句编写螺纹加工通用宏程序

1)先讨论从上往下铣普通右旋和左旋内螺纹(从上往下走刀较适合铣通孔螺纹)的通用宏程序,如图5-9所示。编写从上往下铣普通内螺纹的适用于发那科系统的通用宏程序O513。

O513;

#1=a; (#1代表螺纹大径)

#2=b; (#2代表螺距)

#4=i; (#4代表铣螺纹走刀整圈数)

#5=j; (#5代表铣刀刃齿个数)

#6=k; (#6代表每转中每刃齿进给)

#7=d; (#7代表准备点的Z坐标值)

#8=e; (#8代表螺纹的左/右旋代号,右旋取2,左旋取3)

#19=s; (#19代表主轴转速S)

#20=t; (#20代表刀补号)

#24=x; (#24代表孔中心在工件坐标系中的X坐标值)

#25=y; (#25代表孔中心在工件坐标系中的Y坐标值)

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)

N02 D#20S#19 M03; (指令刀具半径补偿号,主轴正转)

N03 G52X# 24Y#25; (建立局部坐标系)

N04 X0 Y0; (铣刀平移到螺纹孔中心)

N05 G43H#20 Z#7; (激活刀具长度补偿,铣刀下降到准备点)

N06 Z[#2∗1.5]; (铣刀下降到顶面之上1.5P高处)

N07 G[44-#8]X[#1/2]; (激活刀具半径补偿,铣刀沿X方向平移到切削起始点)

N08 #9=1; (#9代表铣螺纹的走刀整圈数,此处赋初始值)

N09 WHILE[#9LT#4]DO1; (循环头,若未铣够圈数就在循环尾之间循环执行)

N10 G91 G#8 Z-#2 I-[#1/2] F[#5∗#6]; (增量尺寸,铣一圈螺纹)

N11 #9=#9+1; (铣螺纹圈数增加1)

N12 END1; (循环尾)

N13 G40 G90 G00 X0Y0; (注销刀具半径补偿,恢复绝对尺寸,回到孔中心)

978-7-111-56182-8-Chapter05-9.jpg

图5-9 用横向刃齿螺纹铣刀从上往下铣普通内螺纹

a)从上往下铣右旋螺纹 b)从上往下铣左旋螺纹

N14 G49 Z#7; (注销刀具长度补偿,铣刀上升到准备点)

N15 G52 X0 Y0; (取消局部坐标系)

N16 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)

N17 M30;

同样可以编写适用于西门子802D系统的通用宏程序PP513.MPF。

PP513.MPF

R1=a; R1代表螺纹大径

R2=b; R2代表螺距

R4=i; R4代表铣螺纹走刀整圈数

R5=j; R5代表铣刀刃齿个数

R6=k; R6代表每转中每刃齿进给

R7=d; R7代表准备点的Z坐标值

R8=e; R8代表螺纹的左/右旋代号,右旋取2,左旋取3

R19=s; R19代表主轴转速S

R20=t; R20代表刀补号

R24=x; R24代表孔中心在工件坐标系中的X坐标值

R25=y; R25代表孔中心在工件坐标系中的Y坐标值

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0;设定工件坐标系,用每转进给,平移到工件XY平面原点

N02 T1 D=R20 S=R19 M03; 指令刀具半径补偿和长度补偿号,主轴正转

N03 TRANS X=R24 Y=R25; 零点偏移

N04 X0Y0; 铣刀平移到螺纹孔中心

N05 Z=R7; 铣刀下降到准备点

N06 Z=R2∗1.5; 铣刀下降到顶面之上1.5P高处

N07 G=44-R8 X=R1/2; 激活刀具半径补偿,铣刀沿X方向平移到切削起始点

N08 R9=1; R9代表铣螺纹的圈数,此处赋初始值

N09 WHILER9<R4; 循环头,若未铣够圈数就在循环尾之间循环执行

N10 G=R8Z=IC(-R2)I=R1/2F=R5∗R6; Z向增量尺寸,铣一圈螺纹

N11 R9=R9+1; 铣螺纹圈数增加1

N12 ENDWHILE; 循环尾

N13 G40 G00 X0 Y0; 注销刀具半径补偿,回到孔中心

N14 Z=R7; 铣刀上升到准备点

N15 TRANS; 零点偏移注销

N16 X0 Y0 M05; 铣刀平移到工件坐标系原点之上

N17 M02

O513和PP513.MPF两个宏程序中都含有11个变量/参数,使用时只要根据具体尺寸和所选的工艺参数(包括螺纹的左旋和右旋)给这11个变量/参数赋值即可。

2)再讨论从下往上铣普通内螺纹(从下往上走刀较适合铣不通螺纹孔)的通用宏程序。从下往上铣应使用半圆弧入刀方式,如图5-10和图5-11所示。编写适用于发那科系统的通用宏程序O514如下:

O514;

#1=a; (#1代表螺纹大径)

#2=b; (#2代表螺距)

#3=c; (#3代表螺纹铣深)

#4=i; (#4代表铣螺纹走刀整圈数)

#5=j; (#5代表铣刀刃齿个数)

#6=k; (#6代表每转中每刃齿进给)

#7=d; (#7代表准备点的Z坐标值)

#8=e; (#8代表螺纹的左/右旋代号,右旋取2,左旋取3)

#19=s; (#19代表主轴转速S)

#20=t; (#20代表刀补号)(www.xing528.com)

978-7-111-56182-8-Chapter05-10.jpg

图5-10 用横向刃齿螺纹铣刀从下往上铣右旋内螺纹

a)在底平面的半圆弧入刀 b)从下往上铣右旋螺纹

#24=x; (#24代表孔中心在工件坐标系中的X坐标值)

#25=y; (#25代表孔中心在工件坐标系中的Y坐标值)

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)

N02 D#20 S#19 M03; (指令刀具半径补偿号,主轴正转)

N03 G52 X#24 Y#25; (建立局部坐标系)

N04 X0 Y0; (铣刀平移到螺纹孔中心)

N05 G43 H#20 Z#7; (激活刀具长度补偿,铣刀下降到准备点)

N06 Z-#3; (铣刀下降到螺纹底面)

N07 G01 G[39+#8]X[-#1/2+#2]F0.5; (激活刀具半径补偿,铣刀沿-X方向平移到接近底孔处)

N08 G[5-#8]X[#1/2]R[#1/2-#2/2] F[#5∗#6/3]; (在底平面沿顺时针方向走半圈入刀)

N09 #9=1; (#9代表铣螺纹的圈数,此处赋初始值)

N10 WHILE[#9LT#4]DO1; (循环头,若未铣够圈数就在循环尾之间循环执行)

978-7-111-56182-8-Chapter05-11.jpg

图5-11 用横向刃齿螺纹铣刀从下往上铣左旋内螺纹

a)在底平面的半圆弧入刀 b)从下往上铣左旋螺纹

N11 G91 G[5-#8] Z#2I-[#1/2]F[#5∗#6]; (增量尺寸,铣一圈螺纹)

N12 #9=#9+1; (铣螺纹圈数增加1)

N13 END1; (循环尾)

N14 G40 G90 G00 X0 Y0; (注销刀具半径补偿,恢复绝对尺寸,回到孔中心)

N15 G49 Z#7; (注销刀具长度补偿,铣刀上升到准备点)

N16 G52 X0 Y0; (取消局部坐标系)

N17 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)

N18 M30;

编写适用于西门子802D系统的通用宏程PP514.MPF如下:

PP514.MPF

R1=a; R1代表螺纹大径

R2=b; R2代表螺距

R3=c; R3代表螺纹铣深

R4=i; R4代表铣螺纹走刀总圈数

R5=j; R5代表铣刀刃齿个数

R6=k; R6代表每转中每刃齿进给

R7=d; R7代表准备点的Z坐标值

R8=e; R8代表螺纹的左/右旋代号,右旋取2,左旋取3

R19=s; R19代表主轴转速S

R20=t; R20代表刀补号

R24=x; R24代表孔中心在工件坐标系中的X坐标值

R25=y; R25代表孔中心在工件坐标系中的Y坐标值

N01 G54 G17 G90 G95 G40 G49 G00 X0 Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点

N02 T1 D=R20 S=R19 M03; 指令刀具半径补偿和长度补偿号,主轴正转

N03 TRANS X=R24 Y=R25; 零点偏移

N04 X0Y0; 铣刀平移到螺纹孔中心

N05 Z=R7; 铣刀下降到准备点

N06 Z=R3; 铣刀下降到螺纹底面

N07 G01 G=39+R8X=-R1/2+R2 F0.5; 激活刀具半径补偿,铣刀沿-X方向平移到接近底孔处

N08 G=5-R8 X=R1/2 CR=R1/2-R2/2 F=R5∗R6/3; 在底平面沿顺时针方向走半圈入刀

N09 R9=1; R9代表铣螺纹的圈数,此处赋初始值

N10 WHILER9<R4; 循环头,若未铣够圈数就在循环尾之间循环执行

N11 G=5-R8Z=IC(-R2)I=-R1/2F=R5∗R6;Z向增量尺寸,铣一圈螺纹

N12 R9=R9+1; 铣螺纹圈数增加1

N13 ENDWHILE; 循环尾

N14 G40 G00 X0 Y0; 注销刀具半径补偿,回到孔中心

N15 Z=R7; 铣刀上升到准备点

N16 TRANS; 零点偏移注销

N17 X0 Y0 M05; 铣刀平移到工件坐标系原点之上

N18 M02

O514程序和PP514.MPF程序中都含有12个变量/参数,使用时只要根据具体尺寸和所选的工艺参数(包括螺纹的左旋、右旋)给这12个变量/参数赋值即可。

2.铣圆柱外螺纹

铣圆柱外螺纹不如铣圆柱内螺纹用得多,也很少采用从下往上走刀的方法,所以这里只讨论从上往下走刀的通用宏程序。图5-12所示为用横向刃齿铣刀从上往下铣圆柱外螺纹。

用横向刃齿螺纹铣刀铣圆柱外螺纹时,可沿半径增大的方向直线退刀。

O515程序是从上往下铣左旋、右旋圆柱外螺纹的适用于发那科系统的通用宏程序。

O515;

#1=a; (#1代表螺纹大径)

#2=b; (#2代表螺距)

978-7-111-56182-8-Chapter05-12.jpg

图5-12 用横向刃齿螺纹铣刀从上往下铣圆柱外螺纹

a)从上往下铣右旋螺纹 b)从上往下铣左旋螺纹

#4=i; (#4代表铣螺纹走刀总圈数)

#5=j; (#5代表铣刀刃齿个数)

#6=k; (#6代表每转中每刃齿进给)

#7=d; (#7代表准备点的Z坐标值)

#8=e; (#8代表螺纹的左/右旋代号,右旋取2,左旋取3)

#18=r; (#18代表铣刀刃齿尖的公称回转半径

#19=s; (#19代表主轴转速S)

#20=t; (#20代表刀补号)

#24=x; (#24代表孔中心在工件坐标系中的X坐标值)

#25=y; (#25代表孔中心在工件坐标系中的Y坐标值)

N01 #10=#1/2+#18-0.6∗#2; (#10代表切削起始位刀心离螺纹中心的距离)

N02 G54 G17 G90 G95 G40 G49 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)

N03 D#20 S#19 M03; (指令刀具半径补偿号,使主轴正转)

N04 G52 X#24Y#25; (建立局部坐标系)

N05 X0 Y0; (铣刀平移到螺纹中心)

N06 X[#10+10]; (铣刀平移到切削起始位右侧10mm垂直位置)

N07 G43 H#20Z#7; (激活刀具长度补偿,铣刀下降到准备点)

N08 Z[#2∗1.5]; (铣刀下降到顶面之上1.5P高处)

N09 G[39+#8]X[#1/2-0.6∗#2]; (激活刀具半径补偿,铣刀沿X方向平移到切削起始点)

N10 #9=1; (#9代表铣螺纹的圈数,此处赋初始值)

N11 WHILE[#9LT#4]DO1; (循环头,若未铣够圈数就在循环尾之间循环执行)

N12 G91G#8Z-#2I-[#1/2-0.6∗#2]F[#5∗#6]; (Z向增量尺寸,铣一圈螺纹)

N13 #9=#9+1; (铣螺纹圈数增加1)

N14 END1; (循环尾)

N15 G40 G90 G00 X[#10+10]Y0; (注销刀具半径补偿,恢复绝对尺寸,铣刀平移退出)

N16 G49Z#7; (注销刀具长度补偿,铣刀上升到准备点)

N17 G52 X0 Y0; (取消局部坐标系)

N18 X0 Y0 M05; (铣刀平移到工件坐标系原点之上)

N19 M30;

PP515.MPF程序是从上往下铣左旋、右旋圆柱外螺纹的适用于西门子802D系统的通用宏程序。

PP515.MPF

R1=a; R1代表螺纹大径

R2=b; R2代表螺距

R4=i; R4代表铣螺纹走刀整圈数

R5=j; R5代表铣刀刃齿个数

R6=k; R6代表每转中每刃齿进给

R7=d; R7代表准备点的Z坐标值

R8=e; R8代表螺纹的左/右旋代号,右旋取2,左旋取3

R18=r; R18代表铣刀刃齿尖的公称回转半径

R19=s; R19代表主轴转速S

R20=t; R20代表刀补号

R24=x; R24代表孔中心在工件坐标系中的X坐标值

R25=y; R25代表孔中心在工件坐标系中的Y坐标值

N01 R10=R 1/2+R18-0.6∗2; R10代表切削起始位刀心离螺纹中心的距离

N02 G54 G17 G90 G95 G40 G00 X0 Y0; 设定工件坐标系用每转进给平移到工件XY平面原点

N03 T1D=R20S=R19M03;指令刀具半径补偿和长度补偿号,让主轴正转

N04 TRANS X=R24 Y=R25;零点偏移

N05 X0 Y0;铣刀平移到螺纹孔中心

N06 X=R10+10;铣刀平移到切削起始位右侧10mm垂直位置

N07 Z=R7;铣刀下降到准备点

N08 Z=R2∗1.5;铣刀下降到顶面之上1.5P高处

N09 G=39+R8X=R1/2-0.6∗R2;激活刀具半径补偿,铣刀沿X方向平移到切削起始点

N10 R9=1;R9代表铣螺纹的圈数,此处赋初始值

N11 WHILER9<R4;循环头,若未铣够圈数就在循环尾之间循环执行

N12 G=R8Z=IC(-R2)I=R1/2+0.6∗2F=R5∗R6; Z向增量尺寸,铣一圈螺纹

N13 R9=R9+1;铣螺纹圈数增加1

N14 ENDWHILE;(循环尾)

N15 G40G90G00X=R10+10Y0;注销刀具半径补偿,恢复绝对尺寸,铣刀平移退出

N16 Z=R7;铣刀上升到准备点

N17 TRANS;零点偏移注销

N18 X0Y0M05;铣刀平移到工件坐标系原点之上

N19 M02

O515程序和PP515.MPF程序中都含有12个变量/参数,使用时只要根据具体尺寸和所选的工艺参数(包括螺纹的左旋、右旋)给这12个变量/参数赋值即可。

程序中的#18/R18代表铣刀刃齿尖的公称回转半径。此变量/参数只在确定入刀准备点的位置时使用一次。因加工程序段中使用了G41/G42指令,所以加工时可用改变屏幕上相应的刀具半径设定值来调节加工出螺纹直径的大小,而#18/R18设定的公称值不用随此改变。

横向刃齿越多(即#5或R5值越大),铣螺纹的效率越高。由于铣外螺纹时对铣刀直径没有限制,所以应采用横向刃齿尽可能多的铣刀,尤其在批量加工时,最好能使用在横向装有多片刀片的刀盘螺纹铣刀。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈