子程序在数控编程中的应用技巧.docx
《子程序在数控编程中的应用技巧.docx》由会员分享,可在线阅读,更多相关《子程序在数控编程中的应用技巧.docx(19页珍藏版)》请在冰豆网上搜索。
![子程序在数控编程中的应用技巧.docx](https://file1.bdocx.com/fileroot1/2023-2/21/dff9d680-5ecb-4db3-a05e-f9cfdbf281da/dff9d680-5ecb-4db3-a05e-f9cfdbf281da1.gif)
子程序在数控编程中的应用技巧
子程序在数控编程中的应用技巧
一、引言
在一个加工程序中的若干位置,如果包含有一连串在写法上完全相同或相似的内容,为了简化程序,可以
把这些重复的程序段单独列出,并按一定的格式编写成子程序。
主程序在执行过程中如果需要某一子程序,可以通过调用指令来调用该程序,子程序执行后又可以返回主程序,继续执行后面的程序段。
子程序在数控编程中应用相当广泛。
合理、正确应用子程序功能,为编写和修改加工程序带来很大方便,能大大提高工作效率。
下面介绍子程序的应用原则。
(1)零件上有若干处相同的轮廓形状。
在这种情况下只编写一个子程序,然后用主程序调用该子程序就可以了。
(2)加工中反复出现有相同轨迹的走刀路线。
被加工的零件需要刀具在某一区域内分层或分行反复走刀,走
刀轨迹总是出现某一特定的形状,采用子程序比较方便,此时通常要以增量方式编程。
(3)程序的内容具有相对的独立性。
在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间的调整也是容许的,为了优化加工顺序,把每一个的工序编成一个独立子程序,主程序中只需加入换刀和调用子程序等指令即可。
二、子程序的应用实例与技巧
1.分层切深零件外轮廓
示例:
用直径为20mm的立铣刀,加工图1所示零件。
要求每次最大切削深度不超过10mm。
分析:
零件在Z向厚度为40mm,根据要求,如果每次切削的深度为10mm,则需通过4次切深完成,在这四次循环切深过程中,刀具在XY平面上的运动轨迹是完全一样的。
故只要把刀具在XY平面上的运动轨迹编写成子程序,主程序四次调用该子程序就可以了。
参考程序及说明如表1所示。
图1零件之一
表1零件1的参考加工程序
2.分层切深加工槽
示例:
用直径为8mm的立铣刀,加工长方形槽,刀心轨迹如图2所示,槽深6mm,要求每次切削的深度不超
过2mm。
分析:
将刀心轨迹A-B-C-D-A编成子程序,主程序三次调用子程序,使槽深逐次增加,此时通常采用增量
方式编程比较方便,参考加工程序如表2所示。
图2零件之二
表2零件2参考加工程序如
3.分行切宽粗加工型腔
示例:
用直径为8mm的立铣刀,粗铣如图3所示的型腔。
分析:
(1)确定工艺路线如图4a所示刀心轨迹A-B-C-D-E-F-G作为一个循环单元,反复循环多次;
(2)计算刀心轨迹坐标、循环次数及步进量如图4b所示。
设循环次数为n,Y方向的步进距为y,步进方向槽宽为B,刀具直径为d,则各参数关系如下:
循环1次,铣出槽宽y+d;
循环2次,铣出槽宽3y+d;
循环3次,铣出槽宽5y+d;
循环n次,铣出槽宽B=(2n-1)y+d。
根据图样要求,将B=50、d=8代入B=(2n-1)y+d,取n=4,得Y=6,刀心轨迹有1mm重叠,方案可行。
相关参考程序如表3所示。
图3零件之三
表3零件3的参考加工程序
4.加工多工序零件
示例:
用直径为5mm的立铣刀,加工图5所示的零件,方槽的深度为6mm,圆槽的深度为4mm,要求每次切削的深度不超过2mm,试用子程序编程。
分析:
将两工序的加工轨迹编成子程序,然后用主程序分别调用,参考程序
如表4所示。
javascript:
resizepic(this)border=0>
图4刀心轨迹
图5零件之四
表4零件4的参考加工程序
三、结束语
本文通过几个典型的实例,从而详细、全面地介绍了FANUC系统中子程序的应用技巧,提高了编制程序的效率,简化了加工程序。
目前,小内存的数控机床仍然是我国在用机床的主流,如何使加工程序变得简洁,对现实加工来说,有着很重要的实际意义。
本文作者通过实例介绍了数控铣削加工编程中常用的子程序、宏程序、代码段调用及主轴复合摆动的五轴数控机床的刀具平面转换的应用等方面的内容,希望能为从事数控加工与编程的读者提供借鉴。
一、前言
数控编程作为数控加工的关键技术之一,其程序的编制效率和质量在很大程度上决定了产品的加工精度和生产效率。
尤其是随着数控加工不断朝高速、精密方向的发展,提高数控程序的编制质量和效率对于提高制造企业的竞争力有着重要的意义。
随着CAD/CAM软件的不断普及应用,数控编程的模式逐渐由自动编程取代手工编程。
但CAM软件编程和手工编程有着各自的特长,且现有的CAM软件不能满足所有数控系统的特殊功能,充分结合两种编程模式,对于提高编程的效率和质量有着重要的意义。
由于历史的原因,国内企业普通数控机床和高精密数控机床并存的局面将持续很长时间,对于传统的普通数控机床,无法实现高速切削加工,采用高速切削加工的编程策略难以发挥普通数控机床的加工效率,且传统数控机床普遍内存容量有限,因此合理有效地利用传统数控机床的特性,结合CAM软件自动编程和手工编程两种方式,编制简洁合理的小容量数控程序,有着非常现实的意义。
二、子程序及宏程序应用
在实际数控加工编程中,充分利用CAM软件的功能,配合手工编程,如宏程序的应用、代码段及子程序的调用等,可以充分提高数控编程的效率。
1.用户子程序应用实例
实际应用中,针对同一产品的多个相同加工特征的情况,以CAM软件编程或手工编程时,如能充分利用子程序功能,既可减少建模的工作量,也可提高程序的简洁性,降低程序的错误率。
在多数数控系统中,子程序调用都有专门的指令,如在FANUC系统中有M98/M99,在DeckelMaho系统中有G14或G22等。
如图1所示的分别是轮廓深度铣削循环、矩形阵列铣削循环、圆形旋转阵列铣削循环等三种不同的典型铣削循环。
图2则是基于FANUC系统的相应的子程序调用代码,其中O8001为深度铣削循环子程序调用代码、O8002为矩形阵列程序代码、O8003为圆形旋转阵列的循环铣削子程序调用代码。
a)深度铣削循环
b)矩形阵列铣削循环c)圆形阵列铣削循环
图1典型铣削循环示意图
a)深度铣削循环调用
合理地利用子程序、宏程序和代码段进行手工编程,对于数控加工程序的简化,作用是十分明显的,通过我们的实例,大家对其产生的显著效果有了感性的认识。
现实的加工中,有相同或相似特征的零件很多,如果大家在从事加工或编程的过程中能合理的利用这些技术,定能起到事半功倍的效果。
[3]华丽娟,徐朔.《数控加工技术》教学改革探索.职教论坛[J].2005,(3).
[4]马雪峰.《数控技术及应用》专业教学内容的改革与实践[J].黑龙江省高等教育学会2002年学术年会交流论文集.2002年.
b)矩形阵列子程序调用
c)圆形阵列子程序调用
图2相应子程序循环调用示意图
在数控机床上巧用子程序加工网式点阵孔群
(一)
数控编程是数控加工的重要步骤,数控编程一般又分为手工编程和自动编程两种。
手工编程主要用于对一些加工形状简单、计算量小、程序不多的零件,因此,在点位加工或直线与圆弧组成的轮廓加工中主要采用手工编程加工。
而对于形状复杂的零件,特别是具有非圆曲线、列表曲线及曲面组成的零件多采用自动编程。
加工中心上经常需要加工一些多孔类零件,尤其是孔数比较多而且每个孔须经过几道工艺加工方可完成的零什,例如在板类零件上进行点阵群孔的加工。
SIEMENS数控系统中具有线性孔和环形孔的固定循环加工指令,而在FANUC和华中世纪星等一些老的数控系统上没有线性孔和环形孔固定循环加工指令,要进行点阵群孔的加工则必须没汁一套用户宏程序。
而宏程序和宏指令是一个比较难以理解的概念和指令,所以在编程中大多数人还不会或不愿使用宏程序。
同时受客观条件的限制,自动编程(计算机编程)在目前还未被普及。
因此,存编制多孔类零件加工程序时,如果按常规编程,需要计算每个结点的坐标值,不但计算量大,编群速度慢,程序冗长,且极容易出错。
假如我们能灵活应用数控系统中的辅助编程功能来编程,则会使群孔加工的编程变得简单、清晰明了、程序编制时间也短。
下面是一种巧用子程序和钻孔固定循环进行网式点阵孔群加工的编程举例。
例:
在VMC750E华中世纪星HNC-21M加工中心上,在一厚度为12mm的工件上加工100个φ6mm线性矩阵排列孔(如图1所示),设刀具起点为(12,0,80)。
工艺分析如下:
1.刀具与合理的切削用量(详见附表)
2.程序设计
(1)加工路线如图2所示
(2)加工程序
%0086;主程序号
N02T1M06;T1为A2.5中心钻
N04G90G54GOOX12Y0M03S1200;刀具怏速移到起刀点
N06G43H01Z30M07;刀具长度补偿,打丌切削液
N08M98P6000F60Z5L5;调用钻孔子程序5次
N10C49G80G90G00Z80M09;取消长度补偿和固定循环
N12T2M06;T2为φ6麻花钻
N14G90G54G00X12Y0S600M03;刀具快速移到起刀点
N16G43H02MZ30M08;刀具长度补偿,打开切削液
N18M98P6000F120Z16L5;调用钻孔子程序5次
N20G49G80G90G00Z80M09;取消长度补偿和固定循环
N22T3M06;T3为45º倒角刀
N24G90G54G00X12Y0S600M03;刀具快速移到起刀点
N26M98P6000F50P1Z0.3L5;调用钻孔子程序5次
N28G49G80G90G00Z80M09;取消K度补偿和固定循环
N30G00X-100Y0M05;主轴停止
N32M30;程序结束并返回程序起始段
%
%6000;程序序号
N10G99G81G91Y12G90Z[-#25]R3F150P[#15];
调用固定循环
(1)孔
N15G91X12Y0L9;在
(2)~(10)孔位上钻孔
N20X0Y12;在(11)孔位上钻孔
N25X-12Y0LO;在(12)~(20)孔位上钻孔
N30M99;子程序结束并返回主程序
%
在HNC—21M数控系统上巧用子程序来加工线性矩阵孔,此方法已在实际加工中得到成功运用,它具有编程快捷、程序液晰明了、节约数控内存的优点。
并且只要将矩阵孔的行数、列数、及孔的间距和起刀点等尺寸参数作为变量放在子程序调用指令后来进行编程,将子程序固定存储在系统内存中,它又具有一定的通用性;因此我们同样可以巧用子程序来编制环形孔群的加工程序。