加工中心子程序M98、M99的使用方法和实例

1、子程序的格式:

O____;

******;

******;

M99;

2、调用子程序的格式:

(1)M98 P_ _ _ _ _ _ _; 前3位为调用次数,后4位为子程序号。

(2)M98 P_ _ _ _ L_ _ _; P后面是子程序号,L后面是调用次数。

一般就上面两种格式,不同的机床系统调用子程序的格式不一样。

3、子程序应用实例

如下图,在一个150*100的板上铣20个∅18的孔,孔深为-10,

用∅10的平底铣刀,X方向距离为30,Y方向距离为20。

设左上角第一个圆的圆心为编程原点。

O0000; (主程序)
G54 G90 G00 G43 H1 Z100;
X-30 Y20 M03 S900; (刀具定位到这里是为了方便子程序中刀具的移动)
Z30 M08;
M98 P0001 L4; (调用第一个子程序,实现Y方向的4次移动)
G90 G00 Z100 M09;
M05;
M30;

O0001; (第一个子程序,用于Y方向的移动)
G91 G00 Y-20;
M98 P0002 L5; (调用第二个子程序,实现X方向的5次移动)
G91 G00 X-150; (第二个子程序执行5次之后第一行孔加工完成,X方向需要移回原来位置,再继续移动Y方向,Y一共移动4次)
M99;

O0002; (第二个子程序,用于X方向移动)
G91 G00 X30;
M98 P0003 L1; (调用第三个子程序一次,完成一个孔的加工)
M99;

O0003; (第三个子程序,开始加工∅18孔)
G91 G00 Z-27; (用G91是相对移动,现在是距工件表面3)
G01 Z-2 F50; (现在距离工件表面还有1毫米开始加工)
G01 X4;
M98 P0004 L11; (调用第四个子程序,分11层加工,因为是在工件上方1毫米开始加工,11次刚好加工到-10)
G02 I-4 J0; (补平底面)
G01 X-4; (回到孔的圆心位置,因为下一个孔是相对移动30)
G90 G00 Z30; (提刀后返回第2个子程序,继续X移动30)
M99;

O0004; (第四个子程序,分层铣削子程序)
G91 G02 I-4 J0 Z-1 F30;
M99;

使用子程序的好处是可以避免重复编程,而且上面实例中无论要加工多少个孔,只要是按照固定的间距排列,只需要改动几个数值就可以了。