对FANUC系统中G10指令的使用心得

对FANUC系统中G10指令的使用心得

摘要:在数控铣床加工中,工件尺寸精度是靠着刀补来保证的.而刀具补偿值包括了刀具长度补偿和刀具半径补偿,它是可以通过两种方法来输入到CNC储存器中:一是从CRT面板手动输入,这是我们常用的加工方法:二是使用G10指令通过程序来改变刀具补偿值来输入到CNC存储器中.而对于一些规则的曲面加工手动输入是不能满足加工要求的,而使用自动编程又会出现生成程序长,传输不便,空刀多影响加工效率等一系列问题.这时,用G10结合宏程序的使用来解决一些规则的曲面加工问题成了最有效、最方便、高效的加工方案。

关键词:   G10    刀具补偿    宏程序

正文:在FANUC系统中,G10是一个比较特殊的指令,在不同的场合下有着不同的用途、不一的表述,但都能体现它的强大,有些场合甚至是不可替代的。

 

  • G10的简介

G10(可编程参数输入),参数可用编程输入,该功能主要用于设定螺距误差的补偿数据,以应付加工工件的变化(如机件更新,最大切削速度或切削时间常数的变化等),在这里主要讨论G10指令针对利用刀具半径补偿的变化来加工规则曲面的方法。

在Fanuc数控系统中,对于“可编程参数输入(G10)”的使用有着严格的规定。G10指令的格式取决于需要使用的刀具补偿存储器(见表1)

1585930924 2

表1  FANUC系统中刀具补偿存储器和刀具补偿值的设置范围

刀具补偿存储器的种类 指令格式
H代码(长度补偿)的几何补偿值 G10L10P_R_
H代码(长度补偿)的磨损补偿值 G10L11P_R_
D代码(半径补偿)的几何补偿值 G10L12P_R_
D代码(半径补偿)的磨损补偿值 G10L13P_R_

表1中,P表示刀具补偿号;R表示绝对值指令(G90)方式下的刀具补偿值;如果在增量值指令(G91)方式下的刀补值,该值与指定的刀具补偿号的值相加和为刀具补偿值。

一般情况下使用比较多的当属表中的第三种,即:D代码(半径补偿)的几何补偿值→L12。

在以上4种指令格式中,R后面的刀具补偿值同样可以是变量,如:G10 L12 P01 R#5,表示变量#5代表的值等于“D01”所代表的刀具半径补偿值,即在程序中输入刀具的半径补偿值。

上述这点是非常重要的!它决定了“可编程参数输入(G10)”的主要使用场合就是宏程序。可以说G10是为宏程序应运而生的。在手工编程中,G10是宏程序用以解决各种斜面、倒圆面以及其他必须使用刀具半径补偿的加工编程不可或缺的利器。

这是一个能简单直观的表达G10指令优越性的图。拿到这份图纸我们要先进行加工工艺的编制,程序的编写、输入、调试、运行直至加工出符合零件尺寸的工件.

一个长半轴a=30mm,短半轴b=15mm的凸椭圆,高度为10mm,倒R4mm的倒圆。为了便于说明,这里作了必要的简化,即该椭圆事先已加工出来下面仅就倒圆面的加工进行详细的说明(刀具选用为Φ10立铣刀):

