基于OpenGL的数控车削加工仿真系统的研究.pdf
《基于OpenGL的数控车削加工仿真系统的研究.pdf》由会员分享,可在线阅读,更多相关《基于OpenGL的数控车削加工仿真系统的研究.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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方向上的二维运动。因此在本系统的仿真算法中,首先将毛坯进行细
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OpenGL 数控 车削 加工 仿真 系统 研究
限制150内