2 Excel VBA编程
2.1程序结构
根据程序设计方案,并考虑到实际加工要求,以数控机床操作者使用方便为原则规划楔横轧数控加工程序,将楔横轧的数控程序分为4部分(图4),即通用参数、主程序、参数子程序和执行子程序。
通用参数列出了数控加工中常用的加工参数,如粗车余量、刀具的径向进给量、横向进给量等,这些参数在程序段的最前端定义,可以方便操作者根据实际的加工需要进行操作和修改。模具信息参数如模具安装的起始角、模具圆周角等也在这里定义,作为加工模具的基本信息,是各执行程序里某些参数运算的主要依据。
主程序就是参数子程序的集合,主要显示参数子程序的名称,操作者从名称就可以判断每个参数子程序的加工特征,方便快捷地选择需要执行的程序功能。主程序的结构以简单明了为原则,使操作者对所有加工程序一目了然。
参数子程序根据加工特征和加工方式的不同,分为槽粗加工和精加工、楔的粗加工和精加工、轧齐加工、模具脱空加工等参数子程序,目的是将相同的模块赋值代码整合在相同的参数子程序包里,格式规整统一,容易实现自动编程。
执行子程序(即执行模块程序)是将走刀算法翻译成数控系统指令,指挥机床按指定方式运行的功能模块。是实际的G、M功能代码的实现程序,它接受参数子程序传递来的具体参数开始执行加工指令。本文模具数控加工机床采用的是西门子840D数控系统,该系统具有变量定义、流程控制、子程序调用等高级功能。这些功能大大简化了编程工作量,使编写的代码执行子程序更简练、易读、可靠。所有执行子程序可以打包在模块程序库里,根据模具特征需要读取并添加到数控加工程序里。
2.2 程序流程
在规划了程序结构基础上,设计EXCEL的VBA的程序流程如图5所示。首先输入关于模具的主体信息,这些信息是在某些特征参数计算的基础。然后添加各个特征的加工参数,在这个过程的程序实现中,涉及到2次判断:首先程序要验证输入的数据是否有效,无效的数据往往导致不能正确输出;另外要验证输入的参数数据是否正确,这里采用了生成AutoCAD脚本文件的方法检验数据,优点在于脚本语言的编码简单,容易实现,不同的加工特征化CAD里以分层显示,而且很多楔横轧模具图原文件都足AutoCAD的格式,检验对比方便。验证了数据的有效性和正确性,就可以根据添加的特征,读取执行子程序模块库里的相应子程序,按程序结构输出数控加工的代码,集成了通用参数、主程序、参数子程序和执行子程序4部分。
3 数控编程系统
图6是楔横轧数控代码自动生成系统的主界面,集成了主要的功能指令,包括参数子程序命令按钮和生成数控代码、CAD脚本文件的命令按钮。同时也是模具主体信息输入窗口,这里程序也充分运用了EX—CEL工作表的功能,将本来需要程序进行的一些运算直接作了处理,使工作简化。