1、子程序调用技术子程序调用技术学习目标学习目标1.1.掌握子程序的特点和应用。掌握子程序的特点和应用。2.2.学习较复杂零件的数控手工编程方法。学习较复杂零件的数控手工编程方法。1、子程序的含义2、主、子程序结构的异同3、调用子程序指令格式4、主-子程序调用关系5、主-子程序结构书写6、主-子程序结构应用关键7、子程序编程注意事项1 1、子程序的含义、子程序的含义 将程序中重复的程序段单独抽出,并按一定格式单独命将程序中重复的程序段单独抽出,并按一定格式单独命 名,称之为子程序。名,称之为子程序。在编制加工程序中,有时会出现有规律、重复出现的程序段。在编制加工程序中,有时会出现有规律、重复出现的
2、程序段。 通常数控系统按主程序指令运行,但在主程序运行中遇通常数控系统按主程序指令运行,但在主程序运行中遇到子程序调用指令时,数控系统将按子程序的指令运行,到子程序调用指令时,数控系统将按子程序的指令运行,在子程序调用结束后控制权重新交给主程序,继续主程序在子程序调用结束后控制权重新交给主程序,继续主程序指令的运行。指令的运行。 使复杂程序结构明晰使复杂程序结构明晰程序简短程序简短增强数控系统编程功能增强数控系统编程功能采用子程序的意义采用子程序的意义2、主、子程序结构异同、主、子程序结构异同相同:相同:都是完整的程序。包括程序号、程序段、程序结束指令都是完整的程序。包括程序号、程序段、程序结
3、束指令不同:不同:程序结束指令不同程序结束指令不同主程序:主程序:M02 或或 M30子程序:子程序:M99 子程序不能单独运行,由主程序或上层子程序子程序不能单独运行,由主程序或上层子程序调用执行。调用执行。3、调用子程序的指令格式、调用子程序的指令格式M98 P ;子程序号子程序号调用次数调用次数M98 P L; 调用次数调用次数子程序号子程序号子程序号子程序号: : 是调用入口地址,是调用入口地址,必须和主程序中的子程序调必须和主程序中的子程序调用指令中所指向的程序号一用指令中所指向的程序号一致。致。子程序结束:子程序结束: M99M994 4、主子程序调用关系、主子程序调用关系v可可实
4、四级嵌套实四级嵌套v逐层调用,逐层返回。逐层调用,逐层返回。主程序主程序子程序子程序子程序子程序子程序嵌套子程序嵌套 为进一步简化程序,调出的子程序可以再调用另一个子程为进一步简化程序,调出的子程序可以再调用另一个子程序,称为子程序的嵌套。主程序调用子程序为一重子程序调序,称为子程序的嵌套。主程序调用子程序为一重子程序调用,子程序调用子程序称为多重调用,子程序的嵌套不是无用,子程序调用子程序称为多重调用,子程序的嵌套不是无限次的,限次的,FANUC OI系统子程序调用可以嵌套系统子程序调用可以嵌套4级,如下图所级,如下图所示。示。5、主、主-子程序结构书写子程序结构书写主主子程序子程序主程序与
5、子程序要单独分开写,主程序与子程序要单独分开写, 分别取两个程序名,如主程序分别取两个程序名,如主程序 O1234, 子程序子程序O1235 主程序写在前主程序写在前子程序写在后子程序写在后 两者之间空几行作分隔两者之间空几行作分隔6、主、主-子程序结构应用关键子程序结构应用关键v找出重复程序段规律,确定子程序。找出重复程序段规律,确定子程序。v将要变化的部分写在主程序,不变的部分作将要变化的部分写在主程序,不变的部分作子程序。子程序。v主主子程序接口:保证主程序调用和子程序子程序接口:保证主程序调用和子程序返回正确的衔接返回正确的衔接如:从某点进入子程序,返回时也固定在该点如:从某点进入子程
6、序,返回时也固定在该点。7、子程序编程注意事项注:注:1、一般主程序号子程序号。3、一般地返回主程序后应再出现一个G90以把子程序中的G91模式再变回来。4、调用子程序时,刀补建立和取消均应在子程序中进行。2、一般主程序用绝对坐标G90编程,加工几个几何形状几乎相同的模具时应用方便,子程序用相对坐标编程G91。5、注意主程序、子程序间模式代码的变换,本例题中子程序起始行用了G91模式下刀,从而避免了重复执行子程序过程中刀具在同一深度(位置)加工。需要注意及时进行G90与G91模式的变换。子程序调用编程举例(二)子程序调用编程举例(二)分层加工分层加工 使用数控铣完成上图所示零件的加工,零件材质
7、为LY12,毛坯为11811830。四周和上下表面已加工并达到图纸要求。加工内容为轮廓内、外形铣削,要求制定正确的加工工艺方案,选择合理的刀具和切削三要素。编制数控加工程序并加工出符合图纸的零件。一任务描述二设计加工方案 该零件加工精度要求一般,外型表面粗糙度为3.2,无公差要求,主要是外型加工,可采用18MM的立铣刀用建立刀具补偿,利用分层铣削技术,每次Z轴方向下刀0.5MM ,分6次完成深度加工。 1 .零件图样分析 2.机床及夹具选择 选择机床应根据加工零件的形状、尺寸、精度要求及现有条件进行。本零件为板类零件,选择普通精度的数控铣即可满足加工要求。夹具可选择0-200mm通用的平口钳装
8、夹该工件。 3 .确定工件坐标系 根据零件图,选择工件上表面的中心点处为工件坐标系的编程原点。 4.加工方案的安排 本零件需要的加工是内、外型轮廓,可在机床上一次装夹完成。由于该零件无精度要求,可以安排一道工序加工,该工序可使用规格为18MM的立铣刀,通过建立刀具半径补偿和分层铣削来完成其精度的控制。5.刀具及切削用量的选择 影响加工质量的因素:主轴转速、进给速度、吃刀深度。 加工时采用高速加工(是指高的主轴转速、高的进给速度、低的吃刀深度),以便提高实际加工效率。 根据经验值:加工LYH12材料主轴转速应设为S3000 S4000 r/min 、轴向进给速度(Z轴)应设为F80F120 mm
9、/min、径向进给速度(X轴和Y轴)应设为F1000 F1500 mm/min 、刀深度应设为刀具直径2% - 4%(每次吃刀深度Z为-0.5 mm ) 。6. 加工路线的选择及加工节点计算加工路线的选择及刀补方向的判断 外轮廓加工路线1-2-4-9-8-7-6-5-4-3-1 采用右刀补G42内圆轮廓加工路线10-12-13-13-11-10 采用左刀补G417. 程序编写主程序主程序说明说明% %程序传输格式符程序传输格式符O1000O1000;主程序名主程序名N10 G90G17G40G54G0Z100N10 G90G17G40G54G0Z100;绝对坐标编程,选择绝对坐标编程,选择XY
10、XY工作工作平面,取消刀具半径补偿,平面,取消刀具半径补偿,选择工件坐标系选择工件坐标系G54G54,刀具定,刀具定位至安全高度;位至安全高度;N20 M03 S3000N20 M03 S3000;主轴正转,转速为主轴正转,转速为3000r/min3000r/minN30 G0 X-77 Y0N30 G0 X-77 Y0;刀具定位至刀具定位至1 1点;点;N40 Z5N40 Z5;定位至进刀平面;定位至进刀平面; N50 G1Z0F100N50 G1Z0F100;Z Z轴下刀到轴下刀到0 0平面平面 ;N60 M98 P62000N60 M98 P62000 ;调用子程序调用子程序200020
11、00,次数,次数6 6 ;N70 G90 G00 Z50N70 G90 G00 Z50 ;抬刀到安全高度抬刀到安全高度50MM50MM ;N80 N80 X0 Y0X0 Y0 ;刀具定位到下一个起点加工刀具定位到下一个起点加工(10(10点点) ) ;N90 Z5N90 Z5 ;快速定位到进到平面快速定位到进到平面 ;N100 N100 G1 Z0. F80G1 Z0. F80 ;Z Z轴下刀到轴下刀到0 0平面平面 ;N110 M98 P63000N110 M98 P63000 调用子程序调用子程序30003000,次数,次数6 6 ;N120 G90 G90 G0 Z50G0 Z50 绝对
12、方式退刀到安全高度绝对方式退刀到安全高度50MM50MM ;N130 M5N130 M5 ;主轴停止主轴停止 ;N140 M30N140 M30 ;程序结束并返回程序开头;程序结束并返回程序开头;% %程序结束符,用于程序传程序结束符,用于程序传输;输; ;子程序子程序说明说明% %程序传输格式符;程序传输格式符;O2000O2000;子程序名;子程序名;N10 N10 G91G91G01Z-0.5F80G01Z-0.5F80;相对方式每次下刀相对方式每次下刀0.5MM0.5MM ;N20 N20 G90G90G G42G1X-61Y11F100042G1X-61Y11F1000;建立刀补(建
13、立刀补(1 1点点-2-2点)点) ; N30 G2X-50Y0R11N30 G2X-50Y0R11;圆弧插补(圆弧插补(2 2点点-4-4点)点) ;N40 G1X-50Y-50N40 G1X-50Y-50;直线插补(直线插补(4 4点点-9-9点)点) ;N50 X50N50 X50;直线插补(直线插补(9 9点点-8-8点)点) ;N60 Y35N60 Y35;直线插补(直线插补(8 8点点-7-7点)点) ;N70 G3X35Y50R15N70 G3X35Y50R15;圆弧插补(圆弧插补(7 7点点-6-6点)点) ;N80 G1X-50N80 G1X-50;直线插补(直线插补(6 6
14、点点-5-5点)点) ;N90 Y0N90 Y0;直线插补(直线插补(5 5点点-4-4点)点) ;N100 G2X-61Y-11R11N100 G2X-61Y-11R11;圆弧插补(圆弧插补(4 4点点-3-3点)点) ;N110 N110 G40G1X-77Y0G40G1X-77Y0;取消刀补(取消刀补(3 3点点-1-1点)点); N120 N120 M99M99 ;返回主程序返回主程序 ;% %程序结束符,用于程序传程序结束符,用于程序传输;输; ;子程序子程序说明说明% %程序传输格式符;程序传输格式符;O3000O3000;子程序名;子程序名;N10 N10 G91G91G01Z-
15、0.5F80G01Z-0.5F80;相对方式每次下刀相对方式每次下刀0.5MM0.5MM ;N20 N20 G90G90G41D1G1X-8Y11F1000G41D1G1X-8Y11F1000;建立刀补(建立刀补(1010点点-12-12点)点) ; N30 G3X-19Y0R11N30 G3X-19Y0R11;圆弧插补(圆弧插补(1212点点-13-13点)点) ;N40 G3I19N40 G3I19;整圆编写(整圆编写(1313点点-13-13点)点) ;N50 X-8Y-11R11N50 X-8Y-11R11;圆弧插补(圆弧插补(1313点点-11-11点)点) ;N60 N60 G40G1X0Y0G40G1X0Y0;取消刀补(取消刀补(1111点点-10-10点)点) ;N70 N70 M99M99;返回主程序返回主程序 ;N80 %N80 %;结束符结束符