一、引言
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机床的切削环境,而不必在实际的机床上运行。它降低甚至消除了在机床上验证输出的必要性。利用该技术不仅节省了编程和调试的时间,还减少了重复性的工作、消除了损坏零件及损坏机床的可能性。
机械加工工艺师手册 (好书推荐)
数控编程技巧:教你怎么样确定走刀路线和安排加工顺序
数控编程技巧:数控加工必备的基础知识
数控编程技巧:学数控必须掌握的几个要点(初学必读本)
扫描击期和响应时间用PC设计一个控制系统时,一个最重要的参数就是时间,PC执行程序中的所有指令要用多少时间,(扫描时间)有一个输入信号经过PC多长时间后才能有一个输出信号(响应时间)掌握这些参数,对设计和调试控制系统无疑非常重要。
当PC开始运行之后,它串行地执行存储器中的程序。我们可以把扫描时间分为4个部分:共同部分,例如清除时间监视器和检查程序存储器;数据输入,输出;执行指令;执行外围设备指令。
时间监视器是PC内部用来测量扫描时间的一个定时器,所谓扫描时间,是执行上面4个部分总共花费的时间。扫描时间的多少取决于系统的购置,I/O的点数,程序中使用的指令及外围设备的连接,当一个系统的硬件设计定型后,扫描时间主要取决软件指令的长短从PC收到一个输入信号向输出端输出一个控制信号所需的时间,叫响应时间。
响应时间是可变的,例如在一个扫描周期结束后,收到一个输入信号,下一个扫描周期结束后时,收到一个输入信号,下一个扫描周期一开始,这个输入信号就起作用,这时,这个输入信号的响应时间最短,它是输入延迟时间,扫描周期时间,输出延迟时间三者的和,如果在扫描周期开始收到了一个输入信号,在扫描周期内该输入信号不会起作用,只能等到下一个扫描周期才能起作用,这时,这个输入信号的响应时间最长,它是输入延迟时问,输出延迟时间三者的和,因此,一个信号的最小响应时间和最大响应时间的计算公式为:
最小的响应时间=输入延迟时间+扫描时间+输出延迟时间,最大的响应时间=延迟时间+2×扫描时间+输出延迟时间。
在实际调试过程中,有时出现这样的情况,一个软件系统从理论上推敲能完全符合机械设备的工艺要求,而在运行过程中无论如何也不能投入正常运转,在系统调试过程中,除考虑软件设计的方法外,还可以从以下几个方面寻求解决的途径。
从上面的响应时间估算公式可以看出,输入信号的响应时间由扫描周期决定,扫描周期一方面取决于系统的硬件配置,另一方面由控制软件中使用的指令和指令的条数决定,在砌块成型机自动控制系统调试过程中发生这样的情况,自动推板过程(把砌块从成型台上送到输送机上的过程)的启动,要靠成型工艺过程的完成信号来启动,输送砖坯的过程完成同时完成了送板的过程,通知控制系统可以完成下一个成型过程。
单从程序的执行顺序上考察,控制时序的安排是正确的,可是,在调试的过程中发现,系统实际的控制时序是,当第一个成型过程完成后,并不进行自动推板过程,而是直接开始下一个成型过程,遇到这种情况,设计者和用户的第一反应一般都是怀疑程序设计错误。经反复检查程序,未发现错误,这时才考虑到可能是指令的响应时间产生了问题。
砌块成型机的控制系统是一个庞大的系统,其软件控制指令达五六百条。成型过程启动信号,由一个成型过程的结束信号和有板信号产生,这时,就将产生这样的情况,在某个扫描周期内扫描到HR002信号,在执行置位推板过程,直接进行下一个成型过程,这可能是由于输入信号的响应时间过长引起的,在这种情况下,由于硬件配置不能改变,指令条数也不可改变,处理过程中,设法在软件上做调整,使成型过程结束信号早点发生,问题得到了解决。
2、软件复位
在PLC程序设计中使用最平常的一种是称为保持继电器的内部继电器。PLC的保持继电器从HR000到HR915,共10×16个,另一种是定时器或计数器从TIM00到TIM47(CNT00或CNT47)共48个(不同型号的PLC保持继电器,定时器的点数不同)。
其中,保持继电器实现的是记忆的功能,记忆着机械系统的运转状况,控制系统的运转的正常时序,在时序的控制上,为实现控制的安全性,及时性、准确性、通常采用当一个机械动作守成时,其控制信号(由保持继电器产生)用来终止上一个机械动作的同时,启动下一个机械动作的时间继电器不能正常被复位的情况。
在开机前,如果不强制使保持继电器复位,将会产生机械设备的误动作,系统设计时,通常采用的方法是设置硬件复位按钮,需要的时候,能够使保持继电器,定时器、计数器、高速计数器强制复位,在控制系统的调试中发现,如果使用保持继电器,定时器,计数器、高速计数器次数过多,硬件复位的功能很多时候会不起作用。
也就是说,硬件复位的方法有时不能准确,及时地使PLC的内部继电器、定时器、计数器复位,从而导致控制系统不能正常运转,在调试过程中,人为地设置软件复位信号作为内部信号,可确保保持继电器有效复位,使系统在任何情况下均正常运转。
3、硬件电路
PLC的组成的控制系统硬件电路。当一个两线式传感器,例如光电开关,接近开关或限位开关等,作为输入信号装置被置被接到PLC的输入端时,漏电流可能会导致输入信号为ON,在系统调试中,如果偶尔产生误动作,有可能是漏电流产生的错误信号引起的。为了防止这种情况发生,在设计硬件电路时,在输入端接一个并联是阻,并联电阻的计算公式。
其中,不同型号的PLC漏电流值可查阅厂商提供的产品手册,在硬件电路上做这样的处理,可有效地避免由于漏电流产生的误动作。
免责声明:
本文系网络转载,版权归原作者所有。如涉及版权问题,请联系管理员,我们将第一时间协商版权问题或删除内容。
1、首先将要验证的程序打开,进行编译,确保自己的程序在编译中没有任何错误,才可以进行仿真。2、需将要仿真的软件导出,以便导入到仿真的PLC中。点击“选项”后,看见下拉的菜单后,再点击“导出”的选项。点击后,d出一个导出程序框的框,将该程序保存在一个地方。
3、然后将下载好的s7200的仿真软件打开,进入到这个界面,输入密码6596即可。
4、选择你所需要PLC的CPU类型,点击上方的“配置”选项后,再点击CPU型号。
5、选择你所需要的CPU型号,然后点击Accept即可,CPU型号选择成功。
6、如果需要扩展模块,双击CPU右方的空白部分,选择你所需要的扩展模块。
7、选择完毕后,点击上方的“程序”选项后,点击“装载程序”的选项,接下来点击确定后,选择你刚刚导出的仿真文件夹。
8、装载成功后,点击“RUN”,即可对程序进行仿真,观察你的输入、输出指示灯。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)