计算机辅助数控铣床自动编程系统的开发

2018-06-27 10:01汪传生刘明召
机械制造 2018年1期
关键词:数控铣代码刀具

□ 汪传生 □ 井 浩 □ 刘明召

青岛科技大学机电工程学院 山东青岛 266061

1 研究背景

计算机辅助设计 (CAD)和计算机辅助制造(CAM)技术起源于航空和军事工业,随着计算机科学的发展在全球机械行业中得到了广泛应用[1]。数控编程是将被加工零件的图形尺寸、工艺过程、工艺参数、刀具位移等信息按照数控机床能接收的编程格式和语言等记录在程序上的过程[2]。数控编程系统作为连接设计和制造的中间环节,亦是CAD和CAM技术的重要组成部分[3]。数控编程分为手工编程和自动编程。手工编程要求编程人员既要具备机械加工工艺知识、数值计算能力,又必须熟练掌握数控代码功能和编程规则,效率低且容易出错。自动编程因效率高、处理复杂零件能力强、易操作等优点逐渐成为发展的主流。高端的三维软件自身都带有CAM模块,如SolidWorks、Pro/E、Unigraphics等, 利用已有零件的三维造形,可以直接生成数控代码,然而这些软件相对来说价格昂贵,且对硬件的要求高。目前,我国许多企业和科研院校的CAD结果输出仍为Auto CAD二维图形,在未来很长一段时间内,Auto CAD软件仍将占据二维设计的主导地位。另一方面,我国自主开发的CAM软件,如CAXA、3D Line Grapher等,将图形生成.dxf格式文件后再生成G代码,存在数控代码生成不完善等问 题[4]。

基于以上现状,笔者以Visual Studio 2013软件为支撑平台,利用C#语言开发了能对Auto CAD二维图形进行自动编程的系统,包括两个主要模块:G代码自动生成模块和G代码向数控机床传输模块,最终目标是实现Auto CAD二维图形直接生成符合加工要求的G代码,并将G代码传输至数控机床。

2 系统分析

对自动编程系统进行研究[5-11],系统结构框图如图1所示。

图元是指Auto CAD界面可视的图形数据,自动编程系统若要能够直接利用Auto CAD二维图形识别被加工零件外形的特征,就必须建立在对Auto CAD图形图元信息提取的基础上。对零件的图元信息进行分析,可以判断构成图形的每一段线是直线、圆弧,还是其它类型曲线,同时可以提取构成零件轮廓的点坐标,这是生成G代码的重要基础。

▲图1 自动编程系统结构框图

提取图元信息,按照加工工艺要求设定加工参数和刀具参数后,根据后台程序设计的算法,对坐标点进行整理、计算后可自动生成G代码。直线段加工代码输出简单,直接在点坐标前加G01。对于程序中判断为圆弧的图形,需要对提取的点坐标进行数学运算,计算出圆弧半径或圆心位置。

随着计算机技术的发展,计算机通信技术日趋成熟。串行通信技术具有灵活、方便、可靠的特点,在计算机与机床的通信中应用广泛。利用计算机与机床的串行通信技术,将计算机生成的数控代码直接传输至数控机床,不仅避免了人工输入数控指令的烦琐和失误,而且能极大提高工作效率。

图2为笔者开发设计的计算机辅助数控铣床自动编程系统主界面。

进退刀标签前设有CheckBox按钮,点击可响应得到图3所示的子窗口,子窗口中的参数为默认值。

▲图2 计算机辅助数控铣床自动编程系统主界面

▲图3 计算机辅助数控铣床自动编程系统子窗口

3 关键技术

3.1 开发语言

面向对象技术是目前应用较多的系统设计开发技术,从数据的处理入手,以数据为中心描述系统,数据相对于功能而言具有更强的稳定性。面向对象的程序设计还具有易于维护、封装、升级的特点。计算机辅助数控铣床自动编程系统中,对零件图元坐标点的数据处理是系统开发中的重要内容,也是生成G代码的关键,因此选用面向对象的C#程序处理语言,在Visual Studio软件中进行开发。

3.2 零件轮廓信息

首先在Visual Studio软件中添加Auto CAD相关引用,建立起两个平台之间的通信,然后在Visual Studio后台程序中添加代码,打开要进行加工的零件。

打开.dwg格式文件所添加的具体代码如下:

利用C#语言中的Return FitPoints命令,选择图元后可以得到构成图元所有信息的点坐标。将每一个点坐标分别存放在一个二维数组里,以集合的形式顺序存储所有的二维数组。利用算法对这些点坐标进行计算,输出符合要求的G代码。

3.3 刀具半径补偿和干涉处理

由于数控机床加工时控制的是刀具的中心轨迹,因此外加工和内加工轮廓分别需要在零件轮廓点外加减所使用刀具的半径r。将所使用刀具的半径r设置为变量,由用户在交互界面中填写数值大小,顺序提取存储在集合中的零件轮廓点坐标,进行加减r计算,将结果重新存储在新的集合中。新得到的数据为刀心轨迹点坐标,随着选取刀具的不同,数据自动变化。

笔者在系统开发中设计了合适的进刀和退刀轨迹,这既是减化加工路径的要求,也是避免发生碰撞、刀切等干涉的必要条件。图4为加工零件时刀具的轨迹,图5为进刀和退刀时的刀具轨迹点坐标。

▲图4 刀具轨迹图

▲图5 刀具轨迹点坐标

图4中细实线为刀具的刀心轨迹,为了避免刀具在进入和退出时与加工工件发生碰撞,从进入点和退出点出发,设计了引线。刀具沿引线接近工件,沿90°圆弧切向进入与退出。设加工零件上的第一个加工点坐标为(x0,y0),刀具半径为 r,圆弧切入和切出时半径为R,第一条加工边与水平方向夹角为θ,θ<π。

