1、数控模块化程序应用实例及开发意义【摘 要】数控模块程序应用灵活,形式自由,短小精悍,易于检查,并能充分发挥机床特有的功能,提高了编程效率,比使用 CAM 软件有优越性。采用模块程序,则可以扩展机床的数控功能,以高度的柔性,减少了工作量,提高了工作效率。 【关键词】数控;模块化程序;开发意义 随着现代制造技术的发展和数控机床的日益普及,数控加工技术在我国得到了广泛的应用,其中相当比例的数控铣及加工中心都应用在模具行业。由于模具加工的特殊性,各种 CAD/CAM 软件的应用由来已久,且日趋成熟。从规模大的各种行业到那些仅有 12 台数控铣加工中心的数控“加工店” ,随处可见UG、MasterCAM
2、、Cimatron、PowerMILL、Solidworks CAM 等世界知名 CAD/CAM 软件的身影。在 CAD/CAM 软件普及应用的今天,手工编程的应用日趋偏小,似乎数控界有一种说法很流行“手工编程没有啥用了,自动编程又快又方便” ,对此本人不敢苟同。好的手工编程,不仅可以满足一般的零件产品加工要求,而且也可以根据特定的零件编写模块化程序。对于这一系列的零件只需要更改零件的几何特征参数,一个模块化程序就可以完成编程,有着“一劳永益”的功能。 模块化程序是基于数控编程里的在一种高级形式,也就是我们常说的宏程序。宏程序的编制是手工编程里的核心,并且能够方便工人编程 ,锻炼工人的编程能力
3、,帮助工人深入的了解自动编程的本质。模块化程序的设计与质量与编程人员的素质息息相关,程序里应用了大量的编程技巧,例如数学模型的建立、数学表达式的表达、加工刀具的选择、走刀方式的取舍等,这些使得宏程序的精度很高。特别是对于中等复杂难度的零件使用宏程序进行编程加工要比自动编程加工的快得多,程序的短小且简练。在实际工作中,模块化程序的应用也非常广泛,基于HNC-21M 数控系统的开放式结构下,我们用户可以根据自己的特定产品,开发一些列实用的数控加工模块化程序,在调用时就会很方便,省去很多编程辅助时间,例如,在 2008 年全国数控大赛里应用到的模块化程序就非常方便,在大赛中为选手节约了不少编程时间,
4、从而发挥了相当大的作用。我们来看看当初的一个应用模块: N 边形,含分层功能,可加工直/斜轮廓面,如图 1。格式:G99/G98 G101 X Y A B C I R W Z Q K D F 。参数说明:N 边形,含分层功能,可加工直/斜轮廓面;X/Y:中心坐标,绝对坐标,省略为坐标原点;I:-I 外接圆半径/I 内切圆半径;R:圆角半径,如 R=I,加工圆锥面;A:附加旋转角,假定第一边与 X 轴正向垂直,附加角根据该边实际方位确定;B:边数;C:-1 外轮廓/1 内轮廓;D:刀具半径,负 D 表示球刀;K 沿锥面进刀长度,-K 向上进刀,+K 向下进刀;Q:锥面倾斜角度;W/Z:起始/终止
5、 Z 坐标(绝对坐标) 。W=Z 时,仅在 Z 深度走一刀。分层加工完毕抬到至 Z5,单层加工完毕,如指定 G99,为不抬刀,指定 G98,抬到至 Z5。 这只是一个模块的解释说明,这些参数根据我们实际加工的零件图来设置参数即可,在应用过程中支需要像调用数控铣床上那些固定循环G 代码一样方便。当然不是随便一台数控机床就这样可以用的,前提是我们编程人员要将这些参数以及相互关系利用数控语言编写成模块程序,存储在机床内部,外界只需要来调用即可,例:内正六边形 R30 内切圆,无圆角,Z0 至-6,直径为 10 的立铣刀,倾角 45,旋转 15。则程序为:G99G101 I30 A15 B6 C1 R
6、0 K1 Q45 D5 W0 Z-6F1000。内正六边形R30 内切圆,R4 圆角,Z0 至-6,直径为 10 的球头铣刀,倾角 45,旋转 15。则程序为:G99G101 I30 A15 B6 C1 R4 K1 Q45 D-5 W0 Z-6F800。好的模块化程序开发包含着很多技术要点,比如说,刀具的切入与切出设计,程序中容错处理,参数意义的定义以及参数自动检测报错处理等,这些在我们的模块化程序中都是可以实现的,当然这对于我们的编程人员的水平要求也很高,不仅需要过硬的实际加工经验,和工艺安排经验,同时具备一定的专业英语能力和较强的逻辑思维能力。 在铣床或加工中心上经常需要铣削螺纹,利用机床
7、的的螺旋线进给功能来编制一个模块程序,不同大小的螺纹,用户只需要改相应的参数即可完成,也就是相当于在数控系统上重新加了一个螺纹铣削功能,而且还可以作为扩孔功能应用,源代码及参数定义如下: %0100;螺旋线铣削程序 参数出错处理 螺旋线铣削格式:G100 X Y I D K W Z A B C F 。参数说明(如图2):X/Y:孔(圆柱)中心坐标(绝对坐标) ;I:孔(圆柱)半径;D:刀具半径;K:螺旋线导程,+K 向下,-K 向上;W/Z 螺旋线起始/终止坐标(绝对坐标) ,W/Z 之差应为导程整数倍;A:A=2,3 螺旋线用 G2/G3走刀;B:B=1 孔底铣平,B=0 孔底不走平;C:-
8、1 外轮廓/1 内轮廓;F:走刀速度。 我国的数控技术发展比较晚,用户自身开发模块化程序更是迟迟滞后,随着我国制造业的发展,数控技术在我国的普遍应用,国内的先进数控系统相继问世,华中数控打破国外对我国数控核心技术的的控制。华中数控 HNC-21M 数控系统,在说明书中公开了固定循环的一些数控源代码,使得数控爱好者有着专研的依据和参考书籍。使得最近几年,数控爱好者对开放式数控系统开发了许多使用的模块程序,在制造业中起到了较高的实用价值。另外,在现在的教学过程中,许多教育领域,在对数控的学习依旧是过去的思路,一本理论书,一本实践教程再学习一下 CAD/CAM 软件以及实际操作,加工一些简单的平面零件图。这样会造成学生的编程基本能力得不到应有的训练和提高,对真正博大精深的CAD/CAM 软件也不过掌握一些皮毛,仅停留在能够应付考级,而缺乏工艺知识的积累,对数控编程更深层次的探究造成一定的约束。 数控模块程序具有应用灵活,形式自由,短小精悍,而且可读性强,易于检查,并能充分发挥机床特有的功能,提高了编程效率,比使用 CAM软件有优越性。采用模块程序,则可以扩展机床的数控功能,以高度的柔性,减少了工作量,提高了工作效率。因此数控模块化程序开发的价值是不可估量的,它对今后的今后的同类型零件加工程序的编制有着深远的影响,同时,数控模块化程序的开发也将影响数控系统系统功能的增加。