相关文章
友情链接

数控铣床加工过程虚拟仿真系统的设计

铭泰雕铣机导读:本系统的目标是建立一个真实的数控加工环境。在这个环境中,需要建立机床模型和加工过程模型。机床模型就是整个加工过程的物理环境,将真实的机床在计算机中以3D画面的形式出现;加工过程模型是一个动画过程,模拟真实机床、刀具、切削等加工过程的运动。

1)具有逼真的加工环境;

2)能够对NC代码等进行检测,即具备机床的NC程序编译功能,能发现NC程序的错误,并生成目标文件;

3)能够显示刀具轨迹及切削过程;

4)能调整、修改机床状态参数,实时监控机床的运动状态;

5)有友好的人机界面,能方便用户操作。

1)环境真实,系统的环境和真实的机床环境尽量相同;

2)功能一致,系统的功能要和机床的功能一样;

3)较强的纠正错误能力,能发现各种错误同时给出报警信息;

4)快速完成仿真过程,仿真加工过程需要的时间不能和真实的加工时间一样,否则让人难以忍受,加工过程时问可以根据用户的要求来进行调节。

1系统整体构架

仿真过程为:在控制面板上编辑NC程序或调入NC程序,然后对准备好的加工程序进行检查,轨迹仿真,确认无误,准备加工。加工前对整个系统进行必要的设置,刀具参数设置,工件坐标系设置等。进行加工时,显示机床运动动画及工件切削动画,对机床状态进行监测,显示监测的信息,如果有非法操作、越程等信息,发出相应的警报。

人机界面用来实现人机交互,即机床的控制面板;几何模块用来实现系统的物理环境,刀具轨迹及工件模型等几何体;NC模块主要功能有数控程序编辑、刀补、插补、编译生成虚拟机床驱动文件等;运动模块用来实现虚拟机床运动,刀具运动及切削运动等;机床参数设鬣、机床状态信息反馈与监测等功能用监测反馈模块来实现。

2各个模块的设计

2.1人机界面(控制面板)的设计

这个模块有两个方面:一是对面板的各个界面元素进行设计,一一个是对机床等各个虚拟物体进行控制。操作面板上的组件数量很多,但大多数都具有相似性,因此可以将具有相同功能的组件设计为ActiveX控件,利用ActiveX控件的封装性和动态连接性来实现虚拟操作面板上的具有相同功能的组件。界面元素构建三个类CRob、CMyButton、CMyEdiloCRob是用米实现旋转开关。CMyEdit用于实现显示屏。CMyBunon来实现方形按钮。几乎所用的操作,控制都在控制面板上,那么所有的模块都在这里汇集,可以是指针、实体,用来实现整个机床及加工过程的控制。设计一个NcPanel类,这个类提供各个控制变量,用于NC文件检查,机床参数设置,机床运动控制等等。

2.2几何模块的设计

2.2.1机床本体模型、刀具模型、切削液喷管等复杂几何模型

这峰模型比较复杂,直接采用绘图编程的方法很难实现这么复杂的图形,即使实现了也需要花费极大的时间和精力,绘制出来的效果也难以达到预期效果。本文采用一些成熟绘图应用软件如3dsMax、UG、Pro/E等来实现这些几何模型。本系统并不能直接调用这些软件生成的几何模型,只能得到这些几何模型的描述性文件。不得不对这些文件进行研究,找出需要的几何信息,然后转化成程序中能够使用的几何实体。有一种标准的文件格式--3DS文件格式,几乎所有的3D绘图软件都支持这种文件格式,能转化成这种文件格式。因此,这个模块的工作便是编写一个文件接口,将3DS二进制文件读入转换成0penGL几何实体。构建的类如下:

classC3dsReader;//3DS文件读人类

class8CTriList;//生成数据链表(用来逼近3DS图形的小三角形片//集合)

将机床各个部件几何模型组成一个机床类classMachine,这个类包括机床的各个组件,如床身、主轴等。

2.2.2刀具轨迹及零件几何模型

整个NC文件形成的刀具轨迹是由各种几何元素构成的,建模即是将各种几何元素构成一个完整的图形。如加工一个字,字体则是由多条直线构成。从中可以构建各个几何模型的类如直线(CLine),圆弧(CAre),圆(CCircIe),直纹曲面(CLin_Are)等。各个无素的绘制则调用上一层glCDC类的成员函数。如直线自我绘制可以写成:

pDC->Line(start,end);

pDC是glCDC一个实例的一个指针。

2.2.3工件模型

classPexSeL//离散的小方块实体模型

2.3运动模块的设计

运动模型有机床本体运动,刀具运动,加工切削运动,属于动画制作过程。动画可以让一张张相关的图片以较快的速度进行切换,就能得到连续的运动效果。相似地,在一定地时间里绘制N张相关的图片,就能得到计算机动画效果。先设置一个系统时间,让它不停的刷新画面,接下来的工作就是绘制这些相关的图片。

图形的绘制,把它封装成按参数化形式绘制,只要将其参数进行修改就可以实现动画控制。

Translated(m_x,m_y,m_z);//

DrawBox(length,width,high);

那么只要对m_x,m_y,m_z三个变量进行控制,然后让画图模块不停地按参数绘制即可实现正方体移动动画。接下来的工作需按时间对位置变量进行控制,实现需要的运动。设计一些位置控制器,如直线、圆弧位置控制器等

cIassMoveCircle//实现圆弧运动计算器

classMovenne//实现直线运动计算器

……

2.4编译模块的设计

编译模块主要划分为四个部分:词法分析、语法分析、目标代码生成和出错处理。编译过程是输入数控加工程序,输出目标代码或错误信息。本系统采用逐行扫描方式,以词法分析程序和语法分析程序为核心,出错处理作为一个独立的过程,目标代码的生成则在错误为零的情况下生成。

设计一个编译类Compile。

Wo-check()//词法检查

SyntaxCheck()//语法检查

操作数据对象

ProgramNodeNcSegementStruct//编译后生成的中间文件。

CTypedPtrList*m_curvelist;//生成的刀具轨迹链表

2.5监测反馈模块的设计

1)设计一个后台数据库CDaoDatabasem_db,后台数据库使用微软公司的ACCESS制作;

2)所有的变量设计一个MachineState类来集中进行管理。

3)状态监测,设计一个类RunErrCheck,实现功能包括非法报警、工件与刀具干涉、非法操作和越程等。

3小结

1)工件模型可以进一步进行研究,找出结构更优秀,显示速度更快的模型,使得切削过程更加逼真、快捷;

2)运动模型需要进一步研究,构造更强大的运动控制器,如高级曲线运动控制、高级曲面运动控制,以满足更高级CNC系统刀位控制要求;

3)本系统只研究了纯几何仿真,对于加工中一些力学因素没有考虑,今后可通过建立加工过程的力学物理仿真模型,进行加工过程切削性能与切削效果仿真。