(x1,y1)为完成沿圆弧进刀后开始加工零件时刀心的位置。

(x2′,y2′)为完成沿圆弧退刀时刀心的位置。

在后台代码中创建名为 “jindao” 的类:Publicstaticdouble[]jindao(double x, double y, double xc, double yc, double R, double d1),其中(x,y)、(xc,yc)分别表示轮廓切入点和加工方向上的第二点,求出两点所连直线与水平方向夹角的值,代码如下:

在得到夹角值后,代入如下算法,求出定义进刀引线的重要点坐标:

对类 “jindao”进行实例化:double[]jd=jindao(jiedian[0], jiedian[1], 0, 0, R, d1),根据界面中输入的进刀圆弧半径R、进刀引线长度d1,可以得到进刀时的引线重要点坐标。退刀时,所用代码类似。

3.4 G代码传送

笔者以得玛吉系统数控机床为例,基于C#语言,在Visual Studio 2013软件中设计开发了能够传输数控代码的代码传输模块,将机床的串口类型、交换协议、波特率等参数信息写入后台程序。图6所示为设计的向机床传输代码界面。系统启动后点击界面上的显示文本文件按钮,可以选择即将传输的内容,并在左侧文本显示区呈现。点击发送命令,可将显示区的内容按照设定向机床传输。

▲图6 向机床传输代码界面

4 实例验证与分析

在系统设计完成后,对系统的性能进行测试。图7所示为测试的Auto CAD二维图形。

在Visual Studio中点击启动按钮,图2所示的主界面自动响应。点击界面上的选择.dwg文件按钮,计算机自动弹出选择.dwg格式文件的文件夹。选择二维图形对应的文件名称,软件会自动启动Auto CAD软件。在主界面中填写各项加工参数和刀具参数。

点击屏幕选择加工曲线按钮,在CAD软件中,点击要加工的二维图形,点击确定按钮,软件自动生成对应的数控代码。图8所示为数控代码生成结果。

▲图7 Auto CAD二维图形

点击界面上的输出1和输出2按钮,生成的结果自动保存为.nc格式文件。

在软件的数控代码向机床传输模块中,笔者利用虚拟串口调试软件,模拟向机床传输的过程。打开下载好的串口调试助手,在设置中选择双串口模式,设置传输参数,将保存的数控代码指令复制到相应位置,点击发送按钮,即可完成传输,如图9所示。

▲图8 数控代码生成结果

▲图9 数控代码传输结果

生成的精铣代码符合转速2 500 r/min、进给率300 mm/min的设定要求,代码严格对应刀具半径为6 mm加工时的刀心位置轨迹。生成的粗铣代码符合转速2 500 r/min、进给率1 200 mm/min的设定要求,每层加工深度为4 mm,共加工3次,数据对应加工刀具半径为8 mm,最后一次精加工保留0.5 mm的余量进行加工时的刀心轨迹。数控代码的生成结果均符合主界面中参数设置的要求。

5 结束语

基于Visual Studio 2013软件和C#语言成功设计了一个数控铣床自动编程系统,能够自动生成并传输Auto CAD二维图形数控加工代码。

系统程序代码编写简单,运行效率高。对这一系统进行了实例验证,研究结果表明,这一系统可以准确生成Auto CAD二维图形数控加工代码,降低了对二维图形手工编程的难度,提高了工作效率,并为企业提供了加工制造的新思路。应用这一系统,能够根据现有的机床条件,在适当修改模块参数的基础上,编写符合机床条件的数控代码,并成功传输至加工机床。这样可以不必使用第三方开发的CAM软件,节约经济成本。

[1]周爱霞.CAD/CAM技术的应用及发展[J].科技创新导报,2012(18):11.

[2]罗忠诚,黄良沛.图形化数控车床自动编程系统的研究与开发[J].机床与液压,2006(2):79-81.

[3]廖友军,余金伟,王恒升.基于特征识别的数控车床自动编程系统研究[J].机械科学与技术,2008(4):532-536.

[4]张振宇,赵宏,梁补女,等.基于Auto CAD平台的数控车床自动编程系统的实现[J].兰州理工大学学报,2003(2):43-46.

[5]开滨.面向对象交互式CAD系统的设计与开发[D].青岛:山东科技大学,2009.

[6]孙兴伟,陈欣.数控铣床图形自动编程系统的设计与研究[C].先进制造技术论坛暨第三届制造业自动化与信息化技术交流会,西安,2004.

[7]陈文涛.数控钻铣床自动编程系统研究[D].乌鲁木齐:新疆大学,2004.

[8]刘志雄.基于AutoCAD2000开发的数控铣床自动编程系统设计[J].机床与液压,2003(4):230-231,23.

[9]黄国权.数控铣床图形编程系统研究[J].组合机床与自动化加工技术,2002(2):14-15.

[10]叶渭川.数控铣床自动编程系统[J].电子机械工程,1993(1):36.

[11]HAN J,WU L L,YUAN B,et al.A Novel Gear Machining CNC Design and Experimental Research[J].The International Journal of Advanced Manufacturing Technology,2017,88(5-8):1711-1722.

[12]马凯,杨泽林,吕静.基于DXF文件的CAD/CAM刀具路径优化与生成[J].机床与液压,2011(10):39-42.

猜你喜欢
数控铣代码刀具
数控铣床的精准保养技术
数控铣床定位误差诊断及维修
无织构刀具与织构刀具铣削性能对比研究
基于设备因素的数控铣削表面质量研究
创世代码
创世代码
创世代码
创世代码
切削刀具刃口形貌对刀具使用寿命的影响
华中8型数控系统热误差补偿功能在数控铣床上的应用