2024年5月1日发(作者:)

第6期 

2011年6月 

组合机床与自动化lnJ T技术 

Modular Machine Tool&Automatic Manufacturing Technique 

N0.6 

Jun.2011 

文章编号:1001—2265(201I)06—0081—04 

系统变量在数控铣削加工中的应用研究 

陈益林,卢端敏 

(张家界航空工业职业技术学院数控系,湖南张家界427000) 

摘要:提出利用系统变量和宏程序对刀具半径补偿值实时读、写操作的方法

详细说明了程序编写思 

路和步骤,实际操作表明可以代替人.2-在加工过程输入刀具补偿参数,能避免人工修改.7I具补偿产 

生的错误,减少加工过程中多次停机和操作工人的劳动强度,有效地提高加工效率、产品合格率、数 

控机床的利用率和自动化程度 特别是在批量生产q-,能为企业带来非常可观的经济效益

可以推 

广至其他数控系统: 

关键词:系统变量;宏程序;数控铣削加工;刀具半径补偿 

中图分类号:TH16 文献标识码:A 

Research On System Variables in CNC Milling Application 

CHEN Yi—lin.LU Duan—rain 

(ZhangJiaJie Aeronautical Vocational and Technical College,NC Department

HuNan,Zhangjiajie 

427000,China) 

Abstract:The method of making use of system variables and macros program real-time reading and writ

. 

ing tool radius compensation value is provided

The steps and ideas of programming are specified

Through 

the actual machining,it can replace the manual input parameters of tool compensation in the processing

a. 

void errors that changing value of tool compensation

reduce processing times and labor intensity of work. 

ers.It also can improve processing eficifency

rate of qualified products,utilization and automation of 

CNC machine tools.Especially in mass production

the company may obtain considerable economic efi. f

ciency.The method can be promoted other CNC systems

. 

Key words:system variables;macros program;CNC milling;tool radius compensation 

0 引言 

在数控铣削加工中,一般直接根据零件的实际 

轮廓编程,而不需考虑实际刀具尺寸的影响,然后通 

致加T出来的产品为废品。为提高数控机床的利用 

率和自动化程度,减少操作T人的劳动强度或操作 

丁人数,使一个T人可以看管多台数控机床,提高产 

过在数控系统中设置正确的刀具补偿(简称刀补)值 

来完成加T,并能在加工过程中更改刀补值来实现 

零件的粗加工和精加工 。更改刀补值的操作一 

般由操作工人来完成,需经过“MDI方式输人刀补 

品的合格率,利用数控系统的宏程序及其系统变量 

代替人1_修改系统的刀补值可以有效解决这些问 

题。 

本文以FANUC数控系统为例,阐述了刀具补偿 

值——启动程序——加T完成停机”过程,而这一过 

程要占用有效机时,会降低工作效率和机床利用率, 

在批量生产中,这种情况更为突出。而且在操作的 

原理及操作,宏程序及相关系统变量,说明利用数控 

系统的宏程序及其系统变量代替人丁修改刀补值的 

编程思路和步骤。实例表明,效果良好,其解决问题 

的思路可以推广其他数控系统,为编程员提供编程 

思路,特别是在批量生产中能为企业带来非常可观 

的经济效率。 

过程中,需记住所需修改的刀补值,且有时还会出现 

输入错误的情况,若刀补值记错或输错,很可能会导 

收稿日期:2Ol0一l】一O4 

基金项目:湖南省教育厅资助科研项目(09C1307) 

作者简介:陈益林(1 972~),男.土家族,湖南人,张家界航空工业职业技术学院副教授

硕士,主要从事数控技术的教学与研究工作,(E 

mail)ely21 33@l26.COn1 

82・ 组合机床与自动化加工技术 第6期 

1 刀具补偿原理及操作 

在数控加工过程中,数控系统的实际控制对象 

是刀具中心或刀架相关点,数控系统通过直接控制 

刀具中心或刀架相关点的运动轨迹来间接地实现零 

件轮廓加工。然而,实际刀具参与切削的部位是刀 

尖或刀刃边缘,它们与刀具中心或刀架相关点之间 

存在着尺寸偏差,因此数控系统必须根据刀尖或刀 

刃边缘的实际坐标位置(即零件轮廓的实际坐标位 

置)来计算出刀具中心或刀架参考点的相对坐标位 

置,这种计算过程称为刀具补偿 。 

对于具有刀具补偿功能的数控系统,在编制加 

工程序时,按加工零件的实际轮廓编程,加工前测量 

