浅谈子程序在数控车编程中的应用
2015-11-05王璐
王璐
(辽宁省大连市旅顺职业教育中心,辽宁大连 116041)
浅谈子程序在数控车编程中的应用
王璐
(辽宁省大连市旅顺职业教育中心,辽宁大连 116041)
子程序常用于加工几何形状完全相同或相似的加工轨迹,是数控车床手工编程的常用方法之一。正确使用子程序,可以有效简化手工编程工作量,减少程序所占内存,提高加工效率。本文主要对子程序进行简要介绍,并以具体实例加以说明。
数控车子程序 编程 应用
1 引言
在数控加工中,有时在一个零件上,有两处或两处以上形状和大小都相同的加工部位,为简化程序的编制,可以用子程序来加工,或调用子程序实现循环加工,以减少编制程序时需要计算的基点的个数,简化编程。
2 子程序介绍
(1)子程序的定义。某些被加工的零件中,常常会出现几何形状完全相同的加工轨迹,在编制加工程序时,有一些固定顺序和重复模式的程序段,通常在几个程序中都会使用它。这个典型的加工程序段可以做成固定程序,并单独加以命名,这组程序段就称为子程序。
(2)子程序的作用。使用子程序可以减少不必要的重复编程,从而达到简化编程的目的。主程序可以调用子程序,一个子程序也可以调用下一级子程序。子程序必须在主程序结束指令后建立,其作用相当于一个固定循环。
(3)子程序的格式。子程序的格式与主程序相同,在子程序的开头编制子程序号,在子程序的结尾用M99指令结束子程序并返回主程序。
O××××
…
M 9 9(4)子程序的调用。在主程序中,调用子程序的指令是一个程序段。
指令:M98
格式:M98 P×××× ×××× (前四位为调用次数,后四位为子程序号)
或M98 P×××× L××××(P后面为子程序号,L为调用次数)
说明:省略循环次数时,默认循环次数为一次。
(5)子程序的嵌套。子程序调用另一个子程序,称为子程序的嵌套。主程序调用同一子程序执行加工,最多可执行9999次,但是子程序的嵌套不是无限次的,在编程中使用较多的是二重嵌套(不同的系统其执行的次数及层次不同),其程序执行情况如图1所示。
图1 子程序的嵌套
图2 子程序车削不等距槽
3 应用子程序编程实例
(1)等距槽可以利用循环或子程序进行编程,但加工不等距槽时,就体现出了利用子程序进行编程的优势。例如:图2所示为车削不等距槽,已知02号刀为切槽刀,刀刃宽度为4mm,左刀尖对刀,φ35mm外圆已加工好,试通过调用子程序的形式编写其加工程序。
1)主程序。
O0001
N10 G50 X100.0 Z100.0;设定工件坐标系。
N20 M03 S900;主轴正转,转速900r/min。
N30 T0202;换02号切槽刀。
N40 G00 X38.0;快速定位到φ38mm处。
N50 Z-20.0 M08;快速定位,准备切槽,开冷却液。
N60 M98 P31000;调用O1000的子程序3次。
N70 G00 X50.0 Z-138.0;快速定位。
N80 G01 X0 F30;切断。
N90 M30;程序结束。
2)子程序。
O1000
N10 G00 W-4.0;Z轴负向移动4mm至第一槽处。
N20 G01 U-13.0F30;切第一槽至指定尺寸。
N30 G04 X1.0;槽底停留1S。
N40 G01 U13.0;X方向退出。
N50 G00 W-14.0;快速定位第二槽处。
N60 G01 U-13.0;切第二槽至指定尺寸。
N70 G04 X1.0;槽底停留1S。
N80 G01 U13.0;X方向退出。
N90 G00 W-20.0;Z轴负向移动20mm。
N100 M99;子程序结束,并返回主程序。
(2)如果加工等距槽,但是形状较复杂时,循环指令就失效了,这时应用子程序就可以大大提高编程的效率。例如:图3所示为车削等距复杂型槽,已知02号刀为切槽刀,刀刃宽度为3mm,左刀尖对刀,φ28mm外圆已加工好,试通过调用子程序的形式编写其加工程序。
1)主程序。
图3 子程序车削等距复杂型槽
O0002
N10 G50 X100.0 Z100.0; 设定工件坐标系。
N20 M03 S600; 主轴正转,转速600r/min。
N30 T0101; 选择1号外圆刀。
N40 G00 X30.0 Z2.0;定位至φ30mm,距端面正向2mm。
N50 G71 U1.0 R0.5; 采用复合循环粗加工半圆球、外圆、外圆锥面等,
N60 G71 P70 Q130 U0.5 W0 F100; X正方向留精加工余量0.5mm。
N70 G42 G01 X0 F50;
N80 Z0;
N90 G03 X20.0 W-10.0 R10.0;
N100 G01 Z-42.0;
N110 X25.0 Z-50.0;
N120 Z-55.0;
N130 G40 X30.0;
N140 M00 M05;主轴停,程序加工暂停,检测工件。
N150 M03 S1200;主轴正转,转速 1200r/min。
N160 G70 P70 Q130;精加工半圆球、外圆、外圆锥面等。
N170 G00 X100.0 Z100.0;返回换刀点,主轴停。
N180 M03 S800;主轴正转,转速 800r/min。
N190 T0202; 换02号切槽刀。
N200 G00 X22.0 Z-10.7M08;快速定位,准备切槽,开冷却液。
N210 M98 P32000;调用O2000的子程序3次,加工3处等距外沟槽。
N220 G00 X100.0 Z100.0; 返回换刀点。
N230 M30; 程序结束。
2)子程序。
O2000
N10 G00 W-8.6;刀具沿Z轴负方向平移8.6mm。
N20 G01 U-10.0 F20;沿径向切槽至槽底。
N30 G04 X1.0;槽底停留1S。
N40 G00 U10.0 F500;快速退至φ22mm处。
N50 W1.3;沿Z轴正方向平移1.3mm。
N60 G01 U-2.0;沿径向移动至φ20mm处。
N70 U-8.0 W-1.3;刀具切沟槽右侧面至槽底。
N80 G00 U10.0;快速退至φ22mm处。
N90 W-1.3; 沿Z轴正方向平移1.3mm。
N100 G01 U-2.0;沿径向移动至φ20mm处。
N110 U-8.0 W1.3;刀具切沟槽左侧面至槽底。
N120 G00 U10.0;快速退至φ22mm处。
N130 M99;子程序结束,并返回主程序。
4 结语
编写子程序时注意应用增量坐标写出加工路线,让程序沿X向(或Z向)循环进刀,设置好背吃刀量,计算出加工次数,在主程序中进行调用。这种方法可减少基点的计算个数,适用于各种形状复杂的零件,使这类零件在数控机床上的编程变得简便。灵活的应用子程序,在很大程度上提高了零件的加工效率,并且在实际生产中收到了良好的效果。
[1]谢晓红.数控车削编程与加工技术.北京:电子工业出版社,2008. 7.
[2]黄康美.数控加工编程.上海交通大学出版社,2004.8.
[3]宋放之.数控工艺培训教程.清华大学出版社,2003.8.