APP下载

VBA技术在楔横轧模具数控加工编程中的应用

2011-09-26杨翠苹王宝雨胡正寰

制造技术与机床 2011年8期
关键词:子程序代码编程

杨翠苹 王宝雨 胡正寰

(北京科技大学机械工程学院,北京100083)

楔横轧技术是一种零件轧制成形新工艺,工作原理如图1所示,它与传统的锻造、切削工艺比较,具有生产效率高 3~10倍、节材20% ~40%、产品质量好等优点,广泛地应用于汽车、拖拉机、摩托车等领域批量大的轴类零件的生产。楔横轧技术的迅速发展,对产品的复杂程度、尺寸精度等方面提出了越来越高的要求,对模具的加工要求也随之提高。数控加工技术显著地改善了楔横轧模具加工的精度和工作效率,体现了成形复杂空间型腔等方面的优势。但由于楔横轧模具复杂,数控加工涉及到的数据量庞大,计算机辅助编程是体现数控加工优势、提高编码效率、减少错误产生的必要手段。由于加工工艺的特殊性,现有的商业CAD/CAM软件不适合楔横轧模具的数控编程。虽然在楔横轧模具的CAD/CAM一体化上已进行了很多工作,但由于CAD转化到CAM功能机制不够完善,系统实现过程比较复杂等因素限制了它的广泛应用[1-3]。简化编程工作,减少错误产生仍然是目前楔横轧数控编程迫切需要解决的问题。根据楔横轧模具加工的特点,本文以EXCEL的VBA作为工具,开发面向加工的模具数控加工代码的自动生成软件来解决上述问题。

1 程序设计及开发工具的选择

图2显示了一种典型轴类产品的楔横轧零件图和模具图,图3显示了模具的展开图和槽形图。如图所示,楔横轧模具结构及形式特殊,加工方法也与常规加工显著不同,但是模具的形状结构特点决定了每种模具都可以分解为若干个槽、楔、轧齐、脱空等基本特征,结合加工方式则进一步细化为槽粗加工、槽精加工、楔粗加工、楔精加工、轧齐加工(包括直台阶,斜台阶,圆弧台阶)、脱空加工等加工特征。按照这种特征分类方法,进行模具数控加工时,就是某些加工特征的组合及多倍复制。因此数控程序结构可以规划为特征加工执行模块和参数赋值2个主要部分。进行执行模块程序设计时,要充分考虑加工特征的通用性,提取公共的加工参数,在满足加工要求,保证运行安全高效的前提下,确定每种加工特征合理优化的走刀轨迹,设计其刀轨算法,再根据数控机床控制系统的指令格式转换成相应的程序执行模块。参数赋值部分具有简单的结构形式,便于编程操作。但是一副楔横轧模具通常有成百上千的数据量,要保证完全正确也是不容易做到的。

开发高效的软件实现楔横轧模具的自动编程,开发工具的选择很重要,主要考虑以下因素:

(1)数据操作方便,对数据的输入和运算容易实现。

(2)实用性强,对图纸源的形式或格式没有严格要求。

现在流行的编程语言很多,其中Excel的Visual Basic for Applications(简称VBA)较好地满足了这项工作的要求。VBA是新一代标准宏语言,继承了VB的开发机制。EXCEL的VBA集成了EXCEL和VB的双重优点,能够充分利用EXCEL的基本概念、操作方法,提高效率,能够通过VBA自定义EXCEL,使重复的工作自动化[4]。所以应用EXCEL的VBA编程可以容易地实现楔横轧数控编程自动化的目标,而且使用者容易接受。

2 Excel VBA编程

2.1 程序结构

根据程序设计方案,并考虑到实际加工要求,以数控机床操作者使用方便为原则规划楔横轧数控加工程序,将楔横轧的数控程序分为4部分(图4),即通用参数、主程序、参数子程序和执行子程序。

通用参数列出了数控加工中常用的加工参数,如粗车余量、刀具的径向进给量、横向进给量等,这些参数在程序段的最前端定义,可以方便操作者根据实际的加工需要进行操作和修改。模具信息参数如模具安装的起始角、模具圆周角等也在这里定义,作为加工模具的基本信息,是各执行程序里某些参数运算的主要依据。

主程序就是参数子程序的集合,主要显示参数子程序的名称,操作者从名称就可以判断每个参数子程序的加工特征,方便快捷地选择需要执行的程序功能。主程序的结构以简单明了为原则,使操作者对所有加工程序一目了然。