实际的刀具半径、长度和位置等,作为刀具补偿参数 

输入数控系统,可以加工出合乎尺寸要求的零件轮 

廓 。所以刀具补偿功能不仅可以大大简化数控加 

工程序的编写工作,而且还可以提高数控加工程序 

的利用率满足加工工艺的一些要求,如因为刀具磨 

损、重磨和刀具更换等原因致使刀具尺寸发生变化 

时,只需修改相应的刀具参数,仍用原程序就能保证 

零件的加工要求。再如对同一零件轮廓进行粗加 

工、半精加工和精加工等多道工序时,不必编写三种 

加工程序,可以通过逐次改变刀具半径补偿值大小 

的办法,调整每次进给量,并将各道工序所预留的加 

工余量加入刀具参数,即可达到利用同一程序实现 

不同工序的加工要求。 

刀具补偿分为刀具长度补偿和刀具半径补偿2 

种 。 

刀具长度补偿通过执行含有G43(G44)和H指 

令来实现,而指令G49是取消G43(G44)指令的。 

G43表示存储器中补偿量与程序指令的终点坐标值 

相加,G44表示相减。若程序段为G43 Z56 H05,05 

存储器中值为l6,则表示终点坐标值为56+16= 

72ram。 

在轮廓加工时,刀具中心运动轨迹与被加工零 

件的实际轮廓要偏移一定距离,这种偏移称为刀具 

半径补偿,又称刀具中心偏移。当刀具中心轨迹在 

程序规定的前进方向的左边时称为左刀补,用G41 

表示,如图1a所示;当刀具中心轨迹在程序规定的 

前进方向的右边时称为右刀补,用G42表示,如图lb 

所示;G40为取消刀具半径补偿指令。 

刀具补偿所使用的刀具半径、刀具长度等刀具 

参数,应该在程序运行前预先存人刀具参数表中,如 

图2所示。刀具补偿值输入到CNC存储器中的常用 

方法是从CRT面板手动输入 ,但这一做法必须在 

停车后才能输入,且要经过计算,经常会出现输错的 

情况,并占用大量的加工时间。为了避免加工出错 

和提高生产效率,采用系统变量对其读写。 

(b) 

图1 G41和G42指令加工内、外轮廓 

图2刀具补正表 

2宏程序及系统变量 

2.1宏程序 

通过对变量进行赋值及处理的方法达到程序功 

能的程序叫宏程序。在数控加工中,用户宏程序使 

用得相当普遍,使用好宏程序,对于提高编程效率、 

降低出错率和提高加工机床占用率有着十分显著的 

作用 。不同的系统的宏程序的语法有所区别,在 

FANUC、华中数控系统中,以#加地址来表示变量,在 

SIEMENS数控系统中变量则称为 参数。 

用户宏程序是以变量的组合,通过各种算术和 

逻辑运算、转移和循环等命令,而编制的一种可以灵 

活运用的程序,只要改变变量的值,即可完成不同的 

加工或操作。用户宏程序可以简化程序的编制,提 

高工作效率。加工程序中可以像调用子程序一样用 

个简单指令即可调用宏程序。 

2011年6月 陈益林,等:系统变量在数控铣削加工中的应用研究 ・83・ 

般数控系统将变量分为局部变量、公用变量 

和系统变量。局部变量的变量号为#1~#33,它是在 

宏程序中局部使用的变量,用于自变量转移,只能在 

个宏程序中使用。公用变量:用户可以自由使用, 

它对于由主程序调用的各子程序及各宏程序来说是 

可以公用的。其中#100~#149在关掉电源后,变量 

值全部被清除;而#500~#549在关掉电源后,变量值 

则可以保存。 

2.2 系统变量 

系统变量由#后跟4位或5位数字来定义,它能 

获取包含在机床处理器或NC内存中的只读或读/写 

信息,包括与机床处理器有关的交换参数、机床状态 

参数、加工参数等系统信息。不同的数控系统其系 

统变量的规定不一样,使用时应查阅相关使用手册 

或说明书。以FANUC 0i—M铣床数控系统为例,系统 

变量#2001~#2200(#l1001~#1t400)存储刀具长度H 

磨损值,#2201~#2400(#10001~#10400)存储刀具长 

度H形状值,#12001~#12400存储刀具直径D磨损 

值,#13001~#l3400存储刀具直径D形状值,这些值 

分别对应图2中的(形状)日、(磨耗)日、(形状)D、(磨 

耗)D列,变量名的前两位表示刀补类型,后j位表示 

