首页 百科知识 子程序的编程与应用

子程序的编程与应用

时间:2022-10-11 百科知识 版权反馈
【摘要】:子程序的格式 在大多数数控系统中,子程序和主程序并无本质区别。子程序和主程序在程序号及程序内容方面基本相同,仅结束标记不同。主程序用M02或M30表示其结束,而子程序在FANUC系统中则用M99表示子程序结束,并实现自动返回主程序功能,如下述子程序。如例3表示调用O0010子程序5次,而例4则表示调用O510子程序1次。分析本例的主要目的是掌握切槽等固定循环在子程序中的运用。

第五节 子程序的编程与应用

【工作任务】

制订如图3-40所示零件的加工工艺方案,应用子程序编写程序并加工软管接头右端楔槽,毛坯选用φ25mm×80mm的黄铜。

img212

图3-40 软管接头

【相关理论】

一、子程序

1.子程序的概念

(1)子程序的定义 机床的加工程序可以分为主程序和子程序两种。主程序是一个完整的零件加工程序,或是零件加工程序的主体部分。它与被加工零件或加工要求一一对应,不同的零件或不同的加工要求,都有唯一的主程序。

编制加工程序时,有时会遇到一组程序段在一个程序中多次出现,或者在几个程序中都要使用它。这个典型的加工程序可以做成固定程序,并单独加以命名,这组程序段就称为子程序。

子程序一般都不可以作为独立的加工程序使用,它只能通过主程序进行调用,实现加工中的局部动作。子程序执行结束后,能自动返回到调用它的主程序中。

(2)子程序的嵌套 为了进一步简化加工程序,可以允许其子程序再调用另一个子程序,这一功能称为子程序的嵌套。

当主程序调用子程序时,该子程序被认为是一级子程序,FANUC 0系统中的子程序允许4级嵌套,如图3-41所示。

img213

图3-41 子程序的嵌套

2.子程序的调用

(1)子程序的格式 在大多数数控系统中,子程序和主程序并无本质区别。子程序和主程序在程序号及程序内容方面基本相同,仅结束标记不同。主程序用M02或M30表示其结束,而子程序在FANUC系统中则用M99表示子程序结束,并实现自动返回主程序功能,如下述子程序。

O0410;

G01 U-1.0 W0;

……

G28 U0 W0;

M99;

对于子程序结束指令M99,不一定要单独书写一行,如上面子程序中最后两段可写成“G28 U0 W0 M99”。

(2)子程序在FANUC系统中的调用在FANUC 0系列的系统中,子程序的调用可通过辅助功能指令M98指令进行,同时在调用格式中将子程序的程序号地址改为P,其常用的子程序调用格式有两种:

格式一 M98 P××××L××××;

例1  M98 P100 L5;

例2  M 98 P100;

其中,地址符P后面的四位数字为子程序号,地址L的数字表示重复调用的次数,子程序号及调用次数前的0可省略不写。如果只调用子程序一次,则地址L及其后的数字可省略。如上例1表示调用O100子程序5次,而例2表示调用子程序1次。

格式二 M98 P××××××××;

例3  M98 P50010;

例4  M98 P510;

地址P后面的八位数字中,前四位表示调用次数,后四位表示子程序号,采用这种调用格式时,调用次数前的0可以省略不写,但子程序号前的0不可省略。如例3表示调用O0010子程序5次,而例4则表示调用O510子程序1次。

子程序的执行过程示例如下。

主程序:

img214

(3)子程序调用的特殊用法

①子程序返回到主程序中的某一程序段 如果在子程序的返回指令中加上Pn指令,则子程序在返回主程序时,将返回到主程序中有程序段段号为n的那个程序段,而不直接返回主程序。其程序格式如下:

M99 Pn;

M99 P100;(返回到N100程序段)

②自动返回到程序开始段 如果在主程序中执行M99,则程序将返回到主程序的开始程序段并继续执行主程序。也可以在主程序中插入M99 Pn;用于返回到指定的程序段。为了能够执行后面的程序,通常在该指令前加“/”,以便在不需要返回执行时,跳过该程序段。

③强制改变子程序重复执行的次数 用M99 L××指令可强制改变子程序重复执行的次数,其中L××表示子程序调用的次数。例如,如果主程序用M98 P××L99,而子程序采用M99 L2返回,则子程序重复执行的次数为2次。

3.子程序调用编程实例

