(西华大学机械工程与自动化学院,四川 成都 610039)
电火花线切割数控机床具有能加工复杂形状零件、材料蚀除量小、加工过程稳定、加工精度高、对被加工件的硬度没有要求等优点,被广泛使用;但是数控机床的数控系统通常都不具有绘图和自动编程功能,其加工程序(G代码或3B代码)多采用手工编程,自动编程所占比例小。有些自动编程软件[1-4]要离线依赖Auto CAD的绘图功能完成绘图。也有些图形化编程系统(UGII、Master CAM等)虽然可以绘制电火花线切割加工的零件轮廓图,也可生成符合ISO和EIA标准的加工代码,但是不能方便经济地嵌入电火花线切割数控系统中。目前国内广泛使用的绘编控一体的控制系统大多不是基于Windows XP平台的,从而给绘图操作带来不便(如HF系统)。基于此,本文采用VB技术开发了一套基于Windows XP平台的绘编控一体化数控线切割控制系统的交互式绘图自动编程功能模块软件系统。该系统拥有基于Windows XP平台的绘图平台。在该绘图平台上可以调用其他CAD绘图软件系统绘制的以.DXF文件格式存储的图形文件,同时其绘制的图形文件也可存储为.DXF文件格式供其他CAD绘图软件系统使用,实现与其他CAD软件的数据交换,以满足一些用户的要求。该系统能对绘制的零件加工轮廓曲线根据要求自动进行工艺顺序安排(即加工路径排序),自动进行编程所需的数值计算,以及自动生成数控系统所需要的加工程序。该系统是利用计算机进行数值计算,克服了人工计算精度较低的问题。同时,该系统自动生成线切割数控系统能执行的加工程序,避免了低效率的人工编程过程。由于该系统是独立开发的,因此还可方便经济地嵌入到新的电火花线切割控制系统中。
电火花线切割绘图自动编程的系统结构如图1所示。
图1 线切割绘图自动编程系统的结构
第1歩,绘制零件在线切割数控机床上进行加工的轮廓曲线,如绘制一个外槽轮的轮廓轨迹,如图2所示,或者通过点击该系统菜单“图形文件|打开文件”打开其他CAD绘图系统绘制的后缀为.DXF的一个文件。无论是绘制还是打开,其线段数据的相关信息都放在如图3所示的自定义类型DrawTyPe的数组C_Draw()中。
图2 线切割绘图自动编程系统
图3 自定义类型结构
第2步,由于进给速度(即加工切削速度)受电蚀效率、工件厚度等不可事先确定的因素影响,在线切割加工中由控制系统根据加工过程中钼丝与工件间的电压以及设定的跟踪度自动动态调节,不能在加工代码程序中预先设定加工速度,因此,为能以合适的加工进给速度对零件轮廓进行加工,须在工件加工轮廓之前加入引入段,同时指定线切割加工的起点(即引入段的一端点),从而使控制系统在加工轮廓前根据设定的跟踪度自动调整到最优加工切削速度。
第3步,由于无论是打开的DXF文件(其他绘图软件绘制的零件轮廓图),还是本系统绘制的零件轮廓图,在绘制、存储过程中线段的排列顺序不可能就是加工过程所要的加工顺序;因此,基于加工过程的连续性,需对C_Draw()中线段数据根据加工先后排序,即从切割加工的起点所在的线段开始,对加工轮廓线段进行排序。
第4步,将排好序的线段逐一进行处理,生成G代码程序(本系统的默认代码格式,在单击“后置处理”功能后,也可以通过选择代码格式生成3B代码)。
零件轮廓曲线分成2大类:一是直线和圆弧这2种简单、基本的曲线,也称为基本曲线;二是除基本曲线以外的其他非圆曲线,也称为特殊曲线。绘图子系统的结构框图如图4所示,主要包括绘制和编辑2大功能模块。
绘制包括基本曲线的绘制和特殊曲线的生成。在绘制基本曲线时,首先单击图2所示的交互式操作平台左边的工具栏中相应的功能按钮。当选择某一绘制功能后,在工具栏的下方会立即出现要完成该功能的相关信息,并在操作平台的最下面的提示区显示相应的操作提示。例如,绘制外槽轮的轮廓轨迹加工的引入线,当单击“绘直线”按钮时,该按钮四周变成亮白色,同时在工具栏下方出现要绘制直线的相关信息,以及绘制直线的相应提示,如图5所示。直线的相关信息包括直线的长度,相位角,起点坐标值,终点坐标值,终点相对于起点的X、Y坐标的增量。由于采用鼠标拖动绘制曲线,如果曲线的关键点(如起点、终点、中心点、圆心点等)不是已经绘制的曲线的关键点(还包括线段与线段的交点),则绘制曲线的关键点的位置或者曲线的重要信息(直线的相位角、圆和圆弧半径)很难做到精确;因此先用鼠标移动动态捕捉已有关键点预先绘制曲线。在绘制的过程中,该系统会在绘制功能的相关信息区中实时显示绘制曲线的相关信息。若认为相关信息的值不够精确,则可在相应的信息框中直接输入精确的数据,在输入数据过程中当前图形曲线会根据输入数据的变化动态变化,以实现精确的交互式绘制轮廓曲线。若满意修改后的结果,并接受这段曲线,则可单击红色的确认按钮,否则单击黑色的取消按钮(即本次绘制的线段信息不放入相应的数组中,并在绘图区删除该曲线线段)。单击确认按钮,系统除了会把该线段的信息放在图3所示的自定义类型的动态数组C_Draw()中,还会快速计算出该线段与前面已接受的其他线段的交点(包括切点)数据以及该线段的中点数据。这些数据称为关键点信息。系统把这些关键点信息(X、Y坐标值,所在线段)放在另一自定义类型的动态数组C_Point()中,为后面绘制新线段捕捉关键点及编辑操作做好准备。对于特殊曲线的绘制,首先输入相关的关键信息,系统拟合出对应的曲线的函数表达式,然后采用小段直线或圆弧来拟合该曲线段。
图4 绘图子系统的结构
图5 绘制直线示例
编辑模块主要包括擦除、裁减、齐边、线性阵列、圆形旋转阵列、镜像等功能,操作时既可以使用菜单栏中的“编辑”菜单,也可以单击图2所示的操作平台右边的工具栏中相应的功能按钮实现功能选择。该工具栏中还包括局部放大、全图显示、视图区移动、后置处理等功能按钮(为操作方便,擦除、修改功能按钮放在左边的工具栏中)。编辑操作都会涉及图形线段的拾取。本系统采用的方法是当鼠标在绘图区移动时,系统返回的鼠标指针点在绘图区坐标系中的坐标值与已绘制的线段的数据进行运算,看鼠标指针点在哪条曲线段上,对满足要求的曲线段,则以设置的“预选定”颜色显示该曲线段,这时按下鼠标左键,就以设置的“选定”颜色显示该曲线段,系统同时会记录下该曲线段所对应的数据信息在自定义类型的动态数组C_Draw()中的下标值,实现图形的拾取,为相应的编辑操作做好准备。
第1歩,以加工的起点为当前点,遍历整个数组C_Draw(),查询满足线段端点(即起点、终点)为当前点且该线段还未处理的条件的线段。第2步,如果满足条件的线段只有1条,就可直接把该线段的数据存放在自定义类型DrawTyPe的另一动态数组PX()中,并设定该线段为已作处理的标志。如果满足条件的线段为多段(如图6中封闭外槽轮轮廓,当找到引入线后,找下一线段时,出现了2条端点为当前点并且还未排序的线段),先根据满足条件的线段信息,在图上给出路径方向(如图6中的2个箭头),由操作者移动鼠标进行选择。当鼠标指针靠近某一个箭头时,该箭头由绿色变成红色,如果操作者不想选择该路径,鼠标指针离开该箭头,该箭头又变回绿色。当某箭头变成红色后,按下鼠标左键,即可确定该箭头所对应的线段为要加工的下一线段(如图6所示,选定的是顺时针方向的向上的这一线段)。把选择的线段的数据存放在PX()中,同时设定该线段为已作处理的标志,并把当前点的数据改为该线段的另一端点的数据。第3步,判断C_Draw()中数据是否处理完毕。若处理完毕,则结束;否则,重复以上步骤。
图6 路径方向选择例图
根据线切割加工的特点,G代码加工程序以相对坐标编程,自动生成流程,如图7所示。
图7 G代码生成程序框图
以加工的起点为当前点,对按加工要求排好序的线段进行G代码的自动生成。当当前线段为直线时,则生成G01直线插补程序段,尺寸字(X、Y等)后面的数值根据当前点与该线段的起点、终点的关系得到。若当前点的坐标与线段的起点坐标一致,则用该线段终点的坐标值与当前点的坐标值之差作为尺寸字后面的数值;反之,用该线段起点的坐标值与当前点的坐标值之差作为尺寸字后面的数值。由于圆弧在DXF文件中是以逆时针方向存储的,因此,本绘图系统绘制的圆弧也是以逆时针方向来存储相关数据。当当前线段为圆弧时,若当前点的坐标与该圆弧的起点坐标一致,则生成G03逆圆弧插补程序段;反之,生成G02顺圆弧插补程序段,尺寸字后面的数值计算与直线插补程序的计算方法相同。每生成一程序段,就对当前点的数值进行更新,直到对所有排好序的线段都生成对应的程序段为止。根据图2所示外槽轮的轮廓轨迹自动生成的按顺时针方向走刀的G代码程序如图8所示。该加工程序代码没有考虑钼丝半径以及放电间隙(即补偿量为0),这是为能向直接输入G代码的线切割数控系统[5]和其他数控机床(如水射流、激光等数控机床)提供加工程序。本系统也可在生成加工代码前,进行加工参数设置,如图9所示,根据钼丝半径以及线切割的电参数对应的放电间隙设置“补偿量”,生成类似于其他数控机床带刀补的加工程序。
图8 G代码生成结果
图9 加工参数设置
本系统是一个完全独立的模块。它与其他系统的数据交换,一是通过DXF格式的图形文件,二是通过文本格式的G代码程序文件;因此该系统既可单独作为图形绘制及图形自动编程系统使用,又可作为开放式个人计算机数控系统自动编程的功能模块。在开放式个人计算机数控系统的开发中,利用Shell()函数调用生成可执行程序的本系统,或把本系统的源代码直接添加进以VB为开发平台的计算机数控系统中,即可嵌入到新开发的电火花线切割控制系统中。如图10所示,在VB新开发的XH中走丝线切割控制系统中,通过“视窗”下的菜单项“CAD绘图/自动编程系统”单击click事件中添加“I=Shell(“数控线切割绘图自动编程系统.exe”,1)”或者“Dform.show”语句(本系统编译后生成的可执行程序名为“数控线切割绘图自动编程系统.exe”,本系统的主窗体名为“Dform”),即可把本绘图自动编程系统嵌入到VB新开发的XH中走丝线切割控制系统中。图10中右边下方的米老鼠轮廓曲线的加工G代码程序就是通过本绘图自动编程系统而得到的。该G代码程序的数值计算精度是按定义的0.001μm精度计算的,已高于电火花线切割数控系统要求的0.1μm的尺寸精度。
图10 XH中走丝线切割控制系统中的应用
本系统基于Windows平台成功地实现了线切割数控系统的切割轮廓轨迹的绘制及自动编程,弥补了手工编程中的数值计算烦琐、费时、精度不高、容易出错以及较难编制复杂轮廓轨迹的补偿程序等许多不足。该系统既可单独作为图形绘制及图形自动编程系统使用,又可作为开放式计算机数控系统实现自动编程的功能模块。因为本系统得到的是G代码格式加工程序,所以它也可以作为其他数控机床(如水射流、激光等数控机床)的绘图自动编程系统。
[1]徐娅萍,吴小玲,邱鸿利. 基于AutoCAD的线切割自动编程接口软件设计[J]. 航空精密制造技术,2002,38(5):15-18.
[2]曹斌,李光耀,李启炎. 基于DXF文件格式的二维复杂图形数控代码自动生成法[J]. 机械设计与制造,2003(3):30-32.
[3]兰琳,唐小琦. 基于Windows平台的线切割数控自动编程系统[J]. 机械工程师,2005 (1):32-33.
[4]蔡伯阳,林金明,谢明红,等.基于DXF文件的NC代码生成[J].现代制造工程,2002(2):20-21.
[5]陈廷成,杜文正,雷玉勇,等.线切割机床数控系统的开发与应用[J].机械设计与制造,2012(11):89-91.