《基于OpenGL的数控车削加工仿真系统的研究.pdf》由会员分享,可在线阅读,更多相关《基于OpenGL的数控车削加工仿真系统的研究.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2 0 0 6 年第5 期控制与检测文章编号:1 0 0 1 2 2 6 5(2 0 0 6)0 5 0 0 4 9 0 3基于O p e n G L 的数控车削加工仿真系统的研究王学东1”,谭豫之1(1 中国农业大学工学院,北京1 0 0 0 8 3;2 邢台职业技术学院机电系,河北邢台0 5 4 0 0 0)摘要:以V i s u a lC+6 0 为开发工具,利用O p e n G L 技术开发了在w i n d o w s 系统下运行的数控车削三维仿真加工系统。系统完成了主要功能模块,包括程序编辑与处理模块、仿真显示模块、主界面模块等的设计,经实例验证达到了预期的设计要求。关键词:O
2、p e n G L;数控加工;仿真中图分类号:T G 5 1 9 1文献标识码:AR e s e a r c ho fN CT u r n i n gS i m u l a t i v eS y s t e mB a s e do nO p e n G LW A N GX u e d o n 9 1 -T A NY u z h i l(1 C o l l e g eo fE n g i n e e r i n g,C h i n aA g r i c u l t u r a lU n i v e r s i t y,B e i j i n g1 0 0 0 8 3,C h i n a;2 D
3、e p a r t m e n t0 fE l e c t r o m e c h a n i c a lE n g i n e e r i n g,X i n g t a iU n i v e r s i t y,X i n g t a iH e b e i0 5 4 0 0 0,C h i n a)A b s t r a c t:Ap r o c e s s i n gs i m u l a t es y s t e mo f3d i m e n s i o n a lN Ct u r n i n gw i t hO p e n G Lw a si n t r o d u c e d,w
4、h i c hW a sd e v e l o p e du s i n gV i s u a lC+6 0 O p e n G Lt e c h n o l o g ya h dr u no nW i n d o w ss y s t e m I tr e a l i z e dm a i nf u n c。t i o n so fa l ls i m u l a t es y s t e m,s u c ha sp r o g r a me d i t i n ga n dp r o c e s s i n gm o d u l e,s i m u l a t i o nd i s p l
5、 a y h a gm o d u l e,m a n-m a c h i n ei n t e r f a c em o d u l ea n dS Oo n E x p e r i m e n ti n d i c a t st h a tt h es i m u l a t es y s t e ma c h i e v e sd i s i r e dd e s i g nr e q u i r e m e n t s K e yw o r d s:o p e n G L;N Cm a c h i n i n g;s i m u l a t i o n0 引言1 仿真环境的建立随着C
6、A D C A M 技术的发展和数控机床性能,零件复杂程度的不断提高,N C 程序变得越来越长和复杂,数控编程的难度日益增大,N C 程序的故障率也日益增高。由于N C 程序的质量直接影响者零件的加工质量和加工成本,因此在N C 程序输入机床正式加工之前都要经过正确性检验。传统的数控程序的检验方法为试切法,即采用某种切削材料,通常多为非金属切削材料来代替实际零件材料进行试切加工。这种方法既耗时又浪费材料,而且常常不能达到令人满意的结果。运用计算机软件来模拟数控加工过程,并将加工过程和加工结果中的信息在计算机中用图形、数字、图表等方式表达出来,可以在实际加工前及时发现并除去程序中的错误,确保程序
7、的正确性,合理性。从而使得而在不实际占用和消耗机床、工件等资源,不需要真实加工环境下评价数控加工过程成为可能。现在软件开发工具很多,较为常用的有M i c r o s o f tV i s u a lC+6 0,B o r l a n dC+,D e p h i 等。本仿真系统采用基于开放式图形库O p e n G L,结合M F C 类库,使用M i c r o s o f tV i s u a lC+6 0 工具在W i n d o w sX P 操作环境下开发。O p e n G L 即开放式图形库(O p e nG r a p h i c sL i-b r a r y),是目前比较完善
8、的三维图形标准,它广泛适合于计算机系统环境下的三维图形应用程序设计接口,目前已成为开放式的国际三维图形程序标准。本系统中,我们从基本的点元素开始,在三维空间内生成实体,实现了数据的可视化和对实体的交互操作。在W i n d o w sX P 环境下,采用V i s u a lC+与开放式三维图形编程标准O p e n G L 相结合,建立了一个与O p e n G L 的接口类即C S e t G L 类完成对O p e n G L 的初始化设置,在使用O p e n G L 进行渲染的时候,只需要遍历根据插补计算得到的刀位轨迹数据表,然后在图形显示类中调用O p e n G L 基本图元绘制
9、函数和复杂三维曲收稿日期:2 0 0 6 1 0 0 8作者简介:王学东(1 9 7 6 一),男,山东宁津人,邢台职业技术学院机电系讲师,中国农业大学工学院硕士研究生,研究方向为计算机虚拟仿真、C A D C A M 集成技术等,(E m a i l)w a n g x d 3 1 6 3 e o m。4 9 万方数据控制与检测组合机床与自动化加工技术线面绘制函数进行环境的几何建模;利用对话框来实现对毛坯形状、尺寸、材料的设置,以及对刀具的选择。C T r a n s f o r m a t i o n 类中函数g l S c a l e f()、g l R o t a t e f()、g
10、l T r a n s l a t e f()实现实体的缩放、旋转、平移等操作,C O p e n G L c o n t e x t 类定义了实现O p e n G L 的绘图描述表和象素格式,矩阵元进出栈操作实现空间切换。2系统总体结构设计与实现根据机床加工的特点和实际机床工作流程,该系统软件采用如图1 所示结构,包括用户界面模块、程序编辑与处理模块、仿真显示模块。图1 仿真系统总体结构2 1 程序编辑与处理模块该模块用于实现数控程序输入、显示修改及分析解释功能。程序的读取可以采用直接键盘手工输入和程序文件读入两种方式;代码解释和分析主要是分析程序的结构,通过对N C 代码的理解、检查代码
11、语法语意的正确性,经过译码、刀补计算、进给速度处理,以得到刀具中心轨迹和其它所需数据,为刀具路径建立数据表,作为仿真的驱动信息,用于模拟加工模块。该模块的具体实现是由N C 程序的预处理和代码的解释两个大的过程来完成的。(1)预处理模块N C 代码的预处理过程主要完成N C 程序的读人以及对读入程序的词法、语法检查。目前国内外的数控装置几乎都采用可变程序段“字地址格式”,国际标准化组织制定了字地址程序段格式I S 0 6 9 8 3 1 1 9 8 2标准,形式如下:N G X Y Z I J K M S T F 数控程序是由这样一组字地址组r E 的指令集,根据数控程序的特点本系统存取、管理
12、这些代码采用单向链表结构来实现。由于本系统数控源代码是以文本格式存储的,所以首先由C+提供的I O 流操作函数O f s t r e a m,f s t r e a m,i f s t r e a m 来实现对源代码的存取,由类i f s t r e a m 读入每一程序行,将读入的程序行以字符串的格式存人t e x tl i s t 链表的t e x t 成员中,该链表的具体结构为:s t m c tP r o t e x tC S t r i n gt e x t;-5 0 i n tl e n g h;P r ot e x t+n e x t;对数控程序代码和数控仿真目的分析可知,我们只
13、需从数控程序中提炼与仿真系统运动部件有关的运动与状态信息,而对于那些与运动轴无关的代码,只要计算机能够识别它们并进行词法的检验就可以了。因此,遍历t e x t l i s t 链表对结构体中成员t e x t 进行分析,根据特定的算法,去除注释等不必要的信息,提取有用的代码信息即程序行中的指令值存人d i c t a t e l i s t 链表。同时该过程还完成数控程序的词法和语法的检查,若有错误的信息将其存人指定的文件中。d i c t a t e l i s t 链表的结构即:s t r u c tC o m m a n di n tN;C S t r i n gG:d o u b l
14、 eX;d o u b l eZ;d o u b l eR;d o u b l eI;d o u b l eK;d o u b l eF;i n tS;C S t r i n gM;i n t T:C o m m a n d+n e x t;,行号G 指令x 坐标z 坐标圆弧半径值圆弧中心坐标I圆弧中心坐标K进给速度值S 指令M 指令刀具号n e x t 指针(2)解释处理模块解释处理模块负责提取有关命令动作和状态信息,通过对已经存人缓冲区的数据结构进行分析扫描,即遍历d i c t a t e l i s t 链表,分离出相应的信息,进行刀具轨迹的离散和插补,得到仿真的驱动信息,将其存入一定
15、的数据结构中。G 代码是数控代码中最重要的代码,几乎控制了数控机床所有的功能和重要设置,必须对其进行合理有效的处理。在本文研究中根据仿真需要忽略其他G 代码而只对以下几组G 代码进行分析:G S O 工件坐标系设定;G 0 0 点位控制;G 0 1 直线插补;G 0 2 G 0 3 圆弧插补;G 4 1 G 4 2 半径补偿;G 7 1 7 2 7 3 车削循环;G 9 0 G 9 1 设置绝对或相对坐标等,并对M,S,T,F 等代码进行状态分析。2 2 仿真显示模块加-c g s 真就是利用计算机图形技术,让计算机模拟真实的加工过程,通过动画的形式形象、直观的模拟数控加工的切削过程。零件仿真
16、画面在屏幕切分窗口的显示区域显示。用户可以调节切分窗口大小,旋转图像观看加工工件。通过仿真结果的可视化显示,可一一真仿检一一一一仿程撞一映一一一动过碰一模一一一运削涉一示一一一具切干一显一一一一一|霎一一一一厂JTL仿一一蛩一旷竹忆一一生息一习一一一算信二纠一块一一l垂;黝哟骥一磊囊一薰一一一-一堕 万方数据2 0 0 6 年第5 期控制与检测以发现错误,修改工艺文件,优化加工方案。根据计算机动画原理,每秒显示2 5 幅以上的切削加工场景,整个加工过程的演示就是连续的。用O p e n G L 的双缓存(D o u b l eB u f f e r i n g)技术可以方便地实现刀具相对运动过
17、程的动厕仿真。双缓存提供两个颜色缓存,在一个缓存中显示帧时,在另一个缓存中绘制帧。在绘图时,数控加工仿真系统根据插补计算得到的刀位轨迹值,在屏幕上实时的显示刀具的变化情况。对于每一个计算出的插值点,刀具就进给一步,系统即刷新一次,此时在后台缓存进行建模及对模型进行变换,在前台缓存显示由后台缓存已计算好的画面,如此反复,最终动态显示切削加工过程。另外还利用O p e n G L 的显示列表技术和局部刷新技术防止场景的颤动,增强切削场景的显示效果。分析数控车床加工的特点:数控车床的毛坯通常为棒料,为回转体零件,而且刀具做的只是x 方向和z方向上的二维运动。因此在本系统的仿真算法中,首先将毛坯进行细
18、分为单位厚度的小圆柱单元,小圆柱单元的厚度根据仿真所需的精度和显示效果来决定。小圆柱单元的具体的数据结构为:s t r u c tC i r c l e C e l li n tN u m;f l o a tz;f l o a tD;f l o a td;f l o a th;c e l l 1 0 0,詹号距离毛坯左端面的长度外圆半径内圆半径单元体厚度2 3 用户界面模块该模块用于设立数控加工环境,主要由操作键区、N C 代码显示编辑区和模拟显示屏组成。操作键区主要响应用户的鼠标点击,完成一些数控系统的基本操作,同时也实时的显示主轴转速和刀尖位置;N C 代码显示编辑区主要完成对代码的显示与
19、编辑;在模拟显示屏区可将机床的加工过程逼真地显示出来,在N C程序的驱动下,用三维动画仿真显示加工过程,画面可放大缩小,还可以从任意角度观察加工过程。公共用户界面如图2 所示,此用户界面采用V C+6 0 中的“窗口的动态分割”技术来分割、创建,通过类C S p l i t t e r W n d 将用户界面切分成三个静态视图界面,即左侧的模拟显示区,右侧上方的N C 代码显示编辑区和下方的操作键区。使用时可根据实际需要调节界面图形显示窗口的大小。3实侈4在W i n d o w sX p 环境下利用O p e n G L 技术,以V i s u a lC+为开发平台,初步完成了一套三维数控车
20、削仿真系统的开发。图2 为加工仿真实例。经验证,该系统具有良好的界面和交互性;较好的实现了数控程序进行正确性检查;可以同步显示加工代码和工件切削状态,以验证加工代码编写的正确性;可以判断诸如刀具与夹具干涉等错误;在显示过程中还可以旋转、放大、缩小对象,使操作者可以从任何角度清楚地观察刀具切削的过程。虽然取得了预期的研究开发效果,但是系统还有待于进一步完善。读入经过程序处理模块得到的仿真驱动信息,即刀具运动信息,得到车刀刀尖处的位置(X t,z t),根据z t 确定刀具经过的小圆柱单元在工件数组中的位置,也就是确定哪个单元体被切削。然后比较该单元体的直径和刀尖点的x t 坐标,确定该单元体是否
21、被切削。具体的实现命令如:i n ti=i n t(c e l l 0 z Z t)h);确定是被切削的单元体;i f加工的为外圆图2 加工仿真实例i f(x t c e l l i d)四川大学学报(工程科学版),2 0 0 1,3 3(5):1 6。1 9 C e l l i d=X t;3 乔林,费广正,等O p e n G L 程序设计 M 北京:清华大学出版社,2 0 0 0 对工件数组进行遍历,根据工件数组中数据绘制 4 M i c h a e lJ Y o u n g 著,邱仲潘,等译V i s u a lC+6 从入门到相应的单元体,也就显示了加工后的工件。精通 M I 北京:
22、电子工业出版社,1 9 9 9(编辑江复)5 1 万方数据基于OpenGL的数控车削加工仿真系统的研究基于OpenGL的数控车削加工仿真系统的研究作者:王学东,谭豫之,WANG Xue-dong,TAN Yu-zhi作者单位:王学东,WANG Xue-dong(中国农业大学,工学院,北京,100083;邢台职业技术学院机电系,河北,邢台,054000),谭豫之,TAN Yu-zhi(中国农业大学,工学院,北京,100083)刊名:组合机床与自动化加工技术英文刊名:MODULAR MACHINE TOOL&AUTOMATIC MANUFACTURING TECHNIQUE年,卷(期):2006,
23、(5)被引用次数:4次 参考文献(4条)参考文献(4条)1.郭爱斌.葛研军 OpenGL实现数控加工刀具轨迹实时仿真研究 2002(21)2.余斌.刘荣忠 基于OpenGL的数控加工仿真系统研究期刊论文-四川大学学报(工程科学版)2001(05)3.乔林.费广正 OpenGL程序设计 20004.Michael J Young.邱仲潘 Visual C+6从入门到精通 1999 相似文献(10条)相似文献(10条)1.期刊论文 史俊.富刚.SHI Jun.FU Gang 基于OpenGL的语音控制数控加工仿真的研究-现代电子技术2010,33(11)利用OpenGL技术在VC+编程平台上开发数
24、控加工仿真系统,并结合语音识别技术实现语音控制.简要介绍OpenGL及其三维仿真技术,以及语音识别的原理和技术.通过应用微软语音应用程序软件开发工具包Speech SDK进行二次开发,旨在通过语音输入加工参数和操作命令,经过数控程序译码进行代码校验和数据处理,实现对刀具和工件加工过程的动态模拟仿真,体现语音识别技术为数控加工领域所带来的便利.2.期刊论文 赵琳.贺永.傅建中 基于OpenGL的数控加工三维仿真系统的研究与开发-机电工程2003,20(5)介绍了一种基于OpenGL的数控加工三维仿真系统,该系统以WindowsXP 为开发平台,Visual C+6.0为开发工具,采用OpenGL
25、技术,开发了数控铣三维仿真加工软件.3.学位论文 余斌 基于OpenGL的数控加工仿真系统的研究与开发 2002 该课题主要完成以下内容:(1)分析和建立仿真系统框架结构,设计友好的系统界面.(2)深入研究OpenGL三维图形制作技术,采用面向对象的编程技术设计OpenGL与VisualC+间的接口类CGL.(3)设计NC代码编辑器,便于用户进行手工编程.(4)设计仿真系统和GAPT图形自动编程系统的接口,输入零件几何信息和加工参数后,系统自动生成加工程序,同时,动态显示刀具的加工轨迹.(5)设计数控程序检查器、解释器,很好地解决数控代码的计算机识别与分析问题.(6)设计仿真国工模块,实现车、
26、铣、钻加工过程的三维仿真.进一步完善削中螺纹加工、孔加工和圆弧曲面加工的仿真.在孔加工时,采用OpenGL透明处理技术,能方便地观察到孔径和孔深.4.期刊论文 刘俊.杨代华.欧阳才校.LIU Jun.YANG Daihua.OUYANG Caixiao 基于OpenGL的数控加工代码图形库的开发-制造技术与机床2009,(1)详细介绍了火焰切割机数控系统加工代码图形库的开发过程.利用Visual C+6.0开发工具、MFC类库以及OpenGL实现了各种加工图形(包括二维和三维)的数控加工代码的自动生成,同时可以修改被加工图形的各个参数并对加工图形进行预览,以适应不同工艺的需求.5.学位论文 张
27、香圃 基于OpenGL的数控机床仿真系统研究与开发 2007 虚拟数控技术是20世纪90年代中后期,随着虚拟制造技术的发展而提出的新的发展迅速的研究领域。随着数控技术的快速发展和广泛应用,数控技术人员的教学培训需求越来越高。开发出具有较高真实感的数控加工仿真软件进行教学演示和培训,无疑是一种安全、节约、高效的方式。本文论述了开发基于OpenGL的数控机床仿真系统的方法和关键技术。该系统在现有数控仿真软件基础上,提出了多型号仿真、。软硬件结合、多设备集成的设计思想。本系统不仅能够进行数控程序调试和加工仿真,同时可以实现与真实数控机床结合,从现实的加工中观察学习;通过集成,系统可以模拟工厂自动化环
28、境,实现虚拟工厂仿真。本文重点讨论了三维仿真几何模型的建立和程序实现。在工件切削仿真建模中,讨论了压缩体素模型等建模方法,重点讨论了切削模型的布尔运算和实时显示技术;为适应多设备仿真,对模型存储结构采用了异质链表结构,以层次划分的思想有效的组织系统中仿真模型的数据结构。在仿真界面真实感技术上,笔者通过研究现有图形界面的设计方法,提出数控操作面板贴图的方法,并充分利用VC+控件类的功能,实现与真实机床面板基本相同的仿真操作环境,并对其编程技术进行了介绍。数控加工仿真算法的研究。在总结以往经验的基础上,论述了实现数控代码编译、查错、差补轨迹生成等理论和程序设计方法。在硬件接口方面,通过方案对比,选
29、择了基于OPC技术的PLC控制方法。讨论了PLC上位机通讯的实现方法。最后,文章论述了本系统在教学中的应用以及进一步展望。6.期刊论文 史永芳.SHI Yong-fang 基于VC和OpenGL的虚拟数控加工仿真的研究-机械2009,36(1)在分析虚拟制造中数控加工仿真技术的基础上,深入研究了基于OpenGL的实体建模和真实感场景的生成技术;采用面向对象的编程方法,在Visual C+6.0编程环境下,利用MFC集成方式,运用OpenGL进行数控加工仿真;以数控铣削加工为对象,对虚拟制造中数控加工过程仿真进行了实例研究,分析并建立了总体框架结构,运用程序设计技术对其功能模块和图形界面进行了设
30、计.该研究测试表明:仿真具有较好的实时性和交互性,能够有效地验证程序的正确性,较好地适应了先进制造技术的需求.7.学位论文 高海涛 基于OpenGL的虚拟数控加工研究 2006 虚拟制造技术是传统制造与信息化技术结合的产物,在近十年来迅速发展成为制造业的热点和前沿学科,有相当的理论价值和现实意义。虚拟数控技术是虚拟制造技术的核心内容之一,是网络化制造、敏捷制造和现代集成制造系统实现的关键技术,它不但能通过对加工过程的虚拟来避免试切提高生产效率,而且在一定程度上取代了现实的数控机床培训操作,对数控加工的发展有着非常重要的支持和促进作用。本文对虚拟数控系统总体结构进行了介绍和分析,对数控加工NC代
31、码进行了解析,并在此基础上提出了动态刀路轨迹实现的总体设计思想。本文重点在分析数控加工系统插补原理的基础上给出了虚拟数控加工直线插补和圆弧插补的算法及其刀路轨迹的动态实现方法,并在VisualC+6.0和OpenGL平台下,编程实现了基于NC代码的动态线性轨迹的正确模拟,软件给出了加工程序的三维极值坐标,对虚拟加工的速度和观察方向能进行控制,得到了比较好的效果,为下一步的研究工作奠定了基础。8.期刊论文 欧阳珍.狄瑞坤.秦丰 基于OpenGL的数控加工仿真系统研究-机床与液压2004,(5)OpenGL是窗口系统下运行的三维图形API,具有强大的交互图形处理功能,运用于仿真系统能获得真实三维图
32、形效果.利用面向对象技术(OOP)以及MFC类库,在Microsoft visual C+6.0平台下研究和开发了Windows操作系统下运行的数控加工仿真控制系统.系统分析了OpenGL数据流程和主要功能在仿真系统中的运用,提出了数控加工仿真系统整体体系结构和系统各功能模块.系统主要适用于车削加工,加工实例表明系统的稳定性、扩展性和维护性良好.9.学位论文 王锐 STEP-NC数控加工的仿真技术研究 2004 数控加工仿真技术为验证数控程序的可靠性、防止干涉和碰撞的发生及预测加工过程提供了强有力的工具.数控加工三维动态仿真是高档数控系统的必要功能,可以缩短产品开发周期、降低生产成本、提高产品
33、质量和生产效率.该文研究开发了一个数控铣削加工三维动态仿真系统,该系统应用目前广泛使用的图形标准格式OpenGL作为开发平台.它特有的双缓存功能,加速了图形的显示.系统中工件各个特征属性值都从STEP-NC数控加工程序中提取,符合STEP标准,采用特征造型法建立场景中的实体造型.这样减少了系统在工作时所占用的存储空间,节约了时间.论文第一章概述了数控技术和数控加工仿真技术的过去、现在的研究,应用现状及其未来的发展趋势,并论述了该文的研究目的、意义及主要研究内容.论文第二章介绍了STEP-NC的有关内容.STEP-NC是STEP标准向数控加工领域的延伸.该章开始介绍了产品数据交换标准-STEP标
34、准.STEP国际标准的日趋成熟,对STEP-NC的发展是一个极大的推动.该章的重点是对STEP-NC的阐述,包括有关概念、产品数据模型、特点、研究情况和意义等.论文第三章对仿真系统进行分析和设计.对三维图形的API进行了分析和比较,确定采用OpenGL实现该系统,介绍了建模工具OpenGL,列出了图形操作步骤.采用基于特征的方法建立系统仿真模型.论文第四章对两种常用的建模方法(CSG和B-Rep)进行了比较,讨论了系统几何模型的建立.给出特征建模的具体实现方法.论述了动画仿真技术的实现.选用双缓存技术和系统定时器实现动画显示.论文第五章主要内容是增强仿真效果的处理.从增强图形真实感角度考虑了颜
35、色模式、系统光照、图形反走样,图形消隐等.采用了一种用于数控铣削加工仿真的快速局部消隐算法.最后,总结了全文的主要研究内容并展望了未来的研究方向.10.期刊论文 王敏.WANG Min 基于OpenGL的数控加工系统设计-安徽职业技术学院学报2009,8(3)文章以Windows XP为开发平台,以开放式图形开发库OpenGL及Visual C+6.0软件为开发工具,对数控加工系统的几何模型和运动模型进行了设计并论述了其编程原理.引证文献(4条)引证文献(4条)1.王敏 基于OpenGL的数控加工系统设计期刊论文-安徽职业技术学院学报 2009(3)2.胡艳娟.王尧.褚亚旭.卢杰 数控铣削仿真系统的研究期刊论文-工具技术 2008(7)3.钟耀光 仿真及其思考期刊论文-木材加工机械 2008(1)4.李源.周来水 数控教学系统研究与开发期刊论文-机械工程与自动化 2007(6)本文链接:http:/