利用VC++编程实现数控车削仿真

摘要:介绍了一种数控车削过程计算机仿真的实现方法。运用面向对象技术开发了Windows软件,该仿真软件不仅具有很强的实用性,而且具有明显的先进性。本文对刀具轨迹动态仿真和加工过程动态仿真技术进行了详细介绍。软件运行证明了它的有效性和正确性。 

数控程序的加工仿真仿真领域中的一个重要方面,也是计算机集成制造系统中的一个重要环节。传统的检验数控程序正确性的方法是用木模、蜡模或塑料模试切以进行检验。而在计算机环境下,利用数控仿真方法进行数控程序的正确性检验是一种新的方法。通过对零件加工过程的仿真,可以检查数控代码的正确性,还可以检查加工过程中刀具与工件、机床及夹具之间是否有干涉(包括碰撞和过切)现象。加工过程仿真可以比较真实地反映出实际的切削加工过程。在仿真过程中发现的错误可以立刻进行改正。这种不需要通过进行实际试切来检验数控代码的方法具有快速直观、省时方便的特点。它节省了人力和物力,提高了生产效率,保证了加工质量,适应了现代市场对产品开发制造的要求。以前有在DOS系统下开发和运行的软件。随着面向对象技术以及VC++开发系统的出现,开发更有利于集成于CAD/CAM 系统的、使用更方便的WINDOWS软件具有很大的意义。 
1 数控车削仿真系统的结构及流程
数控程序加工仿真系统是CAD/CAM集成系统中的一个重要组成部分,它是基于刀具数据库的车削仿真系统软件。动态仿真子系统是整个系统的核心,仿真是系统的目标。仿真的内容包括完成刀具轨迹仿真、去除材料的切削加工仿真、刀具与被加工零件之间干涉(过切和碰撞)检查。对于数控车削加工而言,本加工仿真系统要完成以下几项任务:刀具轨迹仿真、切削加工仿真、干涉检查和提交仿真报告。刀具数据库是系统的另一个重要组成部分。它是仿真系统的后勤保障。它容纳大量的刀具数据并且做到有效的管理。刀具数据管理包括数据的输入、删除、浏览、查找等。系统模型如图1所示。 
车刀对零件的加工主要涉及到圆柱面、圆锥面、球面、螺纹、端面、切槽、切断等表面的加工。无论加工什么样的零件一律是工件做回转运动(即主运动):而刀具做直线、圆弧或其它轨迹的运动(即进给运动)。在数控加工程序中这些运动可以通过简单的G01、G02、G03等指令完成。由于该仿真系统是对NC程序在PC机中的模拟,在仿真中为了能够在PC机屏幕上动态显示刀具的运动轨迹或切削过程,就必须将数控程序指令翻译过来。完成对NC程序进行语法分析,坐标转换等工作,其过程如下: 
仿真过程要对数控程序进行处理使之成为一个NC坐标信息文件。该文件是对NC程序进行语法分析与坐标变换的结果。数控程序由CAD/CA /CAM集成系统自动产生或人工键盘输入。 
一是NC坐标文件解释程序从NC坐标信息文件中读取刀具信息并从刀具库文件中读取相应的刀具信息。二是NC坐标文件解释程序从NC坐标信息文件中读取刀具运动指令及坐标信息,并调用相应的加工仿真算法使之可以完成对刀具的运动轨迹仿真、切削加工仿真及干涉检查。 
生成仿真报告,提交给操作人员做分析。