刀补号,即刀具参数表中的番号,如图2所示。 

3 系统变量在数控铣削加工中的应用 

如图3所示,要铣出一条槽宽有精度要求的封 

闭沟槽,在数控铣床上可用一把键槽铣刀完成。通 

过图形和T艺分析可知应选一把+12的键槽铣刀。 

按常规方法编程,就是要把槽内、外轮廓上各点坐标 

先计算出来,再把加工内轮廓编写一个程序、加工外 

轮廓编写一个程序,然后分别加lT。显而易见,这种 

方法非常浪费时间。 

图3加工零件实例 

若巧妙地应用刀具半径补偿和刀具长度补偿可 

使工作量大大减少,既能节约时间,又能合理地加工 

出合格零件。即只需按尺寸标注计算出图3中内轮 

廓上各节点的坐标,并编写一个加工内轮廓的程序 

即可。当加1二内轮廓时,把刀补值设为刀具的实际 

半径;而加_T外轮廓时,把刀补值要设为(槽宽一刀具 

半径)。采用此方法加丁内外壁的特点就是只需编 

写一个程序,通过不断修改刀补值来完成内外壁的 

粗精加工。若粗加丁后需要进行精加工,则粗加工 

内、外轮廓时,设置刀补值要把精加工余量考虑进 

去,而且加工内轮廓时刀补值应加上余量、外轮廓刀 

补值应减去余量。 

采用上述方法进行加_『二,在一个切深的情况下 

需要经过四次“MDI方式输入刀补值——启动程 

序——加工完成停机”的过程,在Ⅳ个切深的情况 

下,则需要4N个操作循环过程。若采用系统变量自 

动修改刀补值,则只需1次操作循环过程,此时,输 

入的刀补值为刀具的实际长度和半径。其加工过程 

如下: 

(1)刀具补偿值的输入在MDI方式下,将刀具的 

实际长度和半径输入刀具补偿表,即图2中番号对 

应的(形状)H列和(形状)D列中。若刀具存在磨 

损,则将其长度磨损值和半径磨损值分别输入图1 

中番号对应的的磨损何列和磨损D列中。 

(2)用宏变量通过系统变量记录刀具的实际形 

状值和磨损值以T02刀号为例: 

#101:#2002;(存储2号刀具长度H磨损值) 

#102=#2202;(存储2号刀具长度 形状值) 

#l03:#12002;(存储2号刀具半径D磨损值) 

#104:#l3002;(存储2号刀具半径D形状值) 

(3)建立分层切削加_T循环每加工完一个切深, 

在存储刀具长度 形状值的系统变量上增加一个切 

深值△ ,即#2202=#2202+△ ,该循环执行到最终 

加工尺寸,即最后进行精加工循环。在倒数第2个 

循环时应同时考虑精加工余量和切深来修改日形状 

值的系统变量。 

(4)建立内、外轮廓粗、精加工的加工循环加工 

时按内轮廓编程,即内轮廓为刀具中心轨迹,则槽内 

侧的内轮廓精加工时,刀具半径补偿直接按实际刀 

具半径尺进行补偿即可,如图4所示。 

工 

外 

图4 刀补值计算示意图 

内轮廓的粗加工应为精加工预留精加工余量 

dr,故此刀具半径补偿应为刀具实际半径R与精加 

工余量之和,即尺+ 。由图4可知,要对外轮廓进 

84・ 组合机床与自动化加工技术 第6期 

行精加工,首先刀具应向槽外侧方向偏移1个槽宽 

的距离,然后再向槽内侧偏移1个刀具半径尺即可, 

故此外轮廓精加工的刀具的偏移值应为B一尺。而 

粗加工同样要为精加工留有加工余量,故刀具的偏 

移值应在精加工的基础上再向内偏移精加工余量 

通过以上过程和编程步骤可知,并设零件的分 

层次数为5次,那么按常规方法,需要操作工人进行 

20次“MDI方式输人刀补值——启动程序——加工 

完成停机”的操作过程,用本文介绍的方法只需进行 

次上述操作过程即可完成该零件的加工,且完全 

即偏移量为 一 一 。图4中的 值即为第二 可以避免操作过程中由于人为因素带来的错误。 

步中存储在系统变量#13002中的值,即变量#104中 

的值。具体计算公式如表1所示,值得注意的是表1 

中的公共变量#104不能由系统变量#13002取代,这 

4 结束语 

提出通过灵活运用数控系统的系统变量对刀具 

