在纺织机械加工领域,数控机床正逐步取代传统的加工设备,其普及率日益提高。尽管数控机床的自动化程度高、加工精度高,但也存在对操作人员技术水平要求高、设备昂贵、投资成本高等问题。为此,如何提高数控机床的利用率、减少设备的故障和停机时间,已成为各个企业需要攻克的难题。而虚拟仿真技术因具备沉浸性、交互性和构想性等特点,可以有效解决此类痛点。
根据数控代码要求实现铣床各个组成部分的协调动作是对加工过程进行虚拟仿真的核心内容。数控铣床加工过程虚拟仿真的过程为:加工前对整个系统进行必要的设置:刀具参数设置、工件坐标系设置等。设置完毕后,在控制面板上编辑NC程序或调入NC程序,然后对准备好的加工程序进行检查、轨迹仿真等,检查无误,开始加工;加工时,数控铣床加工过程虚拟仿真系统会展示机床运动及工件切削的动画,可监测机床状态,并显示监测的信息,如果有非法操作、越程等违规信息,系统发出相应的警报。
所以,构建数控铣床加工过程虚拟仿真系统时需要建立机床模型和加工过程模型。机床模型主要是对整个加工过程的物理环境进行建模,主要包含加工环境、物理机床、刀具、切削液喷管等等,在数控铣床加工过程虚拟仿真系统中以3D画面的形式出现;加工过程模型是一个动画过程,在数控铣床加工过程虚拟仿真系统中模拟真实机床、刀具、切削等加工过程的运动。
数控铣床加工过程虚拟仿真系统可分为五个模块:人机界面、几何模块、运动模块、编译模块和监测反馈模块。
1. 人机界面(控制面板)的设计
人机界面用来实现人机交互,即机床的控制面板;这个模块有两个方面:一是对面板的各个界面元素进行设计,一个是对机床等各个虚拟物体进行控制。
操作面板上的组件数量很多,但大多数都具有相似性,因此可以将功能相同的组件设计为ActiveX控件,利用ActiveX控件的封装性和动态连接性来实现虚拟操作面板上功能相同的组件。
界面元素构建三个类CRob、CMyButton、CMyEdit。CRob是用来实现旋转开关。CMyEdit用于实现显示屏。CMyButton来实现方形按钮。
几乎所用的操作,控制都在控制面板上,那么所有的模块都在这里汇集,可以是指针、实体,用来实现整个机床及加工过程的控制。设计一个NcPanel类,这个类提供各个控制变量,用于NC文件检查,机床参数设置,机床运动控制等等。
2. 几何模块的设计
几何模块用来实现系统的物理环境,刀具轨迹及工件模型等几何体;
2.1 机床本体模型、刀具模型、切削液喷管等复杂几何模型
这些模型比较复杂,直接采用绘图编程的方法很难实现这么复杂的图形,即使实现了也需要花费极大的时间和精力,绘制出来的效果也难以达到预期效果。本文采用一些成熟绘图应用软件如3dsMax、UG、Pro/E等来实现这些几何模型。本系统并不能直接调用这些软件生成的几何模型,只能得到这些几何模型的描述性文件。不得不对这些文件进行研究,找出需要的几何信息,然后转化成程序中能够使用的几何实体。
有一种标准的文件格式——3DS文件格式,几乎所有的3D绘图软件都支持这种文件格式,能转化成这种文件格式。
因此,这个模块的重点任务是编写一个文件转换接口,将3DS二进制文件读入转换成OpenGL几何实体。构建的类如下:
ClassC3dsReader;//3DS文件读入类
classCTriList;//生成数据链表(用来逼近3DS图形的小三角形片//集合)
将机床各个部件几何模型组成一个机床类classMa—chine,这个类包括机床的各个组件,如床身、主轴等。
2.2 刀具轨迹及零件几何模型
此模块用于刀具轨迹仿真,验证NC程序是否正确及显示加工后刀具轨迹几何模型,可划分为两层:
第一层:基本几何元素层。
在OpenGL环境中,可以相似地构造出一个设备环境类,让它绘制出一些基本的几何元素:直线、圆弧等。
第二层:模型建立层。
整个NC文件形成的刀具轨迹是由各种几何元素构成的,建模即是将各种几何元素(如直线,圆弧,圆,直纹曲面等)构成一个完整的图形。各个元素的绘制则调用上一层glCDC类中的成员函数。如直线自我绘制可以写成:
pDC->lAne(start,end);
pDC是glCDC一个实例的一个指针
2.3 工件模型
工件模型用于工件切削运动。采用空间分割法对工件模型进行建模。如工件在x、y平面上进行分割,z方向用top值表示,构建的模型的如下:
Class PexSel//离散的小方块实体模型
整个工件可表示为:PexSel Box[x][y];//x,y为工件分辨率
3. 运动模块的设计
运动模块用来实现虚拟机床本体运动,刀具运动及切削运动等,属于动画制作过程。动画可以让一张张相关的图片以较快的速度进行切换,从而得到连续的运动效果。以此类推,在一定时间期限内绘制出N张相关的图片,也就能得到计算机动画效果。先设置一个系统时间,让它不停的刷新画面,接下来的工作就是绘制这些相关的图片。
图形的绘制,把它封装成按参数化形式绘制,只要将其参数进行修改就可以实现动画控制。
4. 编译模块的设计
编译模块主要功能有数控程序编辑、刀补、插补、编译生成虚拟机床驱动文件等;编译模块主要划分为四个部分:词法分析、语法分析、目标代码生成和出错处理。
编译模块工作流程是输入数控加工程序,相应的会输出目标代码或错误信息。数控铣床加工过程虚拟仿真系统采用逐行扫描方式,以词法分析程序和语法分析程序为核心,出错处理作为一个独立的过程,目标代码的生成则在错误为零的情况下生成。
5. 监测反馈模块的设计
监测反馈模块用于实现机床参数设置、机床状态信息反馈与监测等功能。
机床参数系统的设计:
1)设计一个后台数据库CDaoDatabasem_db,后台数据库使用微软公司的ACCESS制作;
2)所有的变量设计一个MachineState类来集中进行管理。
3)状态监测,设计一个类RunErrCheck,实现功能包括非法报警、工件与刀具干涉、非法操作和越程等。
数控铣床加工过程虚拟仿真系统画面逼真、质量高、实用性。系统对数控加工环境与加工过程进行了全面虚拟仿真,可以帮助用户熟练掌握数控机床结构、三维建模、虚拟装配、运动学模型、数控编程、后置处理等先进制造技术。