1 引言
数控文字地址程序段格式中,G代码、M代码分别表示准备功能宇和辅助功能字,G、M代码在不同数控系统中分别表示不同的数控功能,有些数控系统还规定可使用几套G、M代码指令,这就为数控加工工艺的制订,数控加工程序的编制以及加工程序调试增添了许多灵活性,特别是特殊G、M代码的合理使用,对保证零件的加工质量和精度,防止数控机床各加工轴之间或刀具之间的干涉,提高数控机床的安全、稳定运行具有积极的现实意义。
2 数控加工中特殊G、M代码的使用
1.延时G04指令
延时G04指令,其作用是人为暂时限制运行的加工程序,在程序中表示为“G04X-,或G04U-,或G04P-”。如“N0050 G04 X1.0”,表示当执行到此程序段时,进给中止1秒后再继续执行后续程序指令。G04指令中的延时时间在编程时设定,其选择范围为“0.001~99999.999秒或转(用 X或U指令的IS-B增量系统)。1~99999999延时时间单位为0.0001秒或转(用P指令的IS-C增量系统)”。G04延时指令一般使用的几种情况为:①对不通孔作深度加工时,刀具送给到规定深度后,用G04指令可使刀具作非进给光整切削加工,然后退刀,保证孔底平整,并使相关表面无毛刺;②沟槽时,在槽底应让主轴空转几转再退刀。一般退刀槽都不须精加工,采用G04延时指令,有利于槽底光滑,提高零件整体质量;③数控车床上,在工件端面的中心钻60°的顶尖孔或倒45°角时,为使孔侧面、及倒角平整,使用G04指令使工件转过1转后再退刀;④车削轴类零件台肩,在刀具送给运行方向改变时,应在改变运行方向的指令间设置G04指令,以保证轴肩端与工件轴线的垂直度。
除以上一般使用情况,在实际数控加工的使用中,尝试着一些特殊使用的分析和研究,并从中得到了新启示:
a.采用步进电机为进给驱动系统的数控机床,特别是国内改进设计的数控机床,在高精度加工中,为避免频率变化过快造成对位移精度的影响,常人为将快速点进位G00指令路经分解为2个程序段,段1为快速点进位,段2为直线插补。由于高速点进位运行在开始时为升速,当升到设定的速度频率时为正常匀速运行,接近到达定位点时为降频(就是常说的自动升降速)。在段1后如果设置延时G04指令,可保证高速运行降频完全稳定后,再低速运行,使控制精度得以提高。特别是对于数控钻床加工时的孔定位特别明显。
b.大批量单件加工时间较短的零件加工中,启动按钮频繁使用,为减轻操作者由于疲劳或频繁按钮带来的误动作,用G04指令代替首件后零件的启动。延时时间按完成1件零件的装卸时间设定,在操作人员熟练地掌握数控加工程序后,延时的指令时间可以逐渐缩短,但需保证其一定的安全时间。零件加工程序设计成循环子程序,G04指令就设计在调用该循环子程序的主程序中,必要时设计选择计划停止M01指令作为程序的结束或检查。
c.数控车床用丝锥攻中心螺纹时,需用弹性筒夹头攻牙,以保证丝锥攻至螺纹底部时不会崩断,并在螺纹底部设置G04延时指令,使丝锥作非进给切削加工,延时的时间需确保主轴完全停止,主轴完全停止后按原正转速度反转,丝锥按原导程后退。
程序举例:
M03 S300;攻牙主轴转速不能太快
G00 XO Z5.0;至工件中心坐标
G32 Z-20.0 F1.0 M05;攻丝完毕后主轴停止
G04 X5.0;丝锥延时5秒作非过给切削加工
G32 Z5.0 M04;主轴反转,丝锥后退
d.锁孔完毕退刀时,为避免退刀时留下螺旋划痕而影响表面粗糙度,应使镗刀在孔底作非进给停留,待主轴完全停止后再退刀。退刀时会留下垂直端面的退刀划痕,一般在镗孔加工工艺中是允许该退刀划痕存在的,利用该划痕还可以判断所镗孔的形状误差。
e.在发讯指令后须设置G04指令,以保证有足够的时间延时,等待发讯指令规定要求的动作开始或完成后,再运行后续程序,以确保加工的可靠性。如换刀位、开启关闭主轴、润滑或接通其它信号等。如:瑞士碧玛泰公司的S-188双主轴双刀塔数控车铣中心,配NUM 1050数控系统,在自动拉料时的程序为:
N0160 M60;夹具打开允许
N0170 M169;夹具打开
N0180 G04 FO.3
N0190 G01 ZL1;L1已赋值
N0200 M168;夹具夹紧
N0210 G04 FO.3
f.在主轴转速有较大的变化时,可设置G04指令。目的是使主轴转速稳定后,再进行零件的切削加工,以提高零件的表面质量。
程序举例:
N0010 S1000 M13;主轴转、冷却液开
N0020 T0302
N0030 G01 X32.4 FO.1
N0040 S3500 M03;主轴转速有较大的变化
N0050 G04 XO 6;延时 0. 6S
N0060 G01 Z-10.0 FO.02
g.在加工程序中有多种功能顺序执行时,必须设置G04指令。如机械手接零件、双主轴同步、从第1刀塔转换到第2刀塔加工等等,按动作的复杂程度,设定不同的G04延迟量,以使前一动作完全结束,再进行下一动作,避免干涉。
h.在铣加工过程中,当加工刀径相同的圆弧角时,可设置G04指令。可以消除让刀所带来的锥度和实际加工的R偏差,但圆弧角的表面质量会下降。
程序举例:
N0120 G03 X20.5 Y18.6 R6 F100
N0130 G04 XO.5
N0140 G01 Y50.5 F300
i.在主轴空运行时,用G04设置每档转速的时间,编一段热机程序,让设备自动运行,可以使热机的效果更加的良好。如:
N0220 M03 S1000
N0230 G04 X600
N0240 S5000
N0250 G04 X600
N0260 S10000
N0270 G04 X600
2.返回参考点G26、G27、G28、G29指令
参考点是机床上的一个固定点,通过参考点返回功能刀具可以容易地移动到该位置。参考点主要用作自动换刀或设定坐标系,刀具能否准确地返回参考点,是衡量其重复定位精度的重要指标,也是数控加工保证其尺寸一致性的前提条件。
实际加工中,巧妙利用返回参考点指令,可以提高产品的精度。
a.对于重复定位精度很高的机床,为了保证主要尺寸的加工精度,在加工主要尺寸之前,刀具可先返回参考点再重新运行到加工位置。如此做法的目的实际上是重新校核一下基准,以确定加工的尺寸精度。
b.对于多轴联动机床,特别是多轴多刀塔机床,程序开始段,一般设回参考点指令,避免换刀或多轴联动加工时出现干涉情况。
c.四轴以上的加工中心在进行B轴旋转前,双主轴车床在主、副轴同步加工前,设置回参考点指令,可防止发生撞刀事故。如:HERMLE 600U五轴五联动立式加工中心,配Heidenhain i530数控系统,其B轴可±110°旋转,而刀库在主轴后面,在B轴旋转前,都加回参考点指令。
d.双主轴车床,只在一主轴加工时,用回参考点指令,使另一主轴在参考点位置,能使程序顺利执行并保证加工精度。如 S188双主轴双刀塔数控车铣中心,只在一个主轴加工零件时,首先用G28指令,将另一主轴和刀塔返回参考点位置,以便加工顺利进行。
e.对于多轴纵切机床,当因各种原因要封闭某一轴时,用回参考点指令,使此一轴在参考点位置,然后再进行封闭,能保证此轴的位置度。如TonUS DECO2000机床,因加工要求必须封闭X4和Z4轴,在此情况下,在进行系统屏蔽X4和Z4轴之前,执行返回参考点操作。
f.在修理某一轴的伺服单元时,一般先进行回参考点操作(如有可能),以避免在该轴失电时,坐标位置的丢失。如美国哈挺公司COBRA 42机床,因X轴电机运转有杂音需检查,在检查前执行返回参考点操作。
3. 相对编程G91与绝对编程G90指令
相对编程是以刀尖所在位置为坐标原点,刀尖以相对于坐标原点进行位移来编程。就是说,相对编程的坐标原点经常在变换,运行是以现刀尖点为基准控制位移,那么连续位移时,必然产生累积误差。绝对编程在加工的全过程中,均有相对统一的基准点,即坐标原点,所以其累积误差较相对编程小。
数控车削加工时,工件径向尺寸的精度比轴向尺寸高,所以在编制程序时,径向尺寸最好采用绝对编程,考虑到加工时的方便,轴向尺寸采用相对编程,但对于重要的轴向尺寸,也可以采用绝对编程。数控铣床加工时,对于重要的尺寸应采用绝对编程。在数控车铣加工中心加工零件时,一般在车加工时用相对编程,变换为铣加工时,用绝对编程。如:EMCO 332数控车铣中心,配西门子 840D数控系统,双主轴双刀塔,在进行车铣加工时的程序:
M06 T10
M38;车方式,默认在G91相对编程
M04 S1000 M08
G95 FO.03
G00 X8.0 YO Z10.0
G00 Z1.0
G01 Z-11.55 FO.01
M06 T13
M39;铣方式,G91相对编程、G90绝对编程
G00 G90 X-L12 Z1;L12已赋值
G01 G90 Z-9.5 F1200
G01 G91 XO.30
G00 G90 Z1
另外,为保证零件的某些相对位置,按照工艺的要求,进行相对编程和绝对编程的灵活使用。
4. 主轴松开夹紧指令
主轴松开和夹紧指令,在正常的情况下,是装卸零件时使用,但对于多主轴车床来说,还有其他的用途:
a.用于双轴同步加工。在加工细长轴类零件时,用主、副轴分别夹持零件的两端,利用夹套夹紧时的后缩力,使零件处于被拉紧状态,再进行切削加工,可以防止因让刀产生锥度,并能提高零件表面的加工质量。
b.对于数控纵切车床,经过合理地设置主副轴的松开、夹紧指令,多次拉送料,分段多次加工,可以加工比额定行程长数倍的细长零件。笔者就曾在TonUS DECO2000机床(Z轴行程64mm)上用此方法加工出长96mm的φ0.6mm和φ0.8mm台阶轴。
如:TonUS DECO2000机床为数控纵切车床,配基于FUNAC16系统而改进的、具有电子凸轮功能的、专为纵切机床配套的PNT2000(TONUS专利产品)数控系统,其编程方式有别于一般的车、铣,每一工步是技流程在各个框图中分别编,现仅列主加工工步的程序:
G00 G100 Z1=0 X1=1;主轴旋转、冷却、调刀另有工步
G01 X1=0.6 FO.05
G01 Z1=-60.0 FO.02
G01 X1=1.2 FO.05
G00 G100 X1=20
M111;松主轴
G04 XO.4
G01 Z1=0.0 FO.1
M110;主轴第二次夹紧
G04 XO.4
G01 G100 X1=1.2
G01 X=0.8 F=0.05
G01 Z1=-36.0 FO.02
G01 X1=1.2 FO.05
G00 G100 X1=20;转换到切断工步。
5. G53零点漂移指令
在一般情况下,G53~G59等指令,是运用在零件加工过程中需重新建立编程原点的情况下,如多个零件同时加工等,但如合理使用此类指令,可提高机床的效率。
a. 对于大部分数控设备来说,在开机之后,必须进行一段时间的热机,以消除因主轴或刀塔发热所带来的误差。如果对机床熟悉,就可以在加工程序的开头设置G53~G59等指令,人为进行补偿,可以大幅缩短热机时间。如 S-188双主轴双刀塔数控车铣中心,因控制的轴数较多,如要尺寸完全稳定,每天需空运行2h左右,经一段时间的摸索,现用G53指令,即:G53 XO.04 YO.01。在2h内,每0.5h减少XO.01 YO.005,可将热机时间控制在0.5h以内。
b. 批量生产,当工作台可以装夹数个零件时,在编程中运用G53~G59等指令,定义几个不同的加工原点,可以一次装夹加工数个零件,节省换刀时间,提高工作效率。如 VC750型立式加工中心,工作台为850mm×530mm,所加工零件的坯料为φ160mm,除去装夹部分,每次可装4个零件。程序如下:
G54 P1 M98
/G55 P1 M98
/G56 P1 M98
/G57 P1 M98
M99
将要加工的程序编成子程序(P1号),在调试时不执行带/的程序,批量生产后再执行。
6. G79跳转指令
G79指令为强行跳转,在车铣复合加工中心的零件加工程序中使用,可以带来很大的方便。如S-188双主轴双刀塔数控车铣中心,配NUM 1050数控系统,带自动拉料机构,在零件加工程序的编制中,如:
$ G79 N2037
N2037 GO X52.0 Z2.0
加入G79指令,可以很方便地进行各工步程序的调试,免去一般程序每调一步都要从头找程序段或在每一程序段结束加 M01的麻烦;同时可以直接跳转到程序结束句进行割断。
7. G09减速与精确定位指令
G09指令其功能是在执行下一条程序之前,减速并准确地停止在当前条程序所确定的位置。在精加工时使用,可以使加工的形位尺寸准确,如 S-188双主轴双刀塔数控车铣中心,配NUM 1050数控系统:
G01 Z1 FO.02
G01 G09 ZO.5
G01 G09 X9.745 Z-0.4
G01 Z-11.52
3 结束语
数控加工是基于数控程序的自动化加工方式,在实际加工中,对G、M代码进行深入分析与研究,对传统加工方法进行变革,需要有较强的程序指令运用能力和丰富的实践技能。作者从事数控技术教学、数控加工及数控设备的维护近20年,碰到非常多的技术难题,在特殊G、M代码的使用方面,积累了一定的经验。在数控加工程序中,用好这些特殊G、M代码,对提高零件的加工质量和精度,使用、维护好数控机床具有重要意义。