APP下载

圆周孔系的数控编程方法研究

2012-08-22刘振超

制造业自动化 2012年23期
关键词:宏程序子程序编程

刘振超

(柳州铁道职业技术学院,柳州 545007)

0 引言

圆周孔系在端盖、法兰、箱体等零件中是非常常见的,传统的加工方法是利用钻模在普通钻床上加工,但工人劳动强度大、工序分散效率相对较低。随着数控机床的普及,由于其劳动强度低、工序集中、效率高、操作方便灵活的特点,越来越多的孔系零件被安排在数控机床上加工。但如何使数控加工程序简化,使操作工人能容易读懂便于修改,这是编程人员要思考的问题。

1 孔加工固定循环指令

在数控加工中,孔加工的动作循环已经典型化。例如,钻孔、镗孔的动作顺序是孔位平面定位、快速引进、工作进给和快速退回等,如图1所示。将这样一系列典型加工动作预先编好程序存储在系统中,再用包含G代码的一个程序段调用,可简化编程工作。这种包含了典型动作循环的G代码称为循环指令。

图1 孔加工固定循环动作示意图

FANUC系统固定循环指令的通用格式如下:

G98(G99)G _ X_Y_ Z_R_Q_P__K_F_L

参数说明:

1)X、Y为孔位数据,指被加工孔的位置。

Z为孔底数据, G90时,Z为孔底坐标;G91时,Z为R点到孔底的距离(多为负)。

2)R为安全平面位置。G90时,是 R面的坐标值;G91时,是初始点到R面的距离(常为负)。

3)Q 在G73或G83时指定每次进给深度,在G76或G87时指定刀具的让刀量,是增量值。

4)K在G73或G83时指定每次退刀量,K>0。

5)P指定刀具在孔底的暂停时间,单位为秒。

6)F为切削进给速度。

7)L指定固定循环的次数。

部分G代码的含义是:

G81:一般钻孔循环指令,用于一般定点钻。

G82:带停顿的钻孔循环指令,执行该指令使孔的表面更光滑,孔底平整。常用于做沉头台阶孔。

G74:左旋攻螺纹循环。

单一孔的加工,只要执行一个固定循环指令即可。

2 圆周孔系的编程方法

所谓圆周孔系,是指分别在圆周上的一系列孔。如果孔的结构尺寸相同,则孔的固定循环指令相同,不同的是每一个孔所在的位置不同。同一个孔要完成不同的工序,如钻中心孔、钻孔和攻螺纹等,只要更换刀具和相应的固定循环指令即可,孔位置并没有变。孔系加工编程的关键和难点是确定孔的位置,在这里以钻孔工序为例,提出了孔系编程的四种方法。

2.1 坐标编程法

坐标编程法是通过数学计算获得孔位置的坐标值,将坐标值的数据编入钻孔循环G82程序段,然后运行该程序,钻孔即可完成。这种方法计算量大,数据繁琐且容易出错,程序段多,在加工现场输入程序时,由于数据小数较多易造成输入错误,从而使零件报废。如图2所示盘类零件,通过计算得孔1、2、3的中心坐标分别是:

孔 1 :(X153.341,Y41.088);

孔 2 :(X112.253 ,Y112.253);

孔 3 :(X41.088, Y153.341 )。

图2 盘类零件

根据孔位置坐标数据编写的程序如下:

G00 X153.341Y41.088 (定位到孔1)

G99 G82 G90 R5 Z-120 P2 F100 (钻孔)

G00 X112.253 Y112.253 (定位到孔2)

G99 G82 G90 R5 Z-120 P2 F100 (钻孔)

G00 X41.088 Y153.341 (定位到孔3)

G99 G82 G90 R5 Z-120 P2 F100 (钻孔)

根据上述程序段推断,要完成圆周12个孔的钻孔工序,则至少需要24个钻孔的程序段,程序冗长且数据复杂,容易出错。这种编程方法对有规律的孔系显得笨拙,但对一些没有规律的孔系的编程却是必然的方法选择,而且这种绝对定位的方式没有积累误差,孔的定位精度较高。

