简化编程——子程序的应用讲授:穆国岩教材主编教授省级精品课程负责人山东省教学名师山东省名师工作室主持人子程序及其应用PART01重点1、子程序的意义2、子程序的格式及各项含义难点1、子程序的执行过程2、用子程序实现分层切削前面所介绍的数控程序都是一个模式,由OXXX开头,M30结束。实际上,计算机编程有一个很重要的概念就是模块化,将复杂的任务分解为一个个小的模块,每一个模块编写出独立的程序,称为子程序。最后将工作汇总,这样主程序主要用来调用子程序,会非常简洁,而子程序实现一个个具体的目标。数控编程中,对某些特殊的表面也沿用了这一概念。课程导入1.子程序的定义机床的加工程序可以分为主程序和子程序两种。主程序是一个完整的零件加工程序,或是零件加工程序的主体部分。它与被加工零件或加工要求一一对应,不同的零件或不同的加工要求都有惟一的主程序。在编制加工程序中,有时会遇到一组程序段在一个程序中多次出现,或者在几个程序中都要使用它。这个典型的加工程序可以做成固定程序,并单独加以命名,这组程序段就称为子程序。子程序一般都不可以作为独立的加工程序使用,它只能通过主程序进行调用,实现加工中的局部动作。子程序执行结束后,能自动返回到调用它的主程序中。一、子程序为了进一步简化加工程序,可以允许其子程序再调用另一个子程序,这一功能称为子程序的嵌套。当主程序调用子程序时,该子程序被认为是一级子程序,FANUC0i系统中的子程序允许4级嵌套(见下图),而华中数控系统的子程序允许8级嵌套。O0001...M98P100...M30O100...M98P200...M99O200...M98P300...M99O300...M98P400...M99O400.........M99一、子程序2.子程序的嵌套一、子程序3.子程序的格式——M98、M99O0001…M98P_L_;M98调用子程序,位于主程序中…M30O0002;子程序名,作为调用入口地址…M99;M99在子程序结尾处,表示子程序结束并返回主程序主程序子程序FANUC系统主程序和子程序是两个文件;华中系统主程序和子程序放在一个文件中一、子程序4.子程序的调用对比格式一:M98P____L____格式二:M98P________含义地址P后面的4位数字为子程序号,地址L的数字表示重复调用的次数地址P后面的8位数字中,前4位表示调用次数,后4位表示子程序号举例M98P100L5M98P50100作用表示调用O100子程序5次说明子程序号及调用次数的前置0可省略不写调用次数前的0可省,子程序号前的0不可省用途用于华中系统用于FANUC、广数系统一、子程序5.子程序的执行过程O0001…M98P_L_;M98调用子程序,位于主程序中…M30O0002;子程序名,作为调用入口地址…M99;M99在子程序结尾处,表示子程序结束并返回主程序主程序子程序1.同平面内完成多个相同轮廓加工二、子程序的应用在一次装夹中若要完成多个相同轮廓形状工件的加工,则编程时只编写一个轮廓形状加工程序,然后用主程序来调用子程序。2.实现零件的分层切削有时零件在某个方向上的总切削深度比较大,要进行分层切削,则编写该轮廓加工的刀具轨迹子程序后,通过调用该子程序来实现分层切削。二、子程序的应用【例3-6】如图3-42所示零件,毛坯选用150×50×20mm的铝材,刀具为φ12mm的立铣刀,试用子程序编程加工3-30×30×5mm的凸台。O1G54G90G40G00Z50M3S1000X0Y0G43Z5H01G01Z-5F100M98P30100G90G49G00Z100X0Y0M30O100;子程序G91G41G01X10Y10D01;相对坐标Y30X30Y-30X-30G40X-10Y-10X50;到达下一个凸台的起点M99二、子程序的应用【例3-7】在数控立式铣床上加工如图3-41所示零件凸台外形轮廓,Z轴分层切削,每次背吃刀量为3mm,试编写凸台外形轮廓加工程序。O0020;倒圆角简化编程G91G1Z-3.0;G90G41X-20.0Y-25.0D01F222;Y20.0,R10.0;X20.0,R1.0;Y-20.0,R10.0;X-20.0,R10.0;G01Y-8.0;沿着刀具前进方向移动一小段距离,以完成R圆角的铣削加工G40X-40.0;Y-40.0;M99;O0008;主程序G54G90;G00Z50.0;X-40.0Y-40.0;G43Z20.0H01;M03S600;G01Z0.0F100.0;M98P50020;G90G49G00Z100.0;M30;O0020;子程序G91G01Z-3.0;G90G41G01X-20.0Y-20.0D01F200;G01Y10.0;G02X-10.0Y20.0R10.0;G01X10.0;G02X20.0Y10...