半径编程与直径编程切换(6立加编程子程序的编制方法与应用)
半径编程与直径编程切换(6立加编程子程序的编制方法与应用)上面介绍了什么是子程序及逻辑顺序,下面我们讲解在FANUC系统编程中如何调用子程序,子程序调动指令为:图示(3)这样我们得到的加工路径如图示(2),刀具重复做了10次零件外形铣削的动作,只是每次的加工深度不同,遇到这种情况,我们就可以把加工零件外形的部分编制为“子程序“,通过主程序经行调用,这样就简化了手工编程的工作量同时程序更简洁易懂。图示(2)主程序与子程序的关系如图示(3),主程序执行过程中可以调用子程序,遇到调用指令后机床开始执行子程序中的程序内容,当执行完子程序程序内容后自动返回主程序,继续执行主程序的其他程序指令,直至程序结束。一个主程序中可以调用多个子程序,子程序也可以调用子子程序,我们把主程序调用子程序称为“一级嵌套“,子程序调用子子程序称为”二级嵌套“在FANUC系统编程中一个程序最多允许三级嵌套,图示(3)为二级嵌套。
本节我们讲解在FANUC系统手工编程中”子程序“的编制方法及适用场合。什么是子程序?
我们把可以多次调用、能够完成特定操作功能的程序段编写成独立的程序模块称为子程序。
我的理解就是,程序编制时某一刀具路径需要重复使用,即可将此路径单独编制一个程序,通过主程序进行调用,根据需求决定调用次数。如图示(1),我们要在左侧毛坯的基础上加工出一个80*80*50的凸台。我们选用D16合金铣刀进行加工,由于切削力过大不能一次加工成型,需要在Z轴方向分层加工,每层加工5毫米,加工10次。
图示(1)
这样我们得到的加工路径如图示(2),刀具重复做了10次零件外形铣削的动作,只是每次的加工深度不同,遇到这种情况,我们就可以把加工零件外形的部分编制为“子程序“,通过主程序经行调用,这样就简化了手工编程的工作量同时程序更简洁易懂。
图示(2)
主程序与子程序的关系如图示(3),主程序执行过程中可以调用子程序,遇到调用指令后机床开始执行子程序中的程序内容,当执行完子程序程序内容后自动返回主程序,继续执行主程序的其他程序指令,直至程序结束。一个主程序中可以调用多个子程序,子程序也可以调用子子程序,我们把主程序调用子程序称为“一级嵌套“,子程序调用子子程序称为”二级嵌套“在FANUC系统编程中一个程序最多允许三级嵌套,图示(3)为二级嵌套。
图示(3)
上面介绍了什么是子程序及逻辑顺序,下面我们讲解在FANUC系统编程中如何调用子程序,子程序调动指令为:
M98P_L_ 其中M98为调用子程序,P为调用子程序的程序号,L为调用子程序的次数。
M98P0001L5 就是调用O0001号程序,调用5次。这里注意,子程序程序名最好为“O“开头,且最好为4位数,如O0011、O1234、O4321。
M99 为子程序结束并返回主程序
在程序列表中,主程序和子程序存放在一起,不需要单独建立存储位置,两者只是根据程序名称来区分。
下面我们用一段程序为大家做介绍,如图示(4)我们用D10合金铣刀加工D30内圆,工件坐标系设立在圆心,Z轴0点设立在工件上表面。我们采用分层加工,每层加工2毫米,总切深20毫米,编制好的程序如图示(5),刀具路径如图示(6)。
图示(4)
图示(5)
图示(6)
在程序中我们可以看到主程序将刀具移动到X0Y0Z0位置,如图示(7)的A点,子程序结束后刀具到达B点,这里需要注意,从Z轴方向看,如编程为同一轮廓,子程序编程时的起始点与终止点必须一致,否则刀具将出现过切现象。
图示(7)
各位注意,图示(5)中子程序第一程序段:G91G01Z-2.F50;这段指令很关键,这个Z-2为增量编程。这段程序翻译过来就是“不管刀具在什么加工位置,都以当前位置下降2毫米“,有了这段指令才能实现我们的分层加工。逻辑顺序就是当第一次执行子程序时,子程序开始时刀具处于Z0位置,结束时处于Z-2位置;当执行第二次子程序时,刀具起始位置变成了Z-2,结束是为Z-4,以此类推,直至加工深度到达Z-20子程序调用结束返回主程序,主程序继续执行下步操作。
在子程序编制中,我们可以使用绝对编程也可以使用增量编程,两者混用也可以。这取决于工件被加工位置与坐标系的关系。如零件编程轮廓点位相对于工件坐标系容易计算,我们就采用绝对编程,不方便计算我们就采用增量编程。如图示(4)中的零件,所有点位都是围绕圆心点给的,那么我们将工件坐标系设立在圆心,即便于看图又方便点位计算。
下面为大家介绍另一种子程序应用案例,如图示(8)我们在100*100的工件上用D10合金铣刀加工4个D30深度20的孔,看看是如何利用子程序进行编程的,加工程序见图示(9)。
图示(8)
图示(9)
注意观察程序,这次的刀具路径(图示(10)与图示(6)的刀具路径不同,我们这次是斜插式下刀,与图示(6)垂直下刀相比,切削力更轻,对刀具的排屑及寿命都有提高。如编程条件允许,尽量不在工件实体上进行垂直下刀。
图示(10)
以上就是我们今天所讲的子程序的使用方法及应用案例,下节我们将开始介绍“固定循环“指令的使用方法及适用场合,敬请关注!