2.2 宏功能编程法

宏程序可以运用变量编程,能够对变量进行赋值,同时变量间还可以进行算术与逻辑运算,改变程序执行顺序。

宏程序的变量及变量引用、变量运算简介。

1)变量表示方法:一个变量由“#”和变量序号组成,如#1、#2、#101等。

2)变量引用:将地址符后的数值用变量来代替的方法称为变量引用。如X#4、Y#5、F#101等。

3)变量运算:变量之间可进行数学运算和逻辑运算,运算次序依次是函数运算(SIN、ASIN、COS等)、乘和除运算(*、/、AND等)、加和减运算(+、-、OR等)。

例如:#1=#2+#3*SIN[#4]。

4)条件表达式:

格式:IF〔〈条件表达式〉〕GOTO n ;

例如:IF [ #10 GT 0 ] GOTO 2 ;这种格式表示如果表达式指定的条件满足时,转移到标有顺序号n的程序段。如果指定的条件不满足,执行下个程序段。

5)循环

格式:WHILE[〈条件表达式〉] DO m ;(m=1,2,3)

如: WHILE[〈条件表达式〉] DO m ;

ENDm;

当指定的条件满足时,执行WHILE从DO到END之间的程序。否则转而执行END之后的程序段。DO后的号和END后的号是指定程序执行范围的标号。

如图2中的零件,可以通过变量之间的运算确定每个孔的中心位置,这就大大简化了计算工作,使程序得到简化。现以FANUC系统的B类宏程序为例,编写图1零件的圆周孔系加工程序。

O1209(程序名)

N10G90G54G0Z100;(程序开始)

N20M03S200M08; (主轴以200r/min正转,冷却液开)

N30#1=15; (当前角度为15°)

N40#2=30; (角度递增值为30°)

N50#3=360;(最终角度)

N60#4=158.75;(圆周孔系所在的圆弧半径值)

N70#7=120;(钻孔深度)

