席凤征
(徐州工业职业技术学院,江苏 徐州 221000)
在进行零件加工编程之前,首要工作就是对加工零件的特征进行分析,当遇到如下零件,如重复性结构的零件、对称性的零件、形状全等性的零件,采用常规的编程插补指令来编写刀位点的走刀轨迹的时候,可以发现编写的走刀轨迹有很多是重复的,这样不仅会导致编写的程序段烦琐冗长,而且会占用数控系统的内存,造成加工效率降低。如果编程中把这些重复程序段作为一个子程序来看待,在数控编程中把这些重复的程序段在主程序直接调用,就能达到简化编程的目的。
采用子程序编程可以实现简化的目的[1],使程序更有可读性。除此之外,子程序在数控编程中具有承上启下的作用,鉴于上述优点,所以子程序在数控车编程中占有重要的位置,而且子程序编程也是数控编程的难点——宏程序编程或参数编程的基础。
通过最新调查数据表明,FANUC 系统和SIEMENS 系统是在生产中应用最多的两种系统,在实际编程教学中,要让学生明确FANUC 系统和SIEMENS 系统子程序的命名规则、调用格式及结束字是有区别的,并能够在子程序编程中熟练正确地运用。
数控编程的实质就是编写刀位点的走刀轨迹的过程,即在建立的工件坐标系(编程坐标系)中用常用的插补指令把走刀轨迹编写出来。子程序的编写与主程序的编程思路一致,唯独不同之处就在于子程序的走刀轨迹表述使用相对(增量)坐标指令来实现[2]。
经过近几年的实践编程,总结出以下几个步骤,具体实现方法如下:①在主程序中指定子程序的开始点,即起刀点;②计算总加工余量,计算方法为总加工余量=起刀点位置-最终加工尺寸位置;③根据零件的材质、使用的刀具选择合理的切削深度(背吃刀量),这里的切削深度指的是每次子程序调用切削深度(背吃刀量);④根据总加工余量和切削深度来确定在主程序调用子程序的次数,计算方法为次数=总加工余量/切削深度(次数为整数);⑤在子程序中,使用增量(相对)坐标指令方式描述被加工轮廓的走刀轨迹;⑥在子程序中,使用增量(相对)坐标指令方式编写退刀轨迹;⑦在子程序中,走刀轨迹形成一个封闭的循环,即刀位点到下一次循环的起始点[3]。
数控车床中,复合循环指令在编程中使用广泛,例如,FUNNC 系统的 G70、G71、G72、G73,SIMENS 系统的CYCLE95、CYCLE97 等。对于编程员或者学生来说,探究编程实质、提高编程能力是他们不懈努力的追求,因此,在教学过程中发现,也可以用子程序调用方法实现符合循环功能[4]。举例说明,毛坯直径为φ43 mm 的棒料,零件图纸如图1 所示。
图1 零件图纸(单位:mm)
具体方法如下:①编程原点设置在零件右端面的中心处,零件轮廓上的特征点A、B、C、D、E、G的坐标为A(18,0),B(22,-2),C(22,22.8),D(22,24.86),E(34.7,-53.7),F(34.7,-57.7),G(42,-62.2),根据子程序的编写步骤,首先在主程序中制定子程序的调用的开始点,考虑精加工,留了0.5 mm 的精车余量,故起到点设置φ44.5 mm;②确定总加工余量[5],轮廓中A点是最终直径φ18.5 mm(留了0.5 mm 精车余量),根据公式计算出总余量26mm;③根据每次背吃刀量,确定在主程序的调用次数,本例中选用每次进刀2 mm,加工13 次到粗车最终直径φ18.5mm。
子程序走刀轨迹图从循环点加工起始P—A—B—C—D—E—F—G—H—I—J—A(循环终止点)。在编写子程序时,用相对指令形式把刀位点的走刀轨迹描述出来,具体参考子程序如表1 所示。
表1 参考子程序
在编写主程序中调用子程序13 次来实现对该零件的粗加工,相当于运用FANUC-0i 系统中的G71 复合循环指令或SIEMENS-802D 系统的CYCLE95 循环指令加工;在主程序中调用子程序1 次来实现对该零件的精加工,相当于运用FANUC-0I 系统的G70 复合循环指令加工。
由此可见,在对零件进行数控编程过程中,根据零件形状特征,如果遇到一些几何特征完全相同的,这个时候为了避免编程的重复轨迹的编程,就可以考虑采用子程序方式来简化编程。运用调用子程序的方法来实现对零件的加工,可以大大减少编程人员计算基点的个数,减少编程量,提高编程人员的编程效率。但是,在编制子程序时,要牢记增量变化,不可乱用。
一个零件质量的高低往往取决于它对编程细节的关注程度。数控加工技术作为一个热门的专业之一,编程教学则是该专业的一个细节,而子程序编程是数控编程的重要环节,对它掌握的熟练程度则决定数控编程人员的水平。