O0001 程序名
M3 S1500 主轴正转转速
G90 G54 工件坐标系
G00 X36 Y0 Z10 快速定位
Z2 快速接近工件
#1=0 倒圆起始角度赋值
#2=4 倒圆角半径
#3=5 刀具半径
WHILE [#1 LE 90] DO1 倒圆的逻辑语句
G00 X36 Y0 定位下刀点,防止下刀时撞刀
#4=#2*[1-COS[#1]] Z方向的变量
#5=#3-#2*[1-SIN[#1]] 赋值刀具半径补偿值的变量
G01 Z-#4 F500 Z方向的下切
G10 L12 P01 R#5 可编程参数生效
#6=0 椭圆起始角度赋值
WHILE [#6 LE 365]DO2 椭圆的逻辑语句
#7=30*COS[#6] 椭圆上X轴上的变量
#8=15*SIN[#6] 椭圆上Y轴上的变量
G41 G1 D01 X#7 Y[-#8] F600 顺时针铣削椭圆
#6=#6+1 椭圆变量改变
END2 椭圆逻辑语句结束
G0Z1 抬起刀具,防止执行倒圆逻辑撞刀
#1=#1+1 倒圆变量改变
END1 倒圆逻辑语句结束
G00 Z100 快速提刀
G40 G11 可编程参数输入取消
M5 主轴停转
M30 程序结束

在这个例子中.宏程序的编写建立在两个重要的基础上.即轨迹的数学表达与加工倒圆面时刀心运动轨迹的数学表达。两者又是相互影响、相互联系的.

整个加工轨迹的数学原理为使用铣刀进行加工,从最高面开始(此时在Z方向上铣刀刀心与倒圆面的最高处平齐),以自上而下的方式逐层下降,每层高度上铣刀与相应的外轮廓有一个刀具半径的距离,并以顺时针方向走刀(顺铣),由于无法直接描述铣刀的运动轨迹的数学表动轨迹,唯一可行的方法就是通过刀具半径补偿来表达(这里使用左侧刀具半径补偿G41)。

随着刀具沿着倒圆面逐层下降.在每层高度上的刀具半径补偿值Dxx(下面的程序中使用D01)是不断变化的,准确地说是在不断增大,其数值从最初的最小值(刀具半径-倒角半径)一直变化到结束时的最大值(刀具半径)。显而易见,只有依靠“用程序输入刀具补偿值(G10)”,才有可能表达和使用在不断变化着的刀具半径补偿值D01。

G10在极坐标倒角中的应用:如图2

1585930994 3

G10指令不仅对倒圆有着很好的适用性,同样对倒角意义也很大:简化了对复杂倒角宏程序的编写、缩短了生产准备时间、对于程序的校验修改具有极其重要的作用。

这一个示例,由于其倒角规范,为一正六边体倒角,但又由于其还有极坐标的因素在里面,所以编程时应特别注意极坐标和宏程序是否会互相影响。本例我们依然使用立铣刀,且加工方向由上到下顺时针走刀。

O0002 程序名
G90 G54 G16 G11 G17 机床初置、建立工件坐标系
M3 S1500 主轴转速
G00 X50 Y0 Z30 快速定位
Z2 快速接近工件
#1=0 设置变量
WHILE [#1 LE 90] DO1 建立逻辑语句
#2=5+#1 赋值刀具半径补偿值的变量
G01 Z-#1 F50 Z方向的下切
G10 L12 P01 R#2 可编程参数生效
G41 D01 G01 X20 Y0 F800 刀补建立且生效
G17 G16 极坐标生效
G01 X20 Y300 轮廓走刀
Y240
Y180
Y120
Y60
Y0
G15 极坐标取消
G90 G40 G01 X50 Y0 切除,远离加工面
G00 Z[-#1+0.5] 在切削平面的基础上抬刀0.5mm高
#1=#1+0.1 变量改变
END1 逻辑语句结束
G0 Z100 抬刀,远离工件
G40 G15 G11 各项代码取消
M30 程序结束

1585931025 4

  • 使用中的心得体会

1、程序中变量初始赋值为具体数值,所有这些变量的赋值都可以、但必须根据实际情况特别是工艺上的要求而定,例如#1=#1+1的取值就直接影响到倒圆面的表面加工质量(特别是表面粗糙度)。

2、如前所述,“G10 L12 P01 R#5”仅仅决定了“变量#5输入到刀具半径(几何)补偿值D01”,而系统在处理“D01”时,“D01”的真实意义是半径几何补偿值与半径磨损补偿值之算术和值,因此必须事先在从CRT面板手工把“D01”中的“半径磨损补偿值”一项清零.或者加上以下程序段:“G10 L13 P01 R0”,否则程序运行时很可能会无缘无故出现过切报警。而事实上程序本身根本没有任何错误!这点很重要,却非常容易被人忽视,

3、程序中如何选择顺时针走刀(顺铣)和逆时针走刀(逆铣),则完全可以巧妙地利用编程者自主的意愿来控制.如在本例中选择了G41顺铣。

4、程序中“G40”的使用也有讲究,其出现的时机和地方直接影响程序运行的预期效果。

5、在宏程序的编写中,如果是使用球刀的,刀位点选择在刀心是在数学上能够进行刀路轨迹描述的必然要求.但是球刀的刀尖与刀心不过是刀具的两个几何点,而刀具上的任何一点都是随着刀具这一整体而进行相同的“平动”的,因此经过简单的加减换算(刀心的Z坐标减去刀具半径即为刀尖的Z坐标),同样可以反映出刀尖的运动轨迹指令。机床操作人员也只会面对统一的对刀基准(刀尖),使编程简化。

总结:G10是FANUC系统提供给用户应用程序指令方式进行参数修改的指令,功能强大,但在通常数控编程中较少有人使用。通过实例,介绍了FANUC系统中可编程参数自动设定指令G10与系统中宏指令在数控编程中配合使用的方法和技巧。利用其中的工件坐标修改功能、刀具补偿值修改功能,进行特殊结构零件的加工编程,为更多的使用G10指令的其它功能提供一种思路。解决了对于一些规则的曲面加工手动输入是不能满足加工要求的,而使用自动编程又会出现生成程序长,传输不便,空刀多影响加工效率等一系列问题。对如何节省了操作时间,提高了生产效率有着重要意义。

 

参考文献:

l陈海舟.数控机床铣削加工宏程序及应用[M].北京:机械工业出版社.200l

2孙德茂.数控机床铣削加工直接编程技术[M].北京:机械工业出版社.2005

3吴平挂.结构化编程方法在数控手工编程中的应用[J].广西轻工业出版社.2007,6

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享