将某一方向上形状、间距相同的加工要素,用增量方式编成子程序,用调用这个子程序的次数来分布该间距、形状相同的加工要素,称为子程序的平移加工。

例 试用子程序方式编写图3-42所示活塞杆外轮廓的加工程序。

分析本例的主要目的是掌握切槽等固定循环在子程序中的运用。要加工的6个槽的宽度、深度、槽与槽之间的距离均相同,即前一个槽的起点位置到后一个槽的起点位置之间的距离均为5+3=8(mm),根据这样的规律,可以使用增量尺寸来编制子程序,主程序中调用6次子程序来简化编程,完成6个槽的加工。

现选用切槽刀宽3mm,刀位点在切槽刀的左侧,直径编程,子程序的刀具起点(X,Z)=(31.0,-63.0)由主程序给定,其加工程序如下:

O0430;

   G99 G40 G21;

   T0101;      (转外圆车刀)

   M03 S800;

   G00 X41.0 Z2.0;

   G71 U1.5 R0.3;  (粗车外圆表面)

   G71 P100 Q200 U0.3 W0.0 F0.2;

N100 G00 X0.0 F0.05 S1600;

   G01 Z0.0;

   G03 X30.0 Z-15.0 R15.0;

   G01 Z-66.0

     X34.0 Z-73.0;

     Z-80.0;

N200 G01 X41.0;

   G70 P100 Q200;  (精车外圆)

   G00 X100.0 Z100.0;

   T0202;      (转切槽刀,设刀宽为3mm)

   M03 S600;

   G00 X31.0 Z-63.0;

   M98 P60431;    (调用子程序6次)

   G00 X100.0 Z100.0;

   M30;

O0431;   (子程序)

   G75 R0.3;

   G75 U-5.0 W2.0 P1500 Q2000 F0.1;

   G01 W8.0 F0.1;

   M99;

img215

图3-42 活塞杆

4.编写子程序时的注意事项

①在编写子程序的过程中,最好采用增量坐标方式进行编程,以避免失误。

②在刀尖圆弧半径补偿模式中的程序不能被分隔指令。如下程序所示:

img216

在以上程序中,刀尖圆弧补偿模式在主程序中被“M98 P2”分隔而无法执行,在编程过程中应该避免编写这种形式的程序。在有些系统中如出现该种刀尖圆弧半径补偿被分隔指令的程序,在程序运行过程中还可能出现系统报警。正确的书写格式如下:

img217

【手工编程】

1.选择机床与夹具

选择FANUC 0i系统、前置刀架式数控车床加工,夹具采用通用三爪卡盘,编程原点设在工件左、右端面与主轴轴线的交点上。

2.加工步骤(仅加工工件右轮廓)

①用G71、G70指令粗、精加工右端外形轮廓。

②调用子程序加工楔槽。

3.基点计算

P(13.44,0),Q(15.38,-0.76),M(16.66,-10.0),N(15.06,-10.83)

4.刀具、切削用量选择

左端粗加工轮廓时,采用60°V型刀片右偏刀(图3-43(a))进行加工。切削用量:粗车为S800、f0.2、a p1.5;精车为S1600、f0.1、a p0.15。

img218

图3-43 加工刀具

加工左端内凹接头轮廓时,采用55°菱形刀片左偏刀(图3-43(b))进行加工。切削用量:S1600、f0.1、a p0.15。

此外,当进行批量加工时,还可采用特制的成形刀具(图3-43(c))加工。

5.编写加工程序

参考加工程序见表3-14,子程序采用相对值进行编程。

表3-14 软管接头参考程序

img219

续表

img220

【拓展练习】

练习1:完成图3-44所示零件的加工方案和工艺规程的编制,并利用子程序进行编程编制精加工程序,毛坯选用φ45mm×58mm的钢料。

img221

图3-44 圆弧锥轴

将工件轮廓用增量方式编成子程序,用调用这个子程序的次数来分层切除多余毛坯的切削方式称之为分层切削(类似于G73指令)。

进行圆弧锥轴的加工时,注意刀具副后角应大于15°,防止与工件发生干涉。参考程序见表3-15。

表3-15 圆弧锥轴参考程序

img222

续表

img223

练习2:试用子程序调用的方式编写图3-45所示手柄外沟槽的加工程序(设切槽刀刀宽为2mm,左刀尖为刀位点)。

img224

图3-45 手柄外沟槽

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