子程序在数控编程中的应用技巧
一、引言
在一个加工程序中的若干位置,如果包含有一连串在写法上完全相同或相似的内容,为了简化程序,可以
把这些重复的程序段单独列出,并按一定的格式编写成子程序。
主程
序在执行过程中如果需要某一子程序,可以通过调用指令来调用该程序,子程序执行后又可以返回主程序,继续执行后面的程序段。
子程
序在数控编程中应用相当广泛。
合理、正确应用子程序功能,为编写
和修改加工程序带来很大方便,能大大提高工作效率。
下面介绍子程
序的应用原则。
(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 所示。
javascri pt:resizepic(this) border=0>
图 4 刀心轨迹
图 5 零件之四
表 4 零件 4 的参考加工程序
三、结束语
本文通过几个典型的实例,从而详细、全面地介绍了FANUC系统中子程序的应用技巧,提高了编制程序的效率,简化了加工程序。
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;主程序号N02 T1 M06;T1为A2.5中心钻N04 G90 G54GOO X12 Y0 M03 S1200;刀具怏速移到起刀点
N06 G43 H01Z30M07;
N08 M98 P6000F60 Z5 L5;刀具长度补偿,打丌切削液
调用钻孔子程序5次
N10 C49 G80G90G00 Z80M09;取消长度补偿和固定循环
N12 T2 M06;T2为φ6麻花钻N14 G90 G54G00X12 Y0 S600 M03;刀具快速移到起刀点
N16 G43 H02MZ30 M08;
N18 M98 P6000F120 Z16 L5;
N20 G49 G80G90G00 Z80M09;刀具长度补偿,打开切削液
调用钻孔子程序5次取消长度补偿和固定循环
N22 T3 M06;T3为45º倒角刀
N24 G90 G54G00X12 Y0 S600 M03;N26 M98 P6000F50 P1 Z0.3 L5;
N28 G49 G80G90G00 Z80M09;
N30 G00 X-100Y0 M05;
刀具快速移到起刀点
调用钻孔子程序5次取消K度补偿和固定循环
主轴停止
N32 M30;%
%6000;程序结束并返回程序起始段
程序序号
N10 G99 G81G91Y12 G90Z[- #25] R3 F150P[#15];
调用固定循环(1)孔
N15 G91 X12Y0L9;N20 X0 Y12;
N25 X-12 Y0LO;
N30 M99;
在(2)~(10)孔位上钻孔
在(11)孔位上钻孔在(12)~(20)孔位上钻孔子程序结束并返回主程序
%
在HNC—21M数控系统上巧用子程序来加工线性矩阵孔,此方法已在实际加工中得到成功运用,它具有编程快捷、程序液晰明了、节约数控内存的优点。
并且只要将矩阵孔的行数、列数、及孔的间距和起刀点等尺寸参数作为变量放
在子程序调用指令后来进行编程,将子程序固定存储在系统内存中,它又具有一定的通用性;因此我们同样可以巧用子程序来编制环形孔群的加工程序。