参数子程序根据加工特征和加工方式的不同,分为槽粗加工和精加工、楔的粗加工和精加工、轧齐加工、模具脱空加工等参数子程序,目的是将相同的模块赋值代码整合在相同的参数子程序包里,格式规整统一,容易实现自动编程。

执行子程序(即执行模块程序)是将走刀算法翻译成数控系统指令,指挥机床按指定方式运行的功能模块。是实际的G、M功能代码的实现程序,它接受参数子程序传递来的具体参数开始执行加工指令。本文模具数控加工机床采用的是西门子840D数控系统,该系统具有变量定义、流程控制、子程序调用等高级功能。这些功能大大简化了编程工作量,使编写的代码执行子程序更简练、易读、可靠。所有执行子程序可以打包在模块程序库里,根据模具特征需要读取并添加到数控加工程序里。

2.2 程序流程

在规划了程序结构基础上,设计EXCEL的VBA的程序流程如图5所示。首先输入关于模具的主体信息,这些信息是在某些特征参数计算的基础。然后添加各个特征的加工参数,在这个过程的程序实现中,涉及到2次判断:首先程序要验证输入的数据是否有效,无效的数据往往导致不能正确输出;另外要验证输入的参数数据是否正确,这里采用了生成AutoCAD脚本文件的方法检验数据,优点在于脚本语言的编码简单,容易实现,不同的加工特征在CAD里可以分层显示,而且很多楔横轧模具图原文件都是AutoCAD的格式,检验对比方便。验证了数据的有效性和正确性,就可以根据添加的特征,读取执行子程序模块库里的相应子程序,按程序结构输出数控加工的代码,集成了通用参数、主程序、参数子程序和执行子程序4部分。

3 数控编程系统

图6是楔横轧数控代码自动生成系统的主界面,集成了主要的功能指令,包括参数子程序命令按钮和生成数控代码、CAD脚本文件的命令按钮。同时也是模具主体信息输入窗口,这里程序也充分运用了EXCEL工作表的功能,将本来需要程序进行的一些运算直接作了处理,使工作简化。

点击参数子程序命令按钮直接转入加工特征的参数赋值工作表,也可以由底栏工作表标签直接进入相应的工作表。以槽粗加工参数子程序的工作表为例(图7),工作表包含2部分:左侧为参数信息输入栏,右侧是参数代表意义的图形指示,操作人员不必知道后台VBA程序就可以按图形指示将模具特征对应的数据输入信息栏。

所有的数据输入完成后,导出“*.SCR文件”,生成AutoCAD脚本文件,将脚本文件读入CAD软件,可生成由加工参数运算的加工模拟图,与原模具图叠加比较,操作者很容易发现错误的加工信息,以便及时修正。图8展示了槽特征的加工参数产生的切削结果和原模具图的比较情况,图8a是原槽形图,图8b是由加工参数计算的加工区域与原槽形叠加的结果。由图可见,当由加工参数计算产生的图形线完全覆盖了槽形区域,并且边线与槽的边线重合,就可以判断槽的加工参数赋值正确,数据完整,能完成槽的车削加工。

验证数据正确无误之后,就可以点击“导出数控文件”按钮,生成完整的楔横轧数控代码。图9是正在进行数控加工的楔横轧模具。

综上所述,通过VBA编程,使EXCEL工作表成为形式简单、操作方便的用户图形界面,使用人员不必了解后台VBA程序,只要有基本的计算机办公软件操作知识,就可以使用这个软件,输入模具加工信息,自动生成楔横轧模具的数控加工代码。

4 结语

本文使用EXCEL的VBA技术,开发了楔横轧模具数控加工代码的自动化编程系统,经实践证明本系统体现了如下优点:

(1)采用用户图形界面的形式,将模具加工参数分层次、有条理地分类、整合,降低了工作的复杂度,提高了正确率。

(2)充分利用了EXCEL工作表的数据操作功能,工作效率提高6~8倍。

(3)数据验证工作简单而直观,代码正确率达到98%以上。

(4)对数控代码不熟悉的工作者,也能轻松地完成楔横轧模具数控代码的生成工作。

[1]胡正寰,张康生,王宝雨,等.楔横轧零件成形技术与模拟仿真[M].北京:冶金工业出版社,2004.

[2]杨宏青,王宝雨,黄敬义,等.楔横轧模具数控编程系统的研究[J].锻压技术,2002(6).

[3]杨宏青.基于特征的楔横轧模具数控编程系统研究与应用[D].北京:北京科技大学,2002.

[4]赵志东,Excel VBA基础入门[M].北京:人民邮电出版社,2006.

猜你喜欢

子程序代码编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
创世代码
创世代码
创世代码
创世代码
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索