之前写了一篇关于在西门子在828D上运行ISO模式程序的实例(http://www.ad.siemens.com.cn/CNC4YOU/Home/Article/176),对于很多之前没有接触过西门子DIN模式编程的客户能够快速的投入到西门子系统的加工编程中来提供了很大的便利。

在加工过程中,虽然用G01能解决大部分加工过程,但也有程序过长容易出错的现象所以经常用一些循环指令来代替一些重复的代码,其中G71最常用,G72在特殊地方有很大的用处。我们发现,很多客户在西门子的ISO模式下调试已经编写好的ISO风格的程序时,对于G71G72指令的调整会遇到些困难(因为西门子的ISO模式是严格按照ISO标准开发的),下面就详细说明在ISO模式下使用G71G72指令所要遵循的一些规则。本篇主要介绍G71的用法,以及最后使用G70进行精加工的方法。

一、纵向轴切削循环 (G71) 指令详解

通过 Δd(切削进给深度)按照精加工余量对给定平面进行加工。 之后当通过 NC 程序描述轮廓 A A' B 时,Δu/2和 Δw 保持不变。

image.pngimage.png

图1- 切削循环的切削轨迹,纵向轴

格式                

G71 U... R... ;                

U:切削进给深度(Δd),半径编程                

R:e),返回量                

G71 P... Q... U... W... F...S                

P:用于确定轮廓的起始程序段                

Q:用于确定轮廓的结束程序段                

U:X 轴方向上的精加工余量(Δu)(直径/半径编程)                

W:Z 轴方向上的精加工余量(Δw                

F:加工进给率                

S:主轴转速                

G71粗车外圆加工走刀路线:刀具从循环起点A开始,快速退至C点,退刀量由Δw和Δu/2决定。                

1.  快速沿X方向进刀Δd深度,按照G01切削加工,然后按照45°方向快速退刀,X方向退刀量为e,再沿Z方向快速退刀,第一次切削加工结束;                

2.  沿X方向进行第二次切削加工,进刀量为e+Δd,如此循环直至粗车结束;                

3.  进行平行于精加工表面的半精加工,刀具沿精加工表面分别留Δw和Δu/2的加工余量;                

4.  半精加工完成后,刀具快速退至循环起点,结束粗车循环所有动作。                

共有四个不同的切削区域。 如下图所示,Δ“u” Δ“w” 的符号可以不同(对应的是车外圆/内孔,刀架前置/后置的四种情况):

二、G71 使用规则和注意要点

1)在通过地址 P 设定的程序段中确定点 A 和 A' 间的轮廓(G00 或 G01), 在此程序段中不能设定 Z 轴上的运行指令。

正确例程                

错误点                

G71 U2. R.2                

G71 P100 Q102 U.4 W0.   F.25                

N100 G1 X10. S800                

G1 Z-5.                

G1 X25. Z-10.                

X35.                

X45.Z-15.                

Z-25.                

N102 G1 X50. Z-30.                

N100 G1 X10.Z-1. S800                

此程序段N100为在通过地址 P设定的程序段中确定点   A 和 A' 间的轮廓,不能设定Z轴运行指令                

image.png                

2)指令中的F、S值是指粗加工中的F、S值,该值一经指定,则在程序段段号“P”、“Q”之间的所有F、S值无效;该值在指令中也可不指定,这时就是沿用前面程序段中的F、S值,并可沿用至粗、精加工结束后的程序中去。  F指令不能出现在G71第一行的指令里,需要写在第二行。

正确例程                

错误点                

G71 U2. R.2                

G71 P100 Q102 U.4 W0.   F.25                

N100 G1 X10. S800                

G1 Z-5.                

G1 X25. Z-10.                

X35.                

X45.Z-15.                

Z-25.                

N102 G1 X50. Z-30.                

G71 U2. R.2 F.25                

G71 P100 Q102 U.4 W0.                

注意:F指令不能出现在G71第一行 指令里                

image.png

3)通常情况下粗加工循环中,轮廓外形必须采用单调递增或单调递减的形式(如图1),否则会产生凹形轮廓不是分层切削而是在半精车时一次性进行切削加工,导致切削余量过大而损坏刀具。如图所示就是轮廓形状没有单调增加时半精加工一次切削凹坑的情形.  

image.png

所确定的点 A' B 之间的轮廓在 X 轴和 Z 轴上必须为持续上升,或者持续下降的图形。这种程序需要考虑使用G73指令.

正确例程                

错误点                

G71 U2. R.2                

G71 P100 Q102 U.4 W0.   F.25                

N100 G1 X10. S800                

G1 Z-5.                

G1 X25. Z-10.                

X35.                

X45.Z-15.                

Z-25.                

N102 G1 X50. Z-30.                

N100 G1 X60.   S800                

如将N100程序段改为X60.造成非单调递增或单调递减的形式                

image.png

4)循环起点的确定:G71粗车循环起点的确定主要考虑毛坯的加工余量、进退刀路线等。一般选择在毛坯轮廓外1~2mm、端面1~2mm即可,不宜太远,以减少空行程,提高加工效率。

5)关于子程序的调用法则:

在通过地址符 P 和 Q 设定的 NC 程序段范围中不能调用子程序。

描述子程序时需要注意一下三个原则

1.子程序中的点必须都要是工件轮廓上的点

2.子程序中只可以用G01,G02,G03,X,Z,数字,以及正负号。作为编程指令。注意不可以有G0.
3.子程序结束标记需要和最后一行轮廓写在同一行(例如上面的N102程序段)

另外,在西门子系统上ISO模式下执行的G71指令同样可以模拟出刀具路径,但要体现出毛坯材料以及更直观的零件加工效果,则需要借鉴混合编程法,具体可参照http://www.ad.siemens.com.cn/CNC4YOU/Home/Article/759 

image.pngimage.png

6)编写G70精车循环时,精加工进给率需要编写在轮廓子程序中(如下图N10程序段)。


image.png










小贴士:上述程序段中,我们注意到,有些坐标值后面有个小数点(例如X50.),俗称“小数点编程”。这是在早期(上世纪80-90年代)数控系统编程时的一种约定(由于浮点寄存器的价格问题带来的不得已的做法),带有小数点表示的单位是毫米(mm),也就是说X50.表示为X运动到工件坐标系的50mm,若不带小数点(例如X50)则代表X运动到工件坐标系的50微米.对于现在的数控系统而言,由于硬件特性的日新月异,早已失去了这种编程方法的必要性,因此编写X50或X50.都代表50mm, 50微米可直接编写X0.05即可。

为方便客户移植早期编写的加工程序,在得到专业人士许可的情况下可以设置MD10884=0,则按照带小数点表示“毫米”,不带小数点表示“微米”解释程序。若10884=1(默认设定),则系统不再区分小数点的作用,一律解释为“毫米”(即X50 和X50.都是50mm)。