1. 数控编程技术:NC程序仿真与校验
数控编程技术:NC程序仿真与校验2008年02月20日 星期三 12:26本文应用NC程序仿真校验软件VERICUT,研究了NC程序的仿真技术,分别探讨了手工编写的和由CAD/CAM软件生成的NC程序的校验方法,完成了典型零件手工编写的和由CAD/CAM软件生成的NC程序的切削加工仿真和程序校验。
一、引言
NC程序作为数控加工的信息载体,其正确与否直接影响零件的加工质量。目前实际生产使用的NC程序,在投入加工之前通常采用机床空运行和样件试切,完成NC程序的校验。该方法加工准备周期长,生产成本高,难以实现数控机床的高效率。图形仿真是目前通用的NC校验方法,一般采用离线工作方式,用三维图形直观显示机床、刀具、工件以及辅助设备(机械手等),在计算机上对检验程序进行编译,并驱动图形加工系统进行准实时加工,检查NC代码中的语法和语意错误,实现干涉校验。NC程序仿真能直观安全地模拟、验证、分析切削过程,免去了以往样件生产的样件材料损耗、刀具磨损、机床清理等,从而缩短生产准备周期,降低成本。本文选择了两个典型零件作为研究对象,探讨利用计算机辅助技术生成NC程序,然后进行仿真校验的技术问题。
以Unigraphics NX和VERICUT 5.3为工具。在Unigraphics NX/Modeling模块中做零件和模型造型,用VB和Unigraphics NX/Manufacturing等软件生成NC程序,再用VERICUT 5.3仿真软件实现NC程序仿真校验。
二、NC程序仿真与校验工作流程
VERICUT仿真校验NC程序的工作流程如图1所示。
图1 VERICUT仿真校验NC程序的工作流程
几乎所有形式的NC程序代码都可以作为VERICUT的输入程序,包括手工编写的纯文本格式的数控加工程序。M&G代码与APT形式的CL文件一样,都可以被VERICUT直接执行。类似真实加工的是,VERICUT需要刀具轨迹代码,需要对于被加工的原材料的描述,也需要对于切削刀具的描述。验证过程的结果之一是一个加工过的三维实体模型——产品。结果之二是一个报告——包含模拟加工过程所监测到的所有错误信息的日志报告。
三、VERICUT实现NC程序仿真校验的方法和步骤
1. 手工编写的NC程序仿真校验
对于这种情况,这里以一个用VB编写的纯文本数控加工程序为例加以说明。如图2所示的是一个已经粗加工的零件,要对其顶面进行精加工。顶面为一不能用CAD软件完成造型的三维空间曲面,原曲面上相应点的坐标是在三坐标测量机上测量得到的,只能根据这些坐标值进行编程,然后加工出曲面。用VB编写的数控程序有5万多行,程序的校验原先是在数控机床上对样件进行试切完成的,要经历试切→测量→修改程序→再试切的程序校验过程,整个过程既费工又费时,而且效果也不理想。改用VERICUT对NC程序进行仿真和校验,不仅节省时间和降低成本,而且效果很好。
图2 毛坯模型
本例为了获得好的仿真效果,利用Unigraphics NX制作了一个近似的实体模型。模型制作好后,输出为*.IGS文件并保存。仿真需要完成三个操作步骤:准备NC程序;准备被加工零件的原材料模型;完成仿真。
进入VERICUT主界面,首先定义工作环境,单击File→Properties,Default Units=Millimeter设置为公制毫米单位,然后单击File→New Session新建一个*.USR文件。在其中定义刀具路径、毛坯和刀具,并完成仿真。
(1)毛坯
单击VERICUT主菜单的Model→Model Definition:Import标签,单击Browse,点选保存*.IGS原材料模型文件的目录,选择预先制作好的原材料模型文件。取Tolerance=0.005,单击Apply,被加工零件的原材料模型即被输入VERICUT主界面,如图1所示。
(2)NC程序
手工编写的NC程序如图2所示。共5万多行,预先编好的NC程序保存为纯文本格式。NC程序以顶面中心为编程原点,精加工工序使用的刀具为φ20球头铣刀。NC程序调用步骤:单击Setup menu→Toolpath:Toolpath Type=G-Code Data,单击Add,选择预先编好的程序文件,单击Ok,刀具路径文件被调入VERICUT。
图3 NC程序
(3)刀具
根据程序的要求,在VERICUT中定义刀具,可以从VERICUT附带的刀具库中选择。步骤是:单击Setup→Tool Manager→File→Open,在VERICUT的安装目录下,找到刀具库文件fanuc3xm.tls,并打开。对ID号为1的刀具进行编辑,改为φ20的球头铣刀,并将其Gage Offest设为零。删除其余刀具,将修改的结果另存至相应的目录。
(4)数控系统
这里要为VERICUT仿真环境指定一个数控系统控制文件。可直接从VERICUT的库文件中选择相应的数控系统控制文件,本例选用的控制文件是fan0m·ctl (mill)。调用步骤:单击Setup→Control→Open,在VERICUT安装目录下找到库文件fan0m·ctl,并打开。该文件是一个文本文件,包含数控系统如何处理G代码的指令、程序的格式、机器码编写规则和程序调用的规则等,用于将刀具路径编译为机床能识别的机器码。
(5)机床
要根据实际机床定义仿真的机床组件。下面以Funac-3Axis立式加工中心为例,说明如何添加机床各轴组件到组件树形关系中。
☆在Base下建立Z轴,并定义Z轴零点相对于机床零点的位置;
☆在Z轴上建立刀具Tool,并定义其相对于机床零点的位置;
☆再在Base下建立Y轴,在Y轴上建立X轴;
☆然后利用剪切、粘贴功能,将组件树形关系调整为如图(4)所示结构。
图4 组件树形关系
说明:机床组件中各轴零点均设在毛坯底面中心,刀具Tool的Z坐标根据程序中的G92指令和毛坯顶面中心至底面中心的高度设置,类似于在数控机床上将工件坐标零点设置在毛坯顶面的中心。
(6)仿真
这里要确保刀具路径的原点与机床各组件的零点相符。本例根据以上的设置将刀具路径原点设在Stock_Origin。设置步骤:单击Setup menu→Toolpath:在刀具原点列表下拉菜单中,点选Stock_Origin,然后单击Ok。
单击Play to End图标即可仿真刀具切削过程。仿真过程中,打开Info/Status窗口,则在动态切削过程的同时,还能实时得到其相应的刀具位置、错误信息、警告信息、刀具信息等,如图5所示。
a)仿真切削过程 b)有误切程序的仿真结果 c)调整后的程序仿真结果
图5 仿真结果
查看日志文件,可得到VERICUT记录的错误信息和警告信息。如有错误,则会显示发生错误的程序段。如记录数均为零,则说明NC程序通过了VERICUT的验证。
2. Unigraphics NX/Manufacturing中生成的NC程序仿真校验
对于这种情况,本文着重探讨NC程序的仿真校验。尽管在Unigraphics NX/Manufacturing中,生成刀具路径时,Unigraphics NX/Manufacturing提供了加工仿真功能,但是对一些复杂零件的刀具路径在实际加工前还应对NC程序进行进一步的验证。如图6所示的零件,在Unigraphics NX/Manufacturing中编制刀具路径时,经加工仿真未发现问题,用默认的三轴铣后处理器将刀具路径后处理生成NC程序,再用VERICUT进行验证,却出现了错误报告,错误程序段为N3340 G2 X59.026 Y33.681 I-33.91 F250,圆弧插补缺少J地址字,对应的刀具路径如图6a所示。类似的错误有好几处,这样的错误一般难以检查发现。但用VERICUT软件很容易就能发现问题。经VERICUT仿真的NC程序,除了能在动态切削过程的同时,实时得到其相应的刀具位置、错误信息、警告信息、刀具信息外,还生成相应的日志报告。报告中详细记载了错误的性质和相应的程序段,通过路径重放还能再现错误发生的过程,而且能立即在路径重放窗口中对相应的程序段进行修改。如图6b为原错误程序段修改后的路径重放。
图6 一个盘型零件
三、结束语
利用VERICUT仿真校验NC程序可以在计算机上模拟整个NC机床的切削环境,而不必在实际的机床上运行。它降低甚至消除了在机床上验证输出的必要性。利用该技术不仅节省了编程和调试的时间,还减少了重复性的工作、消除了损坏零件及损坏机床的可能性。
机械加工工艺师手册 (好书推荐)
数控编程技巧:教你怎么样确定走刀路线和安排加工顺序
数控编程技巧:数控加工必备的基础知识
数控编程技巧:学数控必须掌握的几个要点(初学必读本)
2. 数控车床编程实例带图的
数控机床程序编制的方法有三种:即手工编程、自动编程和CAD/CAM。
1.手工编程
手工进行零件图纸分析、加工、数值计算,编写程序清单直到程序输入和检查。它适用于点加工或几何形状不太复杂的零件。但是,在编译复杂的部分时,它非常耗时,而且很容易出错。
2.自动编程
使用计算机或编程机,完成零件的编程过程,对于复杂零件是非常方便的。
3.CAD/CAM
利用CAD/CAM软件实现了建模和图像的自动编程。最典型的软件是MasterCAM,可以完成铣削二坐标、三坐标、四坐标、五坐标、车削、线切割的编程。这类软件虽然功能单一,但简单易学,价格相对低廉,目前仍是中小企业的选择。
(2)数控编译失败视频扩展阅读:
注意事项:
科学技术的发展导致了产品升级的加速和人们需求的多样化,产品的生产也趋向于批量的多样化和小型化。为了适应这一变化,数控(NC)设备在企业中越来越重要。
它与普通车床相比,一个显着的优点是:对零件变化的适应性强,更换零件只需更改相应的程序,对刀具只需简单的调整就能做出合格的零件,为节约成本赢得机会。
但是要充分发挥数控机床的作用,不仅要有良好的硬件,更重要的是软件:编程,即根据不同零件的特点,编制出合理、高效的加工程序。通过多年的编程实践和教学,我培养了一些编程技能。
虽然数控车床在加工灵活性上优于普通车床,但在单个零件的生产效率上与普通车床仍有一定差距。因此,提高数控车床的效率就成了关键,而合理运用编程技能,建立高效的加工程序,往往对提高机床的效率有意想不到的效果。
3. 西门子数控编译错误802,程序块过大
我用的是802D和S的,没用过C的,也没遇到过这种情况,这个错误是编程时出现的么,你可以查下程序,锁定不了就只能重头查,西门子的问题不是很多,系统还算可以,先重自己的操作编程查起吧,