图1 基于数据库的车削仿真系统模型
2 数控代码的识别方法及语法检验
数控机床是按照数控程序去工作的,数控程序记录了零件加工的工艺顺序、运动轨迹与方位、位移量、工艺参数(转速、进给量、切削深度)以及辅助动作(换刀、变速、切削液的供给)。一个完整的数控加工程序是由若干程序段组成,在程序中一般表现为一行代码。程序段有一定的格式,即程序段中字的排列、书写方法和顺序,以及每个字和整个程序段的长度限制和规定。不同的数控机床控制系统往往有不同的程序段格式,格式不相符则数控系统便不接受。目前国内外常用的程序格式是可变程序段“字地址格式”。程序段中每个字都以地址符开始,其后有符号和数字,代码字的排列顺序没有严格的要求,不需要的代码字以及与上段相同的续效字可以不写。国际标准化组织制订的ISO4683—1—1982标准规定的格式如下所示: 
N...G...X±...Y±...Z±...I±... J±...K±...M...S...T...F... 
其中N指示序号:G指令称准备功能指令,它用来规定刀具和工件的相对运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作:X、Y、Z为坐标轴的地址符:I、J、K用来描述加工中圆弧的坐标:M称为辅助功能指令:F、S、T分别是进给速度指令、主轴转速指令和刀具号指令。 
数控加工的仿真过程主要是对NC代码的模拟,为此,首先要将数控程序进行分析,然后将数控程序中的对仿真有效的成分提取出来,形成一个文件供应用程序调用,NC程序的编译解释过程分以下几步进行:①读入NC程序。首先建立一个与数控代码程序段格式相对应的类Cbuffer的对象,此对象是一个数据缓冲区,由于NC程序代码以一行为一个基本动作操作单位,所以设每一行为一个基本存储单元,将程序段中的数控加工信息依次读出:②逐行读入NC程序,根据NC程序的有效性规则进行字符有效性检查:③滤除程序段中的注释字符。②和③两步对于检验人工手写的NC程序很重要,从中可以发现书写错误:④进行其它规则检查,例如数字的位数、数位的取值范围等:⑤以行(即一个程序段)为单位将提取出的有效信息执行语义分析,并将机器坐标转换成窗口坐标,{zh1},将变换后的坐标写入坐标NC信息文件之中。执行语义分析就是要识别G、M、S、F、T等的含义,然后再包含字母后的数字一起处理,做出关于加工信息和刀具轨迹坐标变换的反应:M重复以上过程,直到数控代码结尾,这样就形成了一个完整的NC信息文件。 
由于不同的数控系统语法略有差异。本加工仿真系统主要以F@NAC数控系统和ISO6983-1-1982为依据。在本仿真软件中,主要的识别NC程序的有效性规则如下:①NC程序的有效字符集为:数字0~9:英文字母N、G、M、T、F、S、X、Y、Z、 I、J、K、R:符号%、(、)、/:②NC程序的{dy}行必须是符号“%”或者是注释行。在本数控系统中,符号“%”是程序开头的标志:③G代码和M代码后的数字必须是两位数字且为有效代码,例如:G00、G01、G90、M00、M06等:④同一组G代码在一行中不能重复出现。例如:G00代表快速定位,G01代表直线插补,它们不能出现在同一行:⑤S代码和T代码后必须是数字,而且受具体使用的机床参数限制。T后的数字代表刀号,它不应该超出机床刀库的容限。S后的数字是主轴转速,它不应超出一定的范围。另外,对于数控程序中的续效指令,本仿真系统采用了数据缓冲区的方法逐行读取数控代码并一直保持数据,所以方便地解决了支持续效指令问题。 
3 刀具轨迹的动态仿真及切削过程仿真
刀具轨迹的动态仿真是通过查看刀具在切削加工过程中的轨迹来检查数控加工程序正确性的一种方法,这种方法简单直观,能够快捷地对刀具轨迹正确性做初步的判断。刀具轨迹仿真算法的流程主要包括三个部分: 
NC坐标信息文件解释执行:在这一部分内首先要识别指令方式是{jd1}指令方式(G90)还是增量指令方式(G91)。其次获取与坐标相关的数控指令(例如G01、G02等)和对应的坐标参数。{zh1}计算出刀具直线行走的起点及终点坐标、刀具圆弧行走的起点、终点及圆心坐标,并将机器坐标换算成屏幕坐标存为文件,这个文件就成为后面轨迹仿真的依据。 
插补运算:数控程序对零件的描述所给出的是直线的起点和终点,圆弧的起点和终点、逆圆还是顺圆及圆弧半径等信息。在①中NC坐标信息文件也同样是这些量的描述。为了将直线或圆弧切削中的中间过程表现出来就要采用插补,插补就是在轮廓起点和终点之间计算出若干个中间点的坐标值。在此采用了逐点比较法插补。

图2 刀具轨迹的动态仿真示例
动态轨迹显示:将直线插补得到的所有坐标按顺序显示出来就得到刀尖的轨迹。为了区别不同的刀具轨迹,采用不同的颜色分别表示快速进刀、直线切削和圆弧切削,如图2为一实际轨迹仿真画面。
轨迹仿真处理数据量少,对计算机的性能要求不高,简单方便。但是反映的实际切削过程不全面,尤其是刀具在切削加工过程中刀具对工件的干涉无法反映出来。而零件切削过程的动态仿真可以将刀具、工件之间的几何形体直接显示出来,并可以模拟零件的切削过程,它不仅更形象逼真,而且可以处理切削过程中的干涉现象。 
切削过程的动态仿真语法与刀具轨迹的仿真算法基本一致,它也是经过三个过程,不同的有下面几个方面: 
取刀具:以刀具号为标识向刀具数据库取刀,提取刀具参数并绘在屏幕上。 
实现刀具运动:在仿真中,刀具的移动靠计算机动态显示技术来实现,程序设计中,在刀具所经过的每一个轨迹点均要画出刀具图形,这样整个轨迹线上会布满刀具。为了形象地显示刀具移动的样子,既简单又常用的方法有两种:一是“画—擦—画”法,基本原理是刀具每移动一个位置就擦去原来的刀具图形,画出新的刀具图形,这种方法只适于简单的图形,其缺点是会将重叠于图形之上的不动部分图形也擦去。第二种方法是采用“异或”显示模式绘图,即本位置上的图形与上一位置的图形作异或运算后再显示,如此循环就生成动态的图形。这种方法不仅使代码紧凑,而且对静止不动的那部分图形无影响。本程序采用了这种方法,它使得刀具产生运动效果,而工件不运动。 
实现工件上材料的切除:画出零件的毛坯形状,在屏幕上模仿出车刀一刀刀切下毛坯上材料的样子是切削加工仿真的重要组成部分。用软件实现的基本方法是将被切下的部分重新涂色,当涂成与背景一样的颜色时,给人的视觉就是被刀具切削下来了。具体实现方法是在刀具的刀尖部位定义一个小区域为填色区。这样,在刀具的切削运动中,伴随着切削指令,刀具阴影部分所经过的区域都变成了背景色,实现了切削过程动态仿真

郑重声明:资讯 【利用VC++编程实现数控车削仿真】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——