N80WILE[#1LE#3] DO1;(条件判断)

N90#5=#4*COS#1;(计算孔位置的X坐标值)

N100#6=#4*SIN#1; (计算孔位置的Y坐标值)

N110G00X#5Y#6; (定位到要加工孔的上方)

N120G99 G82 G90 R5 Z-#7 P2 F100 ;(开始钻孔循环)

N130#1=#1+#2;(更新角度变量)

N140END1;(循环结束)

N150G00Z100;(抬刀)

N170M05M09; (主轴停,关冷却液)

N180M30; (程序结束)

由此可见,用宏功能编程,程序简洁,一个完整程序也就18个程序段,而且其中5段是变量赋值,程序的长度与孔的个数无关。宏程序不但精悍,而且功能强大,通用性强。如上例,要加工在不同圆周分布、不同个数的孔系或者孔深不同等,都可以通过改变相应的变量赋值就可以,不需要改变程序,对一些企业加工的系列孔系产品具有很好模板的作用。

2.3 用子程序与坐标旋转功能结合的编程方法

分析图2零件就可知道,12个孔的结构尺寸一样,孔加工循环的动作一样,所不同的仅仅是孔位置的不同。如果把孔加工循环的程序写成子程序,再用坐标选择功能确定每一个孔的位置,然后调用孔加工的子程序,这样编程既简单明了,编程方便,而且还不容易出错,在生产中使用起来非常方便。

FANUC系统旋转指令介绍:

指令格式 :

G68 X__Y__P__(建立坐标旋转功能)

G69 (取消坐标旋转功能)

其中:

X、Y、Z 是旋转中心的坐标值;

P为旋转角度,单位是(°),0≤P≤360.°逆时针旋转时为“+”,顺时针旋转时为“—” 。

利用子程序与坐标旋转功能相结合,加工图1零件的程序如下:

O1210;(程序名)

N10 G54G90Z100;(工件坐标系选择)

N20 M03 S200;(主轴以200r/min正转)

N30 T0202;(刀库的2号刀位2号刀补)

N40 G90 G00 Z100;(快速移动到安全高度Z100处)

N50 G00 X0 Y0 Z0;(快速定位到工件坐标零点)

N60 G68 X0 Y0 P15;(旋转15º定位到第1个孔所在角度)

N70 M98 P2222;(调用子程序钻孔)

N80 G68 X0 Y0 P45; (旋转45º定位到第2个孔所在角度)

N90 M98 P2222; (调用子程序钻孔)

N100 C68 X0 Y0 P75;(旋转75º定位到第3个孔所在角度)

N110 M98 P2222; (调用子程序钻孔)…

N280 G68 X0 Y0 P345;

N290 M98 P2222;

N300 G00 X0 Y0 Z100; (快速抬刀)

N310 M05; (主轴停)

N320 M30; (程序结束)

O2222;(子程序名)

N10 G99 G82 X158.750 Y0 R5 Z-120 P2000 F100;(钻孔循环)

N20 G69; (取消旋转功能)

N30 M99;(子程序结束,返回主程序)

由程序O1210可见,程序基本在重复G68 X0Y0P_及M98P2222两个程序段,编程过程不需要繁杂的计算过程,用口算即能很快编制出程序,高效实用,简单清楚,比传统的坐标编程法要简练得多。但这种程序编写方法,孔数越多程序越长,不但程序的长度与孔的数量成正比,而且,一般孔加工如果需要经过点中心孔、钻孔、攻螺纹等多个工序,程序的长度同时与工序数也成正比。

2.4 选转功能与宏程序结合编程

其实零件中每个孔的位置在圆周上是均匀分布的,任意两孔之间角度增量相等,如果把角度增量设为变量,则每个孔的位置就可以通过变量运算来确定。运用旋转功能与宏程序结合编写的程序如下:

O1211;(程序名)

N10 G54G90Z100;(工件坐标系选择)

N20 M03 S200;(主轴以200r/min正转)

N30 T0202;(刀库的2号刀位2号刀补)

N40 G90 G00 Z100;(快速移动到安全高度Z100处)

N50 G00 X0 Y0 Z0;(快速定位到工件坐标零点)

N60 #1=15; (当前角度值)

N70 #2=30; (角度变量增量值)

N80 WILE[#1LE360] DO1; (条件判断)

N90 G68 X0 Y0 P#1;(旋转15º定位到第1个孔所在角度)

N100 G99 G82 X158.750 Y0 R5 Z-120 P2000 F100;(钻孔循环)

N110 G69; (取消旋转功能)

N120 #1=#1+#2;(更新角度变量)

N130 END1; (结束循环)

N300 G00 X0 Y0 Z100; (快速抬刀)

N310 M05; (主轴停)

N320 M30; (程序结束)

由程序O1211可知,由于旋转功能与宏程序的结合,程序变得更加简洁,与单纯的宏程序相比,程序更简单、清楚、易懂,编程也更容易。

3 结论

通过比较四种编程方法可知,坐标编程法比较原始,计算量大容易出错,但在无规律的孔系加工中,这是唯一可选的方法;利用机床的用户宏功能编写的宏程序精简、灵活、可适应不同直径圆周分布、不同孔数的加工,特别适合只是尺寸不同的系列零件生产;用子程序与坐标旋转功能结合的编程方法表现出简单清楚、高效实用的特点,对操作工人来说这是最容易读懂的程序;利用机床系统的选转功能与宏程序结合编程的方法,体现更强大的优越性,不但程序短小精悍,而且计算非常简单,程序灵活性、通用性都很强。

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

[2] 陈华, 陈炳森. 零件数控铣削加工[M]. 北京: 北京理工大学出版社, 2010.

[3] 张兆隆. 数控加工工艺与编程[M]. 北京: 机械工业出版社, 2008.

猜你喜欢

宏程序子程序编程
椭球槽宏程序编制及其Vericut仿真
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
用修正渐开线投影法螺旋铣球面宏程序的编制
应用Fanuc宏程序的球面螺旋加工程序编制
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序