朱文艺
(江汉大学智能制造学院,湖北武汉 430056)
在对零件编程时,经常会碰到一些形状相似的轮廓,由于其尺寸不同,因此每次编程都得重写代码,使得编程效率降低[1]。对于零件的某些相似轮廓,虽然可以编制子程序并在主程序中调用,但需要进行主程序和子程序的编制与调用,浪费时间且容易出错[2]。
在数控系统中,G 代码用来规定刀具和工件的相对运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。数控系统还定义了一些内部加工循环G 指令,通过调用这些G 指令实现较为复杂的走刀,从而完成某些相对复杂的轮廓加工,简化数控编程。
挖槽在数控铣削加工中经常碰到,对于尺寸及深度较大的槽,由于挖槽的刀具直径相对较小,所以在加工时,要分多层进行铣削,且每一层的加工要通过多次走刀完成,若采用传统的手工编程,编程工作量较大。另外,即使槽的形状相同,而尺寸不同,或者选用的刀具规格不同,也要重新进行编程,费时费力。因此,借鉴数控系统固有的各种内部加工循环G 指令的特点,结合常见的挖槽加工工艺,针对大直径圆槽的数控铣削加工来自定义G 指令,会简化这类槽的数控加工编程。
数控系统为用户自定义G 指令提供了解决方案。以FANUC 0iMate-MD 为例,在自定义G 指令时,应明确以下2 点:①该系统提供6050~6059 共计10 个参数,应用这些参数可设定G 代码调用程序号为9010~9019的用户宏程序。比如,将参数605 的值设为300,即可设定采用自定义G300 指令调用用户宏程序O9010[2];②数控系统为局部变量的赋值提供了独立的列表,将局部变量#l、#2、#3 等一一对应到字母A、B、C 等。这样,就可以在主程序中利用自定义G 指令编程实现向用户宏程序中的变量赋值。
基于以上2 点,用户就可以自定义G 代码、自设参数、自定义指令格式,并编制相应的用户宏程序来实现自定义G 指令了。
要加工图1 所示工件上直径为Φd、深度为H 的圆槽,选用直径为ΦD 的立铣刀(其中d>D)。编程之前,工艺分析如下:①加工工艺分析。在挖槽加工中,在刀具切入各层指定的深度时,为了减小刀具切入工件时所承受的轴向力,同时改善进刀时的排屑状况,可采用螺旋切削的进刀方式,可使切削更为平稳,提高加工质量;②为了提高槽壁的加工质量,对于圆槽,要尽量避免采用行切法,而应采用环切法;③在各层环切的过程中,特别是最后一层,为了保证槽底平面的加工质量,应保证两个相邻切削环路的轨迹有一定距离的重叠(简称重合度);④加工中,为了提高切削加工的平稳性,改善加工质量,降低刀具磨损和切削加工的功耗,采用顺铣法加工。至于主轴转速、进给速度等加工工艺参数,可在主程序中合理给定。
图1 含大直径圆槽的工件
完成加工工艺分析之后,应做好加工时的刀具路径规划。某圆槽挖槽加工时的刀具路径如图2 所示。以首层加工为例,说明其加工的过程。O为圆槽上表面的中心,也是加工循环的起点,b1是加工的中间节点,也是首层加工的终点。首层加工的具体刀具轨迹见表2。
表2 挖槽加工第一层刀具运动轨迹
图2 挖槽的刀具加工路径规划
对于其他各层的加工轨迹,与首层基本相同,唯一的区别是,其余各层切削的起刀点分别是b1、b2、…bn,都不在槽的中心线上。另外,在末层加工结束到b5点后,刀具会回到槽底中心b 点,然后沿着槽的中心线退刀至槽的正上方。
自定义G300 指令,应结合制定的加工工艺,特别是规划的刀具加工路径,提取主参数,并合理定义指令格式。需要注意的是,主参数的提取,既要尽可能全面反映挖槽加工的工艺特点,又不能设置得过多;另外,指令格式应尽量做到直观、合理,注意要在参数名称的选择、排列的顺序上,尽可能做到易记、易用。
基于上述原则,提取自定义挖槽加工指令G300的主参数:①反映圆槽的位置参数:X、Y、Z 为槽底的中心坐标;②反映圆槽的尺寸参数:H、R 分别为圆槽的深度和直径;③反映加工刀具的参数:D 为刀具的直径;④反映刀具加工路径的参数:E、Q 分别为相邻加工轨迹的重合度及每一层的切削深度。
至于加工过程中的主轴转速及进给速度等工艺参数,考虑到尽量减少主参数的数量,可不在G 指令中指定,编程时,在主程序中去体现。
最终确定的G300 指令的格式为:G300X[#24]Y[#25]Z[#26]H[#11]R[#18]D[#7]E[#8]Q[#17]。
在FANUC 数控系统中,数控加工的主程序执行到G300 指令后,因为系统参数6050 设置值为300,故程序转向执行程序名为O9010 的用户宏程序,从而实现挖槽加工。因此,O9010 用户宏程序的编制是实现挖槽加工的关键,大直径圆槽加工的用户宏程序如下:
O9010 编制完成后,要在数控系统中编辑并存储。编辑之前,必须先解除O9000~O9999 的写入保护,具体方法为:设定MDI 方式,打开参数写入软开关,在3211号参数(KEYWD)中设定一个与参数3210 号(PASSWD)相同的值,此时锁住状态被解除,再将参数3202的第4 位(NE9)设定为0,关闭参数写入开关即可。编辑完成之后,应重新锁住对O9000~O9999 程序的写入保护,可以通过关断NC 电源再通电使KEYWD 复位以重新设定锁住状态[2]。
至此,自定义挖槽指令G300 的工作全部完成。在主程序中执行“G300X0.Y0.Z-50.H50.R50.D12.E2.Q5.”的加工结果如图3 所示,加工的圆槽槽底中心坐标为(0,0,-50),槽深和半径均为50 mm,加工刀具的直径为12 mm,同层加工轨迹的重合度为2 mm,单层加工深度为5 mm。
图3 G300 挖槽仿真加工结果
通过自定义G300 指令,实现了大直径圆槽的挖槽加工,简化了编程。需要指出的是,为了确保自定义G 指令能被不同的编程人员正确使用,其作者应该提供自定义G 指令的编程说明,对自定义G 指令适用的场合、指令格式、主参数、使用注意事项等进行详细说明。