《子程序在数控编程中的应用技巧(共16页).doc》由会员分享,可在线阅读,更多相关《子程序在数控编程中的应用技巧(共16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上子程序在数控编程中的应用技巧一、引言 在一个加工程序中的若干位置,如果包含有一连串在写法上完全相同或相似的内容,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,可以通过调用指令来调用该程序,子程序执行后又可以返回主程序,继续执行后面的程序段。子程序在数控编程中应用相当广泛。合理、正确应用子程序功能,为编写和修改加工程序带来很大方便,能大大提高工作效率。下面介绍子程序的应用原则。(1)零件上有若干处相同的轮廓形状。在这种情况下只编写一个子程序,然后用主程序调用该子程序就可以了。(2)加工中反复出现有相同轨迹
2、的走刀路线。被加工的零件需要刀具在某一区域内分层或分行反复走刀,走刀轨迹总是出现某一特定的形状,采用子程序比较方便,此时通常要以增量方式编程。(3)程序的内容具有相对的独立性。在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间的调整也是容许的,为了优化加工顺序,把每一个的工序编成一个独立子程序,主程序中只需加入换刀和调用子程序等指令即可。二、子程序的应用实例与技巧1.分层切深零件外轮廓 示例:用直径为20mm的立铣刀,加工图1所示零件。要求每次最大切削深度不超过10mm。 分析:零件在Z向厚度为40mm,根据要求,如果每次切削的深度为10mm,则需通过4次切深完成,在这四次循环切深过程
3、中,刀具在XY平面上的运动轨迹是完全一样的。故只要把刀具在XY平面上的运动轨迹编写成子程序,主程序四次调用该子程序就可以了。参考程序及说明如表1所示。图1 零件之一表1 零件1的参考加工程序2.分层切深加工槽 示例:用直径为8mm的立铣刀,加工长方形槽,刀心轨迹如图2所示,槽深6mm,要求每次切削的深度不超过2mm。 分析:将刀心轨迹A-B-C-D-A编成子程序,主程序三次调用子程序,使槽深逐次增加,此时通常采用增量方式编程比较方便,参考加工程序如表2所示。图2 零件之二表2 零件2参考加工程序如3.分行切宽粗加工型腔 示例:用直径为8mm的立铣刀,粗铣如图3所示的型腔。 分析:(1)确定工艺
4、路线 如图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,得Y6,刀心轨迹有1mm重叠,方案可行。相关参考程序如表3所示。三、结束语 本文通过几个典型的实例,从而详细、全面地介绍了FANUC系统中子程序的应用技巧,提高了编制程序的效率
5、,简化了加工程序。目前,小内存的数控机床仍然是我国在用机床的主流,如何使加工程序变得简洁,对现实加工来说,有着很重要的实际意义。本文作者通过实例介绍了数控铣削加工编程中常用的子程序、宏程序、代码段调用及主轴复合摆动的五轴数控机床的刀具平面转换的应用等方面的内容,希望能为从事数控加工与编程的读者提供借鉴。 一、前言 数控编程作为数控加工的关键技术之一,其程序的编制效率和质量在很大程度上决定了产品的加工精度和生产效率。尤其是随着数控加工不断朝高速、精密方向的发展,提高数控程序的编制质量和效率对于提高制造企业的竞争力有着重要的意义。随着CAD/CAM软件的不断普及应用,数控编程的模式逐渐由自动编程取
6、代手工编程。但CAM软件编程和手工编程有着各自的特长,且现有的CAM软件不能满足所有数控系统的特殊功能,充分结合两种编程模式,对于提高编程的效率和质量有着重要的意义。由于历史的原因,国内企业普通数控机床和高精密数控机床并存的局面将持续很长时间,对于传统的普通数控机床,无法实现高速切削加工,采用高速切削加工的编程策略难以发挥普通数控机床的加工效率,且传统数控机床普遍内存容量有限,因此合理有效地利用传统数控机床的特性,结合CAM软件自动编程和手工编程两种方式,编制简洁合理的小容量数控程序,有着非常现实的意义。 二、子程序及宏程序应用 在实际数控加工编程中,充分利用CAM软件的功能,配合手工编程,如
7、宏程序的应用、代码段及子程序的调用等,可以充分提高数控编程的效率。 1.用户子程序应用实例 实际应用中,针对同一产品的多个相同加工特征的情况,以CAM软件编程或手工编程时,如能充分利用子程序功能,既可减少建模的工作量,也可提高程序的简洁性,降低程序的错误率。在多数数控系统中,子程序调用都有专门的指令,如在FANUC系统中有M98/M99,在DeckelMaho系统中有G14或G22等。如图1所示的分别是轮廓深度铣削循环、矩形阵列铣削循环、圆形旋转阵列铣削循环等三种不同的典型铣削循环。图2则是基于FANUC系统的相应的子程序调用代码,其中O8001为深度铣削循环子程序调用代码、 O8002为矩形
8、阵列程序代码、O8003为圆形旋转阵列的循环铣削子程序调用代码。a)深度铣削循环b)矩形阵列铣削循环 c)圆形阵列铣削循环 图1 典型铣削循环示意图a)深度铣削循环调用合理地利用子程序、宏程序和代码段进行手工编程,对于数控加工程序的简化,作用是十分明显的,通过我们的实例,大家对其产生的显著效果有了感性的认识。现实的加工中,有相同或相似特征的零件很多,如果大家在从事加工或编程的过程中能合理的利用这些技术,定能起到事半功倍的效果。3 华丽娟,徐朔. 数控加工技术教学改革探索. 职教论坛J. 2005,(3). 4 马雪峰. 数控技术及应用专业教学内容的改革与实践J. 黑龙江省高等教育学会2002年
9、学术年会交流论文集. 2002 年.b)矩形阵列子程序调用c)圆形阵列子程序调用 图2 相应子程序循环调用示意图在数控机床上巧用子程序加工网式点阵孔群(一)数控编程是数控加工的重要步骤,数控编程一般又分为手工编程和自动编程两种。手工编程主要用于对一些加工形状简单、计算量小、程序不多的零件,因此,在点位加工或直线与圆弧组成的轮廓加工中主要采用手工编程加工。而对于形状复杂的零件,特别是具有非圆曲线、列表曲线及曲面组成的零件多采用自动编程。加工中心上经常需要加工一些多孔类零件,尤其是孔数比较多而且每个孔须经过几道工艺加工方可完成的零什,例如在板类零件上进行点阵群孔的加工。SIEMENS数控系统中具有
10、线性孔和环形孔的固定循环加工指令,而在FANUC和华中世纪星等一些老的数控系统上没有线性孔和环形孔固定循环加工指令,要进行点阵群孔的加工则必须没汁一套用户宏程序。而宏程序和宏指令是一个比较难以理解的概念和指令,所以在编程中大多数人还不会或不愿使用宏程序。同时受客观条件的限制,自动编程(计算机编程)在目前还未被普及。因此,存编制多孔类零件加工程序时,如果按常规编程,需要计算每个结点的坐标值,不但计算量大,编群速度慢,程序冗长,且极容易出错。假如我们能灵活应用数控系统中的辅助编程功能来编程,则会使群孔加工的编程变得简单、清晰明了、程序编制时间也短。下面是一种巧用子程序和钻孔固定循环进行网式点阵孔群
11、加工的编程举例。例:在VMC750E华中世纪星HNC-21M加工中心上,在一厚度为12mm的工件上加工100个6mm线性矩阵排列孔(如图1所示),设刀具起点为(12,0,80)。工艺分析如下:1.刀具与合理的切削用量(详见附表)2.程序设计(1)加工路线如图2所示(2)加工程序0086; 主程序号N02 T1 M06; T1为A2.5中心钻N04 G90 G54 GOO X12 Y0 M03 S1200; 刀具怏速移到起刀点N06 G43 H01 Z30 M07; 刀具长度补偿,打丌切削液N08 M98 P6000 F60 Z5 L5; 调用钻孔子程序5次N10 C49 G80 G90 G00
12、 Z80 M09; 取消长度补偿和固定循环N12 T2 M06; T2为6麻花钻N14 G90 G54 G00 X12 Y0 S600 M03; 刀具快速移到起刀点N16 G43 H02 MZ30 M08; 刀具长度补偿,打开切削液N18 M98 P6000 F120 Z16 L5; 调用钻孔子程序5次N20 G49 G80 G90 G00 Z80 M09; 取消长度补偿和固定循环N22 T3 M06; T3为45倒角刀N24 G90 G54 G00 X12 Y0 S600 M03; 刀具快速移到起刀点N26 M98 P6000 F50 P1 Z0.3 L5; 调用钻孔子程序5次N28 G49
13、 G80 G90 G00 Z80 M09; 取消K度补偿和固定循环N30 G00 X-100 Y0 M05; 主轴停止N32 M30; 程序结束并返回程序起始段6000; 程序序号N10 G99 G81 G91 Y12 G90 Z- #25 R3 F150 P#15;调用固定循环(1)孔N15 G91 X12 Y0 L9; 在(2)(10)孔位上钻孔N20 X0 Y12; 在(11)孔位上钻孔N25 X-12 Y0 LO; 在(12)(20) 孔位上钻孔N30 M99; 子程序结束并返回主程序在HNC21M数控系统上巧用子程序来加工线性矩阵孔,此方法已在实际加工中得到成功运用,它具有编程快捷、程序液晰明了、节约数控内存的优点。并且只要将矩阵孔的行数、列数、及孔的间距和起刀点等尺寸参数作为变量放在子程序调用指令后来进行编程,将子程序固定存储在系统内存中,它又具有一定的通用性;因此我们同样可以巧用子程序来编制环形孔群的加工程序。专心-专注-专业