基于宏程序的行切模块化设计.pdf
基于宏程序的行切模块化设计基于宏程序的行切模块化设计摘要: 随着 CAD/CAM 软件的不断发展,目前各类职业院校在相关专业教学中,过分依赖 CAD/CAM 软件,忽略了手工编程的价值和作用,造成学生编程能力得不到应有的训练和提高。本文谨就数控编程中的行切加工提供新的解决方案,提出模块化的程序设计理念,从而实现程序设计的灵活性、自由行、通用性,以弥补自动编程的不足。Abstract: With continuous development of the CAD / CAM software,now varioustypes of vocational and technical schools place undue reliance on CAD / CAM softwarein the relevant professional teaching, and ignore the value and role of the manualprogramming, it causes that the basic programming capacity of students are not giventhe training and improvement. This paper would provide new solutions about linemilling to the procedure proposed by the modular design concept, in order to achieveflexibility in program design, free exercise, versatility, to make up for lack of auto-programming.关键词:数控编程;宏程序;行切;模块化Key words: NC programming;macro program;line milling;module中图分类号:TG659文献标识码:A文章编号:1006-4311(2011)10-0149-02 0 引言数控编程是数控加工的一项重要技术工作,理想的数控程序不仅能保证零件达到较高的精度,还能使数控机床的功能得到合理的应用与充分的发挥,使数控机床能安全、可靠、高效地工作。在数控铣加工中,刀具的走刀路线通常分为行切和环切两种。行切的生产效率很高,广泛应用于粗加工和精加工,是普通铣削加工和数控加工常用的方法。因此掌握行切的程序编制方法对于数控加工至关重要。在手工编程中,行切编程可以通过调用子程序、宏程序两种方法实现。熟练的掌握这两种方法,可以使编程变得更简单,加工实现程序模块化,达到举一反三的效果。现以一个 200mm150mm 零件的平面加工为例来说明行切的编程方法。零件如图 1 所示,走刀路线如图 2,采用常用的“S”形刀具路线行切加工,横向切削,纵向进刀。横向切削的起始和终止位置为工件左右两条边,纵向进刀的起始和终点位置为上下两条边。进刀和退刀时与工件保持一段距离,以避免撞刀。进刀有 A 或 B 两种路线。工件顶面的正中心设为加工坐标系,选用刀具为?准16mm,刀具的行距应小于刀具直径,初步确定为 12mm。以下结合华中数控系统来说明行切的编程技巧。 1 行切的子程序调用对于行切走刀路线而言,每来回切削一次,其切削动作形成一次重复,如果将一次来回做成子程序,则利用子程序的重复调用功能可完成行切加工。 1.1 子程序重复次数的计算 每一个循环由 1、2、3、4 段组成,含两次 Y 向进刀,X 向反向一次。根据零件尺寸,刀具 Y 方向共需进刀距离为 150mm;一个循环有两次 Y 向进刀,一个子程序进刀距离 122=24mm。因此调用子程序次数n=150/24=6.25,共需调用子程序 6 次,剩下距离需通过补刀完成。剩下需补刀距离 150-246=6mm。当然也可以调用 7 次子程序,不过最后一个循环中会出现空刀。如果想避免空刀,又不想补刀,也可以通过调整步距来完成。如果调用 6 次子程序,调整后的步距应该为 150(62)=12.5,因此如果把步距改为 12.5,刚好调用子程序 6 次可完成加工。由此可以理解,如果确定步距不变,可能会存在补刀现象,如果不想补刀,则要调整步距,实际上明白了这个道理用哪种方法都可以。 1.2 现根据第一种思路,保持步距 12mm 不变,程序编制如下: 1.3 计算说明 当实际切削次数约为偶数刀时,应对步距进行调整,以方便程序编写;当实际切削次数约为奇数刀时,可加 1 成偶数刀,再对步距进行调整,或直接将剩下的一刀放在行切后的补刀中,此时不需调整步距。由于行切最后一刀总是进刀动作,故行切后一般需补刀。不过适当改变子程序可以避免补刀,这里不再赘述。 2 行切的宏程序调用用户宏程序与普通程序存在一定的区别,认识和了解这些区别,将有助于宏程序的学习理解和掌握运用。表 1 对普通程序与宏程序作了简单对比。宏程序由于具有自动计算功能,可以实现程序跳转和选择,因此大部分计算工作我们可以交给计算机完成,我们只需掌握控制方法。程序思路是,设定 Y 方向的初值和终值,每循环一次,初值增加一个步距,初值如果小于终值,一直切削下去,直到符合条件。编程路线较上述程序略作改变,从 B 点下刀,切削第一刀为 Y 向,这样可以精简程序。程序如下:宏程序看起来感觉比子程序方式复杂,实际上只要理解了编程思路,就不难理解。宏程序的优点体现在它的通用性,如果零件尺寸发生变化,用子程序的方法必须重新进行计算,重新计算步距,重新确定补刀距离,而宏程序只需要修改刀具直径(#3)、矩形的长(#50)、宽(#51)三个变量的值就可以了。显然子程序的方法具有针对性,尺寸变了就必须重复劳动,而宏程序只要一次编好了就可以一劳永逸。 3 宏程序的模块化设计对于相同类型的零件,算法相同,只是尺寸不等,选用的刀具各异,在宏程序中可以把程序做成模块化,利用数控系统宏指令的功能去调用宏程序,从而使程序更具有可视性和通用性,我们只需要修改宏指令中调用的参数值就可以了。华中系统用的是 M98 调用子程序的方式调用宏程序。形式有别,原理相同。M98可以传递参数,采用参数赋值的方式使程序更易阅读和修改。因此以上程序%200可以作如下修改:程序说明:A(#0)、B(#1)分别表示矩形平面的长、宽,D(#3)为刀具半径,Z(#25)为 Z 向下刀深度,K(#10)为纵向步距,F(#5)为切削速度。每个字母对应一个变量值,通过 M98 指令可以把变量值传递到子程序中;华中系统中没有 G65 宏程序调用指令,只能通过 M98 调用;当零件尺寸或加工条件发生变化,只需要修改主程序中 A、B、D、Z、K、F 等的值就可以,不需要修改子程序,这样子程序实际上就相当于一个指令。 4 总结宏程序是手工编程的精髓,也是手工编程的最大亮点和最后堡垒。编制简洁合理的数控宏程序,能最大限度发挥数控机床的加工效率,既能锻炼从业人员的编程能力,又能解决自动编程在生产实际中存在的不足。从模块化加工的角度看,宏程序最具有模块化的思想和资质条件,编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计,应用时只需要把零件信息、加工参数等输入到相应模块的调用语句中,就能使编程人员从繁琐的、大量重复性的工作中解脱出来,这就是宏程序模块化程序设计的魅力。参考文献:1陈海舟.数控铣削加工宏程序及应用实例 M.北京:机械工业出版社, 2005:2,24.2HNC-1M 华中 I 型铣削数控系统编程说明书P.武汉:华中数控系统有限公司,1999:36.