子程序在数控编程中的应用技巧一、引言在一个加工程序中的若干位置,如果包含有一连串在写法上完全相同或相似的内容,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,可以通过调用指令来调用该程序,子程序执行后又可以返回主程序,继续执行后面的程序段。子程序在数控编程中应用相当广泛。合理、正确应用子程序功能,为编写和修改加工程序带来很大方便,能大大提高工作效率。下面介绍子程序的应用原则。(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软件不能满足所有数控系统的特殊功能,充分结合两种编程模式,对于提高编程的效率和质量有着重要的意义。由于历史的原因,国内企业普通数控机床和高精密数控机床并存的局面...