基于数据驱动方式的NC代码自动生成
时间:2011-07-16 08:34:29 来源:未知
摘要:提出了一种数据驱动方式来代替传统的人机交互方式对制 造模型进行处理,并自动生成NC代码。依次论述了数据驱动文件原理、实现的前提、表达规则、生成方式以及运 行并生成NC代码。
在CAPP与CAM系统中,人机交互方式实现NC代码的生成是最常用的方式。通常CAPP并不提供给CAM所需的机床设备、加工刀具、切削速度、进给量等参数信息,CAM要取得这些信息,只有通过人机交互逐一输入,最后得到NC代码。这种方式不仅效率低,而且容易出错,成为CIMS 的一个障碍。在利用Pro/Engineer 平台进行CAD/CAPP/CAM信息集成的研究过程中,探索出一种以数据驱动方式实现信息在CAPP与CAM之间自动传输,实现对加工模型参数的自动配置来得到NC代码。
一、数据驱动文件的概念
- 数据驱动方式的原理
- 实现数据驱动的前提条件
- 加工特征处理过程的中性表达规则
- 模式化加工过程的建立
- 特征加工方法的确定
- 以一定的规则,对加工特征的处理过程进行中性描述,形成模式化的特征加工过程,并以此为基础组成数据文件。当系统读入该文件时,它便会驱动系统按照数据文件描述的特征处理过程自动执行。当文件读入完毕时,也就完成了系统间的信息传输。这样一种以数据描述表示人机交互操作,以数据文件的自动读入实现系统间信息传递的方式,作者称其为数据驱动方式。该方法的特点是用数据表达人机交互操作,文件的读入过程就是信息的传输和处理过程。这种利用数据文件实现系统间信息的传递,是目前研究CAD/CAPP/ CAM集成的热点。
- 特征加工过程的模式化 所谓特征加工过程的模式化,是指每一个需要加工的特征,无论是平面类特征还是孔类特征,它们都具有相似的加工处理过程。事实上,我们在利用Pro/Engineer对特征进行加工处理时,处理过程正是相似的。其模式化加工过程如下:
- 开始一个NC SEQUENCE,即开始一个加工特征的处理工作。
- 进行加工特征类型选择,确定加工特征是平面类、孔类还是其它类型。
- 加工刀具的选择,根据零件的材料、特征的类型、特征的精度要求以及粗精加工状态选择从标准库选择合适的刀具。
- 机加工参数的选择,根据现有的设备、选择的刀具等因素综合确定机加工参数,并从机加工参数库中选择。
- 加工对象和退刀面的选择:在Pro/Engineer中,零件的每一个特征或几何要素都可以从菜单中选择出。退刀面可通过在加工坐标系的Z 轴方向设置一个合理的数值来得到。
- 刀轨生成和材料切削动态演示:在完成上述工作后,就可以生成刀轨文件并动态演示刀具的切削过程,以判定所生成的刀轨是否合理。
- 保存生成的NC SEQUENCE,至此,一个特征的完整加工处理过程便结束了。
- 刀具参数、机加工参数的标准化 刀具参数和机加工参数都以数据文件的形式按类存放在标准库中,当需要使用时,通过调用文件名便可实现。为扩大应用范围,该标准库是开放式的,用户可以对这些参数根据需要进行任意的增加、修改和删除,这样可以减少重复设置、节省时间、提高效率。
- 零件特征的菜单选择 在用人机交互方式进行加工特征处理时,加工特征的选取往往是通过在屏幕上用鼠标点取该特征来实现的。用数据驱动方式进行加工特征处理时,由于可选点的坐标范围不易确定,使得通过菜单来选择特征成为必要。在Pro/Engineer软件中,每一个特征和每一个几何要素都可通过选取菜单来得到。
- 为了使加工特征处理过程表达得合理、充分,有必要对加工特征处理过程的描述作出规定。结合系统软件的特点,对处理过程的操作表达作如下规定:
#p#分页标题#e#
- 注释信息 要表达注释信息时,可在所要表达的信息前加“!”。例如:
- ! trail file version No. ###
- 用户输入 用户输入信息单独占据一行,在该行中无其它信息。例如要输入零件名Example 1,可表示为:
- Example 1
- 系统菜单选择 在需要选择的菜单前加“#”。例如,要选择菜单DONE,则表示为:
- #DONE
- 鼠标选择 鼠标的选择点以x,y坐标表示,在坐标后加上所按的键。鼠标有三个键,分别以L(left)、M(middle)、R(right)表示。例如以鼠标左键点取点(2.00,3.00,则表示为:
- 2.00 3.00 L
- 默认系统设置 通过让在有系统默认值提示的下面空一行,来实现接受系统默认值。
- 二维对象选择 以@ sel2d开头,后接对象名称及其关键属性和鼠标点取方式。以对圆标注尺寸为例,选取圆心为(0,4)的圆,尺寸标注点在(1,1),则表示为:
- @ sel2d CIRCLE 0 4 1 1 M
- 三维对象选择 以@ sel view 0作为第一行,下面接三维对象的数据结构信息。
- 例如,对于平面,其数据结构为:
- typedef struct p_plane
- {
- double e1 [3] : / * u向单位向量* /
- double e2 [3] : / * v向单位向量* /
- double e3 [3] : / * 平面的指向* /
- double origin[3 ] : / *平面的原始点* /
- }:
- 假设e1[3]={1,0,0}:e2[3]={0,1,0}:e3[3]={0,0,1}:origin[3]={0,0,0}
- 则表示为:
- @ sel view 0
- 1 0 0 0 1 0 0 0 1 0 0 0
- 根据以上分析可知,加工特征的处理过程是模式化的。通过分析Pro/Engineer软件加工零件的人机交互过程,总结出箱体类零件常用加工方式的加工模式。箱体类零件主要是孔加工和面加工。在孔加工模式中有钻孔加工模式、镗孔加工模式、螺纹孔加工模式、铰孔加工模式等:在平面加工模式中主要有铣削加工模式、磨削加工模式等。为具体说明模式化加工过程的建立,下面以螺纹孔加工模式为例详细介绍:
- #NC SEQUENCE / *开始一个特征加工* /
- #New Sequence
- #HOLEMAKING / *确定加工特征类型* /
- #DONE
- #TAP / *确定孔特征类型* /
- #DONE
- #DONE
- #RETRIE_E
- #T5 / *确定刀具参数* /
- #DONE
- #RETRIE_E
- #T0001 / *确定机加工参数* /
- #DONE
- #BY TIP / *确定孔的属性* /
- #DONE
- #SEL BY MENU
- #FIRST.PRT
- #SURFACE
- #TOPFACE
- #ENTER
- 6 / *孔深输入* /
- #SEL BY MENU
- #AXISI / *孔轴选择* /
- #DONE SEL
- #DONE / RETURN
- #DONE
- #DONE/RETURN
- #PLAY PATH / *刀具路径生成* /
- #DONE CL
- #DONE
- #NC CHECK / *材料切削动态演示* /
- #RUN
- #DONE / RETURN
- #CONFIRM
- #DONE / RETURN
- #DONE SEQ / *结束加工处理定义* /
- #CL DATA
- #NC SEQUENCE
- #16: Holemaking,Operation:POP
- 150
- #FILE
- TT0001 / *保存刀轨文件* /
- #DONE OUTPUT
- #DBMS
- #SAVE
- 在一定的制造环境下,特定的特征加工方法是有限的。以通孔特征为例,该特征可以通过钻、扩、粗铰、精铰、粗镗、精镗等加工方法的排列组合来实现。我们可以根据实际制造环境,按照系统的要求,定义适合给定特征的加工方法。在工艺决策过程中,系统通过推理根据特征类型和特征的工艺约束参数选择具体加工方法。与特征加工方法库的建立一样,我们建立了标准刀具库和机加工参数库。在具体应用时,可根据实际情况对数据库的内容进行增加、修改和删除以满足不同情况的需要。#p#分页标题#e#
图1 数据驱动文件生成图
二、数据驱动文件的生成
数据驱动文件是由工艺决策模块(CAPP 模块)在工艺决策过程中伴随工艺路线的产生而产生的。当CAPP 进行工艺决策时,每确定一个加工对象的工艺和加工方法,同时选择加工该特征的刀具、机床、进给量、机床转速等,并将它们都输入一个文件,该文件就是数据驱动文件。它可被Pro/Engineer识别并执行。数据驱动文件的生成过程如图1所示。当读入文件时,这样就将生成NC代码所需参数自动传输给既定的加工模型:读完文件后,系统就可进行刀路演示,生成数控代码。该数控代码经过后置处理后,就可用于机床加工。
图2 数据驱动文件的结构示意图
由于该数据驱动文件的内容是以单个特征的模式化加工过程构成的,因此中性文件是基于特征的。一个特征在Pro/Engineer中的一次模式化加工被称为一个NC Sequence,基于同一加工坐标系的若干NC Sequence称为一个Operation。数据驱动文件可包含多个Operation,而每个Operation又可能包含多个NC Sequence。其内容框架如图2所示。
三、数据驱动文件的自动读入和NC代码的生成
有了数据驱动文件后,便可利用它来实现NC代码的生成。读取数据驱动文件是通过利用Pro/Develop的文件读入函数所开发的菜单来实现的。该菜单是MAIN菜单下MISC的子菜单TRAIL。当进入Pro/Engineer 界面后,按下菜单键TRAIL,再根据系统要求输入数据驱动文件名,该文件便会自动读入。该文件读入函数如下:
#Include"prodevelop. h"
#Include"profiles. h"
int pro_read_file_to_pro (
wchar_t file_name, / *(in)The file name * /
Prohandle object_ptr, / *(in) The object * /
Int file_type, / *(in)The file type * /)
读入数据驱动文件的界面图( 略) 。读入文件完成后,可直接得到包含刀具轨迹的刀轨文件*. ncl。得到刀位文件后,经过后处理器,就可将它转换成相应设备可识别的NC 代码。
四、结论
本文讨论的利用数据驱动方式实现NC代码的自动生成,解决了NC编程中信息的输入问题。该方法避免了信息的重复输入,最大限度地利用了系统的信息资源,保证了零件信息流传递的畅通,初步实现了CAD/CAPP/CAM 信息的集成。实践表明,与传统的NC代码生成方法相比,该方法方便、快捷,可减少由于人机交互而发生的错误,生成的数控代码可应用于实际加工。