是因为#104存储的是刀具实际半径,而系统变量# 

l3002的值为满足加工不同的轮廓及粗、精加工的要 

求需通过程序不断的修改。 

表1 系统变量的计算公式 

加工循环 

内轮廓的粗加工 

内轮廓的精加工 

偏移值 

偏移值=R+dr 

偏移值=R 

程序中的系统变量 

#13002=#l04 4-dr 

#13002:#104 

半径的补偿值的实时读和写操作,代替人工在加工 

过程输入刀具补偿参数的过程,减少了加工过程中 

多次进行“MDI方式输入刀补值——启动程序—— 

加工完成停机”的操作过程,减少操作工人的劳动强 

度,有效地提高了加工效率、数控机床的利用率和自 

动化程度。以零件在FANUC数控系统的加工为例, 

详细说明了程序编写思路和步骤,通过多次在实际 

机床上操作,表明该方法完全可以避免人工修改刀 

外轮廓的粗加工 偏移值…B R dr #I3002:B一#l04一dr 

外轮廓的精加工 偏移值=B—R #13002:B一#l04 

补产生的错误,提高产品的合格率,特别是在批量生 

产中,能为企业带来非常可观的经济效率。其解决 

问题的思路可以推广其他数控系统,也可为编程员 

提供借鉴和指导作用。 

[参考文献] 

(5)调用内轮廓子程序进行加工。为使系统变 

量修改的刀具补偿值在加工时起作用,在子程序的 

开头应调用刀具并建立长度补偿和半径补偿,而在 

子程序结束时应取消刀具长度补偿和半径补偿。 

(6)结束内、外轮廓粗、精加工的加工循环 

(7)结束分层切削加工循环 

(8)将刀具补偿表中的值恢复为加工前的实际 

值。即 

[1]余英良.数控加工编程及操作[M].北京:高等教育出版 

社.2005. 

[2]王爱玲.现代数控编程技术及应用[M].北京:国防丁业 

出版社,2003. 

[3]北京发那科机电有限公司.FANUC一0系统操作说明书 

[M].2009. 

#2002=#101;(存储2号刀具长度日磨损值) 

#2202=#102;(存储2号刀具长度H形状值) 

#12002=#103;(存储2号刀具半径D磨损值) 

#13002=#104;(存储2号刀具半径D形状值) 

(9)结束加工。 

[4]晏初宏.数控加工工艺与编程[M].北京:化学工业出版 

社,2004. 

[5]陈益林.环形阵列图形的编程技巧在数控铣削加工中的 

应用[J].组合机床与自动化加工技术,2009(11):109— 

113. 

由于在每个零件的加工过程中都要通过数控系 

统的系统变量修改刀具几何形状值,所以在此之前, 

[6]陈益林,胡细东,侯德政.两相交面圆弧轮廓转接圆弧的 

数控加工研究[J].制造技术与机床,2010(6):94—97. 

程序应设变量记下当前的刀具几何形状值,等到零 

件加工完成后再恢复以前的几何形状值,这样才可 

[7]刘耀林,贾涛.椭圆宏程序编制方法与应用研究[J].制 

以保证在刀具使用一段时间后,数控机床操作技术 

人员输入的实际刀具磨损值仍然有效。 

(上接第80页) 

2010.Wuhan,China:IEEE Computer Society. 

造业自动化,2009(7):92—94. (编辑李秀敏) 

大连理工大学出版社,2004. 

[7]左孔天.连续体结构拓扑优化理论与应用研究[D].湖 

北:华中科技大学,2004. 

[3]丛明,房波,周资亮,等.车一车拉数控机床拖板有限元分 

析及优化设计[J].中国机械工程,2008(2):208—213. 

[4]钟美鹏,郑水英,潘晓弘.直联便携式空压机阀片有限元 

[8]Hanna Jedrzejuk,Wojciech Marks.Optimization of shape and 

functional structure of buildings as well as heat source 

分析及拓扑优化[J].浙江大学学报(工学版),2009 

(43j:2305—2308. 

utilisation example[J].2002(37):1249—1253. 

[9]Kang Seok Lee,Zong Woo Geem.A Rew structural optimi— 

zation method based on the harmony search algorithm[J]. 

Computers and Structures,2004(82):781—798. 

[5]绍敏.有限单元法基本原理和数值方法[M].北京:清华 

大学出版社,1997. 

[6]唐焕文,秦志学.实用最优化方法(第三版)[M].大连: 

(编辑李秀敏)