已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数控系统三维仿真技术研究及应用 摘要 随着计算机图形技术的发展,现代制造和加工工业中广泛的应用 c a d c a m c n c 技术来加速产品的设计生产周期,三维仿真技术在其中扮演了 很重要的角色。三维仿真技术可以在设计、生产、检验等环节给予用户极大的 帮助,用户可以更直观的观察他们的设计,同样,用户可以在三维仿真系统的 帮助下模拟运行工作过程,并在任意维度上观察它们的工作步骤。 本文结合国内外相关技术的研究现状,探讨了数控系统三维线框仿真的方 法,将仿真的过程分解为n c 代码的编译和三维图形绘制两个主要部分。以此为 基础本文深入研究了编译程序的一般构造方法,论述了n c 代码词法分析器、语 法分析器等的构造方法以及编译流程。之后本文介绍了o p e n g l 这种通用图形 a p i 以及它的编程规则和方法,以及在v c + + 中使用这种图形a p i 的方法。本文 讨论了o p e n g l 中基本图元的绘制方法和计算公式,并在此基础之上编写三维空 间中各图元的绘制程序。为仿真程序所需,本文讨论了动态图元的绘制技术, 以及所需的计算公式,并给出了编程所需的流程。最后编写和调试了一个基于 o p e n g l 的n c 代码三维仿真程序。 本程序开发工具采用v c + + n e t ,并且基于o p e n g l 2 0 规范。并作为我们所 开发的p d m 系统的一部分。该系统在中国电子科技集团公司某研究所和安徽省 数字化重点实验室制造车间得到了良好的应用 关键字:o p e n g l ;三维仿真;数控代码。 4 r e s e a r c ha n da p p l i c a t i o no fn cs y s t e m s3 d l s i m u l a t i o n a b s t r a c t w i t ht h ep r o c e e d i n go ft h ed i g i t a li m a g ep r o c e s s i n g ,t h em o d e r ni n d u s t r ya n d m a n u f a c t u r es y s t e mu s e sc a d c a m c a p pa c c e l e r a t et h ep r o d u c t sm a n u f a c t u r e t h ea p p l i c a t i o no f3ds i m u l a t i o ni nc a d c a m c a p ps y s t e m a c t sam o s t i m p o r t a n tp a r t 3 ds i m u l a t i o nt e c h n o l o g yc a nh e l pp e o p l ew i t hd e s i g n ,p r o d u c t i o n a n dc h e c k i n g u s e r sc a nh a v ead i r e c ts i g h ti nt h ep r o d u c t st h e yh a v ed e s i g n ,a l s o w i t ht h e3 ds i m u l a t i o ns y s t e m sh e l p ,p e o p l ec a ns i m u l a t i n gt h ew o r kp r o c e s s i n g a n dc h e c k i n gt h es t e pi na n yd i m e n s i o n t h e r e f o r e ,t h er e s e a r c ho f3ds i m u l a t i o n h a sv e r yi m p o r t a n ts i g n i f i c a n c e c o m b i n i n gd o m e s t i ca n do v e r s e a sr e s e a r c ho nt e c h n o l o g yr e l a t e dt ot h es t a t u s q u o t h i sp a p e ri n t r o d u c e st h em e t h o do fn cs y s t e m s3 ds i m u l a t i o n ,t h ep r o c e s s h a sb e e ns e p a r a t e di n t ot w om a jo rp a r t s :o n ei s t h ec o m p i l i n go fn cc o d ea n d a n o t h e ri st h ed r a w i n go f3 do b j e c t s b a s e do ft h e s e ,t h ep a p e rs t u d i e dt h ec o m m o n s t r u c t u r eo ft h ec o m p i l e rp r o g r a m ,t h e n ,d i s c u s s e st h es t r u c t u r ea n dt h ep r o c e s so f t h ew o r d s c o m p l i e ra n dg r a m m a rc o m p i l e r a f t e rt h a t ,t h i sp a p e ri n t r o d u c e st h e r u l e so ft h eo p e n g lp r o g r a m m i n ga n dh o wt ou s ei ti nv c + + i td i s c u s s e st h e d r a w i n gm e t h o d sa n dt h ee x p r e s s i o n so ft h eb a s i co b j e c t w i t ht h e s ef o u n d a t i o n s , t h ep a p e rg i v e st h ed r a w i n gp r o g r a mo ft h e3 do b j e c t s b e c a u s eo ft h en e e d so ft h e s i m u l a t i o ns o f t w a r e t h ep a p e rd i s c u s s e st h er e a l t i m er e n d e r i n gt e c h n o l o g y , e x p r e s s i o n sa n dt h ep r o c e s s a tl a s t i tg i v e sac o m p l e t ep r o g r a m m i n gf o ran c s y s t e m s3d s i m u l a t i o n t h i s s o f t w a r ei sp r o g r a m m e db yv i s u a lc + + n e ta n du n d e ro p e n g l 2 0 c r i t e r i o nf o rap d ms y s t e mh a sg o o da p p l i c a t i o ni nk e yl a b o r a t o r i e so fd i g i t a l m a n u f a c t u r i n gs h o po fa n h u ip r o v i n c ea n dc h i n ae l e c t r o n i c st e c h n o l o g yg r o u p n o 】6r e s e a r c hi n s t i t u t e k e yw o r d s :o p e n g l ;3 ds i m u l a t i o n ;n cc o d e 。 5 插图清单 图2 - 1 仿真过程6 图3 1 三坐标面顺、逆时针的判断1 l 图3 - 2r 指定圆弧中心12 图3 3 编译程序框架;1 3 图3 4 词法分析器的状态转换图1 4 图3 - 5 词法分析流程图1 6 图3 - 6 语法树16 图3 - 7 语法分析器在编译程序中的地位1 7 图3 - 8 动作串规约流程1 8 图3 9 文件暂存链表结构1 9 图3 一lo 编译流程1 9 图4 - 10 p e n g l 基本工作流程2 2 图4 2 仿真过程22 图4 3 绘制圆弧的流程 2 6 图4 4 刀具动画绘制流程3o 图4 5 初始绘制的坐标系 31 图4 - 6 g 0 0 代码仿真结果3 1 图4 7 g 0 1 代码仿真结果3 2 图4 8 圆弧插补仿真结果32 图4 - 9 整段代码的仿真34 图5 1 基于p d m 的网络d n c 系统体系结构 36 图5 2 运行界面37 图5 3 组件构成的应用程序38 9 表格清单 表3 :1 n c 代码地址与指令范围( f a n uo m ) 1 0 1 0 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得 盒目垦工业盘堂 或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示谢意。 学位论文储虢嗫始疋 签字日期:2 0 0 8 年,2 月日 学位论文版权使用授权书 本学位论文作者完全了解金月巴王些太堂有关保留、使用学位论文的规定,有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授 权金胆王些态堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 签字日期:,睡胆月f 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 3 导师签名: 签字日期:少9 缮,2 月日 电话: 邮编: 致谢 本论文是在韩江教授的悉心指导下完成的。值此论文完成之际,首先要衷 心地感谢我尊敬的导师! 感谢韩老师在我学位论文选题、调研、撰写、修改等 过程中所给予的悉心指导。在近三年的研究生学习期间,韩老师以严谨务实、 一丝不苟的治学态度和对学术问题的独到见解深深地影响了我。韩老师知识渊 博,科研经验丰富,不仅教给我知识,更教给我独立分析问题、解决问题的能 力。在我近三年的硕士阶段,韩老师在学习上和生活上给与的关怀与帮助,我 将永远铭记在心! 衷心感谢合肥工业大学c i m s 研究所的王治森老师、夏链老师、祖垣老师、 李良初老师、何高清老师、余道洋老师、齐继阳老师等对我的关怀和指导。感 谢他们在我的项目中给予我的帮助和指导。 衷心感谢所有给我上过课的老师,是他们传授给我了丰富的知识,促使我 能够进一步攀登知识的高峰! 衷心感谢我的同学戴文明、李志鹏、田艺、谢捷、次清波、唐保、王堇等, 和他们在一起的学习和生活时光将值得我永远纪念! 衷心感谢师弟王程、王川、王曦、王玉兵、杨牧原、孟超、余仲元、吴建 霖,师妹贾伟妙、曹文霞等给予我的帮助! 最后还要特别感谢我的父母和家人,是他们不辞劳苦、任劳任怨的辛勤付 出以及对我精神和物质上的支持,使我最终得以完成学业。 再次感谢所有曾经给予我帮助的人。 6 作者:夏静霆 2 0 0 8 年1 1 月 第一章绪论 1 1 引言 虚拟机械加工技术( v m tv i r t u a lm a n u f a c t u r i n gt e c h n o l o g y ) 从诞生之初就 受到科学界的广泛关注,随着科学技术的进步,三维计算机辅助设计被广泛应 用于产品设计当中。在工程作业设计、加工工序设计及产品组装程度等方面, 需要开发计算机辅助技术,特别是在计算机辅助工程( c a e ) 方面,采用有限 元法( f e m ) 来预先解析研究与产品性能相关联的构造、热传导性以及利用计 算机辅助制造( c a m ) 确定刀具运动轨迹的编程技术,均已渗透到工程的各个 领域而被有效利用。 虚拟机械加工技术可以模拟由产品设计、制造到装配的全过程,对设计与 制造过程中可能出现的问题进行分析与预测,提出改进措施,实现产品从开发 到制造整个过程的优化,达到降低产品生命周期、减小开发风险、提高经济效 益的目的。而机械加工过程仿真在虚拟制造中占有重要地位,它通过对机床一 工件一刀具构成的工艺系统中的各种加工信息的有效预测与优化,为实际加工 过程的智能化实现创造了有利条件,同时它也是研究加工过程的重要手段【2 】。 切削加工仿真技术的发展动向包括两个方面,其一是开发n c 仿真软件, 借以显示刀具运动轨迹,并判断刀具、刀夹、工件及其夹具是否产生干涉。另 一发展动向是研究解析切削加工过程中的物理现象,如被加工材料因塑性变形 而产生热量,被切除的材料不断擦过刀具前刀面形成刀屑后被排出,以及由刀 具的切削刃切除不需要的材料而在工件上形成已加工面等,并将这一系列切削 过程通过计算机模拟出来,目前能达到这种理想目标的产品还为数不多。t h i r d w a v es y s t e m s 公司的“a d v a n t e d g e ”是采用有限元法对切削加工进行特殊优化解 析的软件产品,与用于构造解析的有限元法程序包比较,其最大优点是用户界 面优良,机械加工的技术人员能方便地进行解析。美国s c i e n t i f i cf o r m i n g t e c h n o l o g i e s 公司的“d e f o r m ”是锻造等塑性变形加工用有限元法解析程序包, 最近已被转用于切削加工。【3 j 1 2 数控机床及计算机仿真技术 1 2 1 数控机床及数控编程的发展 数控机床是数字控制机床( n u m e r i c a l l yc o n t r o l l e dm a c h i n et 0 0 1 ) 的简 称,亦称n c 机床,是为了满足单件、小批、多品种自动化生产的需要而研制的 一种灵活的、同用的能够适应产品频繁变化的柔性化自动化机床,具有适应性 强、加工精度高、加工质量稳定和生产效率高的优点h 1 。它是电子计算机、自 动控制、伺服驱动、精密测量和新型机械结构等多方面技术成果的综合应用。 从1 9 5 5 年第一台直线插补三坐标立式铣床进入实用阶段,数控机床经历了5 0 多年的发展历程,数控机床的发展不只是机床技术的发展,同时也是数控技术 的发展,5 0 多年来数控系统也经历了分立式晶体管式、小规模集成电路式、大 规模集成电路式、小型计算机式、超大规模集成电路、微机式的数控系统6 个 发展过程。时至今日数控系统的发展已经成为数控机床发展的关键之一,数控 机床在生产、使用及国际贸易中所占份额的多少,己成为衡量一个国家工业化 水平和综合实力的重要标志之一,随着数控及其相关技术的进步,数控机床正 向更广的领域和更深的层次发展。 19 5 7 年,m i t 在航空空间工业协会的资助下,进行数控编程语言的研究, 并于1 9 5 9 年研制出数控自动编程工具a p t ( a u t o m a t i c a l l yp r o g r a m m e dt o o l s ) a p t 语言是开发最早、功能最全的一种数控编程语言,a p t 语言较之人工编程 大大提高了编程效率,在国内外迅速得到了广泛的应用。在a p t 语言获得成功 开发和广泛应用的6 0 年代中期,出现了交互式图像编程技术。交互式图像编程 技术是根据计算机图形显示器显示出的零件设计图形,在软件支持下自动完成 零件数控加工程序的编制工作。这样就使得用户不需编写任何源程序,省去了 调试源程序的繁琐工作。图像编程软件从图形库中直接调取零件图形后,就可 把它作为数控编程的依据,从而实现了设计信息流和制造信息流的连续,有利 于c a d ,c a m 技术的集成。图像编程技术首先应用于美国洛克希德飞机公司开 发的c a d c a m 系统,并正式投入使用。8 0 年代中期后,由于计算机技术的迅 速发展,图形工作站及高档微机大量问世,图形显示软件性能亦得到了增强, 大大促进了图像编程技术的应用和发展,现在几乎所有的c a d c a m 系统都是 采用图像编程技术,其功能也发展到能够进行复杂曲面的多坐标数控加工编程, 能显示刀具轨迹,能直观、形象地模拟数控加工过程,较易发现干涉情况并及 时予以修正。【5 】 1 2 2 计算机仿真技术 计算机仿真技术是以计算机及其相应的软件为工具,通过虚拟试验的方法 来分析和解决问题的一门综合性技术。根据仿真过程中所采用计算机类型的不 同,计算机仿真大致经历了模拟机仿真、模拟一数字混合机仿真和数字机仿 真三个大的阶段。2 0 世纪5 0 年代计算机仿真主要采用模拟机;6 0 年代后串行处 理数字机逐渐应用到仿真之中,但难以满足航天、化工等大规模复杂系统对仿 真时限的要求:到了7 0 年代模拟一一数字混合机曾一度应用于飞行仿真、卫星 仿真和核反应堆仿真等众多高技术研究领域:8 0 年代后由于并行处理技术的发 展,数字机才最终成为计算机仿真的主流。 计算机通常是不能直接认知和处理需要研究的对象,所以需要为之建立一 个既能反映所研究对象的实质,又易于被计算机处理的数学模型。数学模型将 研究对象的实质抽象出来,计算机再来处理这些经过抽象的数学模型,并通过 2 输出这些模型的相关数据来展现研究对象的某些特征。由于三维显示更加清晰 直观,现在己为越来越多的研究者所采用。通过对这些输出量的分析,就可以 更加清楚的认识研究对象。于是我们可知数学建模的精准程度是决定计算机仿 真精度的关键因素。从模型这个角度出发,可以将计算机仿真的实现分为三个 大的步骤:模型的建立、模型的转换和模型的仿真实验。 随着计算机应用技术和网络技术的发展,计算机仿真技术也在不断的发展 之中。如利用网络技术实现异地仿真、应用虚拟现实技术进行的虚拟制造等。 ( 1 ) 网络化仿真 现在己经开发出来的仿真系统,多数不能相互兼容,可移植性差,实现共 享困难。解决这些问题,第一就是采用兼容性好的计算机语言编写仿真系统, 第二就是采用网络化技术实现仿真系统共享。尤其是后者,在将来的仿真系统 开发中有着重要地位。实现仿真系统的网络共享,既可以在一定程度上避免重 复开发以节约社会资源,又可以通过适当收费以补偿部分开发成本。 ( 2 ) 虚拟制造技术 计算机仿真技术发展的另一大方向就是在虚拟制造技术领域的深入应用。 虚拟制造技术是2 0 世纪9 0 年代发展起来的一种先进制造技术。它利用计算机 仿真技术与虚拟现实技术,在计算机上实现从产品设计到产品出厂以及企业各 级过程的管理与控制等制造的本质。这使得制造技术不再主要依靠经验,并可 以实现对制造的全方位预测,为机械制造领域开辟了一个广阔的新天地【6 l 。 1 3 计算机图形学 计算机图形学从上世纪5 0 年代开始,当时阴极射线管( c i 盯) 显示器的出 现为计算机生成和显示图形提供了可能性。19 6 3 年,美国麻省理工学院的i v a n s u t h e r l a n d 研制出了s k e t c h p a d 系统,并由此产生了第一台光笔交互式阴极 射线管显示器。在该系统中,i v a ns u t h e r l a n d 引入了图元得分层表示概念和数 据结构,这些方法一直沿用至今。因此,i v a ns u t h e r l a n d 被认为开创交互式图 形技术的奠基人。 计算机图形学是研究在计算机中如何构造图形,并把图形的数学模型通过 指定的算法转化成图形显示的一门学科。计算机图形学的主要眼就对象可以概 括成:点、线、面、体、场的数学构造方法与其图形显示,以及它们随时间的 变化情况。实际的图形应用系统一般可分成二维图形系统与三维图形系统。 二维图形学的研究对象是平面上的点、线、面( 有界平面) 以及它们随时 间的变化情况。二维图形系统的用途只能完成用户要求绘制的任意复杂的平面 图形,这些复杂平面图形既可以是静态图形,也可以是实时图形。 三维图形学的研究对象是点、线、面、体、场。与二维图形不同的是,此 刻的线可以是空间中的任意曲线,面可以是空间中的任意曲面( 有界曲面或有 界表面) 。 若三维图形中仅研究点、线、面以及由这些点、线、面所购成的任意复杂 图形,则这种图形又称为二维半图形。 、 体是三维空间中有限的封闭空间。一般来说它的边界是面,面的边界是边 线,边线的边界是点。体的概念不仅仅用于像机械零件等计算机辅助设计与制 造领域,而且可用于需要设计物体形状以及对其进行必要分析的应用领域。 场是现实世界中一个比体更复杂的概念。与体相比,一般来说,场的物质 密度在一给定的空间范围内是有规律的逐渐变化的且不易直观掌握,即它并不 像体那样具有明确的边界。正因为场的这种复杂性,人们才希望借助图形显示 的方法,直观的了解并掌握场的物质密度在空间中的变化规律。 要实现图形学研究的目标( 如三维物体) ,需要解决以下6 个方面的问题: ( 1 ) 描述复杂物体图形的方法与数学工具,是计算几何要解决的问题。有 了这些描述复杂物体图形的数学工具,就为建立复杂物体的数学模型提供了保 证。 ( 2 ) 物体图形描述数据的输入。当成功建立了所要求物体的数学模型之后, 这些描述书局要存入计算机中,这通常包括图形数据的编程输入方法、人机交 互输入技术以及自动输入技术。 ( 3 ) 输入数据的存储。对输入的图形数据,如何在计算机图形系统内部对 它进行有效的组织、存储与管理,以便用户对图形进行各种编辑与检索操作, 这是具体实现一个计算机图形系统要解决的重要问题 ( 4 ) 物体图形数据的运算处理。就构造复杂物体而言,常用的运算方法主 要有:不断追加新的简单物体,对已有物体进行几何变换( 平移、旋转、放大、 缩小等) ,对物体实施全剖切、集合运算( 两物体交、并、差后形成新物体) 与 欧拉运算,以及其它一些辅助构造方法,如框架式三维重建与蒙皮法等。 ( 5 ) 物体图形数据的输出显示。这通常包括二维图形中的直线段、圆弧、 椭圆弧、自由曲线、矢量字符的生成与实面积图形的填充,以及三维图形中物 体的各种投影、开窗裁剪技术,平面、曲面的显示,隐藏线、隐藏面的消除, 物体的光照模型、着色处理、纹理、阴影、光线跟踪算法、辐射度方法、灰度 与色彩等各种真实感图形的显示方法与技术。 ( 6 ) 物体的制造。物体制造就是把上述用户所设计出的物体用数控机床加 工出来,这是计算机辅助制造( c a m ) 要完成的主要任务。 除此之外,图形学还研究以下三个方面的问题: ( 7 ) 图形输出显示设备、输入设备的研究与计算机图形系统结构的发展。 ( 8 ) 制定与图形应用软件有关的多种技术标准。国际标准化组织( i s o ) 相继提出或正在讨论下述有关标准:计算机图形接口( c g i ) ,其目的是提供控 制图形硬件的一种与设备无关的方法,可把它看作是图形驱动程序的一种标准; 计算机图形元文件( c g m ) ,它归定了生成、存储、传送图形信息的格式。g k s 、 4 g k s - 3 d 、p h i g s + 、o p e n g l ( 工业标准) 等图形标准,这些标准的制定,使编 程者开发的应用程序摆脱了对具体显示设备的依赖;基本图形转换规范 ( i g e s ) ,其作用是为了使不同的c a d c a m 系统之间交换数据而约定的一种 通用数据格式。 ( 9 ) 实时动画与多媒体技术。研究实现高速动画的各种软、硬件方法,开 发工具,动画语言以及多媒体技术。【7 】 1 4 课题来源及研究任务 1 4 1 课题来源: 论文的课题来源:合肥市重点科技攻关项目“车间异构数控机床网络d n c 集成系统开发及应用”。 项目背景: 中国电子科技集团公司某研究所为了技术改造和新产品零件加工的需要, 委托合肥工业大学c i m s 研究所对某机械加工车间的1 0 台数控车床进行数控升 级。并在此基础上,合肥工业大学c i m s 研究所对该所数控加工车间数控机床( 国 内外各种数控机床) 开展异构数控机床网络d n c 集成系统开发及应用,取得了 较好的应用效果。 本课题主要目的是为了给车间异构数控机床网络d n c 集成开发及应用项目 提供可视化的加工程序仿真。同时为n c 代码的编译和3 维仿真技术的研究和开 发积累经验。 1 4 2 研究任务: 本论文的主要研究任务如下: ( 1 ) 探讨数控系统的仿真方法和基本原理,将数控系统的仿真方法分解 为2 个主要部分:n c 代码编译和3 维图形仿真。 ( 2 ) 研究编译的一般性方法与过程,在此基础上研究n c 代码组成及语法 规则,讨论适合用于编译n c 代码的编译器构造。讨论n c 代码的词法分析器、 语法分析器的算法,以及生成用于仿真的各项参数,并确定用于储存这些参数 的数据结构。 ( 3 ) 构造n c 代码词法分析器、语法分析器、语义分析器,确定程序流程, 编写n c 代码编译程序。 ( 4 ) 使用o p e n g l 进行三维仿真,研究o p e n g l 的编程规范,讨论在 o p e n g l 中仿真所需要绘制的基本图元,和图元的绘制方法。在o p e n g l 窗口 中绘制n c 代码的仿真结果。讨论有方向圆弧和圆的绘制方法以及刀具模拟运 行时的动态计算。 ( 5 ) 数控系统仿真系统在车间异构数控机床网络d n c 集成开发及应用项目 中的应用,同时讨论该系统整体或者部分在其他系统中的应用。 第二章数控系统仿真技术 2 1 数控系统仿真的基本原理: 数控系统是由程序、输入输出设备、计算机数控装置( c n c 装置) 、可编 程控制器、主轴驱动装置和进给伺服驱动系统等组成的一个的系统,又称c n c 系统。从外在来看它是一个专用的计算机系统:一种轨迹控制系统,以多执行 部件( 各运动轴) 的位移量为控制对象并使其协调运动的自动控制系统。它将 数控代码转化成为各运动轴的位移数据【8 】。 通过对数控系统的研究,数控系统的关键功能是接收数控程序,控制执行 部件运动。因此,对数控系统进行仿真需要分成2 个部分来进行,首先是n c 代码的编译,然后是对结果进行显示。这两者决定了仿真系统的构架:围绕n c 代码,仿真数控系统送给机床的动作。正如计算机仿真本身所指:在实体尚不 存在、或者不易在实体上进行实验的情况下,先通过对考察对象进行建模,用 数学方程式表达出其物理特性,然后编制计算机程序,并通过计算机运算考察 对象在系统参数以及内外环境条件改变的情况下,其主要参数如何变化,从而 达到全面了解和掌握考察对象特性的目的【8 】。我们也要在没有机床实体的情况 下,研究n c 代码的驱动机制,建立数学模型来模拟n c 代码所产生的机床运 动。 因此,在对数控代码进行仿真时,必须把握数控代码的基本特征,通过分 析、引入必要的参量、进行科学的抽象、分析各参量间的相互关系、选择恰当 的数学工具,然后在此基础上建立相应的数学模型。对数控代码进行分析,我们 可以获得如下的信息:数控代码所携带的数据信息包括两类:一、加工信息; 二、机床信息。我们通过对n c 代码的编译,整理出这些信息。并将这些信息 传递给仿真程序,通过仿真程序的处理,将仿真结果输出,然后将结果动态的 显示出来,整个过程如图2 1 。 图2 1 仿真过程 从概念上来说,通过仿真程序运算获得仿真结果,计算机仿真的过程就可 以算是结束了。但是为了让使用者更直接的了解仿真结果,通常会考虑将仿真 结果以图形的方式显示出来,于是我们还需要一个模拟运行的过程,将n c 代 码所代表的机床运行过程以动态的方式在计算机上显示出来。 6 2 2 数控代码仿真方法 在基本原理清楚的情况下,则需要讨论如何实现对数控代码的仿真,怎样 使得编译和仿真程序获得最大程度上的重用。 数控代码仿真的基本原理如图2 1 是个线性的过程,如果采用线性方式编写 程序则程序的应用性和扩展性都将被严重的限制,因此采用流行的模块化的方 式设计程序可以获得更好的结果。因此,需要对整个过程进行分析,并且模块 化。 首先获取n c 代码可以有2 种方式:一、直接输入;二、由文本( 加工程 序) 输入。无论从哪种方式输入,n c 代码都将以字符串的形式被程序获取并 处理。我们使用一个字符串处理模块来处里输入字符串,这个处理模块是基于 单个字符的,于是无论使用哪种方式输入代码都可以被这个字符串处理模块识 别并处里。 其次是n c 代码的编译,这部分主要由2 部分组成:词法分析器和语法分 析器。我们将词法分析和语法分析独立开来,这样可以在不同的情况下独立使 用,同时分开的2 个部分在修改的时候可以互不干涉,更方便调试与修改。 最后是模拟运行,这部分的作用是将模拟的结果动态的显示出来,使用基 于o p e n g l 2 0 的技术来进行实时图像的绘制。在o p e n g l 窗口中,将编译程序 得到的机床动作绘制出来。 2 3 数控代码仿真所用到的工具介绍 首先使用基于面相对象的c + + 语言编写程序,并在v c + + 的环境下调试。 c + + 是以c 程序设计语言为基础开发出来的。c + + 是一种通用程序设计语 言,特别是面向系统程序设计,它 一一是一个更好的c 。 一一支持数据抽象。 一一支持面向对象的程序设计。 一支持通用型程序设计。 c + + p r o g r a m m i n gp 1 9 】 c + + 就是为了支持数据抽象、面向对象的程序设计和通用型程序设计,以 及在这些风格约束之下的传统c 程序设计技术 面向对象程序设计的几种主要技术包括: ( 1 ) 封装和数据隐藏 c + + 通过建立用户定义类型( 类c l a s s ) 支持封装性和数据隐藏。完好定义 的类一旦建立,就可看成是完全封装的实体,可以作为一个整体单元使用。类 的实际内部工作应当隐藏起来,使用完好定义的类之用户不许要知道类是如何 工作的,只要知道如何使用它就行。 ( 2 ) 继承和重用 c + + 采用继承支持重用的思想,程序可以在扩展现有类型的基础上声明新 7 类型。新的子类是从现有类派生出来的,称为派生类。 ( 3 ) 多态性 多态性指的是程序在运行时能够依据其类型确认调用何种函数的能力,称 为多态性。若某种语言只支持类而不支持多态,只能称为基于对象的( 如a d a , v b ) ,而不能称为面向对象的。【9 】 有了这些特性c + + 使得程序员将精力集中于数据抽象,并使得程序结构 化。 v c + + 是微软提供的w i n d o w s 的开发环境,它包含了a c t i v e x 模板库也包含 了m f c 应用程序框架。当然用户也可以选择只使用w i n 3 2 a p i 来开发w i n d o w s 程序。 v c + + 还提供大量的工具来帮助用户完成应用程序的开发。其中包括: 资源编辑器一一工作区r e s o u r c e v i e w :这是一个窗口,包含了编辑图标、 位图、字符串、所见即所得的菜单编辑器和一个强大的对话框图形编辑器。 c c + + 编译程序:v c + + 编译程序通过查看源代码的文件扩展名来确定使用 的语言。c 扩展名表示c 源代码,c p p 或者c x x 表示c + + 源代码。这个编译 程序符合所有a n s i 标准,包括有关c + + 库工作的最新建议,同时,这个编译 程序还有附加的m i c r o s o f t 扩展。 源代码编辑器:v c + + 包括了一个完善的源代码编辑器,并支持如动态语法 着色、自动制表符缩进等许多特性。 资源编译程序:资源编译程序从资源编辑器中读取a s c i i 资源脚本( r c ) 文件,并为链接程序写一个二进制r e s 文件。 链接程序:读取由c c + + 编译程序和资源编译程序生成的o b j 和r e s 文件, 而且为m f c 代码、运行库代码和w i n d o w s 代码访问l i b 文件。然后写工程的 e x e 文件。 a p p w i z a r d :一个代码生成器,创建一个代有特性、类名和源代码文件名的 w i n d o w s 应用程序框架,这些特性、类名等内容是通过对话框指定的。a p p w i z a r d 代码是基本的代码,帮助用户迅速开始一个新的应用程序。 c l a s s w i z a r d ( 类向导) :是从v c + + 的v i e w 菜单访问的程序。c l a s s w i z a r d 使程序员从维护v c + + 类代码这样繁琐复杂的工作中解脱出来。在需要一个新 类、一个新的虚函数或者一个新的消息处理函数时,c l a s s w i z a r d 可以编写原型、 函数体,以及把w i n d o w s 消息与函数链接的代码。 源代码浏览器:可以从类或者函数的角度查看并编辑应用程序。浏览器有 如下查看方式: ( 1 ) d e f i n i t i o n sa n dr e f e :r e n c e s ( 定义和引用) 一一用户选定任何函数、变 量、类型、宏或者类,然后查看它定义的位置及使用的位置。 ( 2 ) c a l lg r a p h c a l l e r sg r a p h ( 调用图形或者调用程序图形) 一一对于一 个选定的函数,你可以看到它的调用函数或者被调用函数的图示。 ( 3 ) d e r i v e dc l a s s e sa n dm e m b e r s b a s ec l a s sa n dm e m b e r s ( 派生类和成员 基类和成员) 一一给出类的层次关系的图形表示。对于选定的类,你可以看到 它的派生类或者基类及成员函数。 ( 4 ) f i l eo u t l i n e ( 文件大纲) 一一对于选定的文件、类、函数和数据成员, 同时出现在工程中定义和使用的地方。 m i c r o s o f t 基本类库6 0 版; m i c r o s o f t 活动模板库:a t l 是独立于m f c 的工具,用来创建a c t i v e x 控 件。用户可以用m f c 或者a t l 创建a c t i v e x 控件,但是,a t l 控件更小、更 快、适于在i n t e r n e t 上加载。【1 0 】 其次是o p e n g l 2 0 ,它是一个o p e n g l 图形系统:规范中定义的一个 图形a p i ,它支持实时渲染,得到广泛的支持并且易于使用。o p e n g l 程序使 用该规范的实现来显示2 d 和3 d 几何数据和图像。 o p e n g l 规范指出,“对程序员而言,o p e n g l 是一组命令,可用于指定二 维和三维几何体以及控制如何将这些物体渲染到帧缓存中 【1 1 1 。在为三地图形 设计的计算机系统中,硬件几乎直接支持所有的o p e n g l 特性。因此,o p e n g l 库可以被看成为一个薄层,让应用程序能够高效的访问硬件的功能。难以通过 硬件实现的高级特性不是o p e n g l 规范的一部分。 o p e n g l 不包括对窗口系统、输入( 鼠标、键盘、光笔等) 和用户界面共 能的支持,因为计算机系统通常以平台特定的方式支持这些功能,能够满足大 部分小型应用程序和演示程序的需求。【1 2 】 2 4 本章小结 1 探讨数控系统仿真的基本原理,研究仿真的过程,确定仿真的方法 2 介绍编制仿真程序所要用到的工具:v c + + 和o p e n g l 2 0 图形a p i 。 9 第三章数控代码编译技术 3 1n c 代码的特点 要编译n c 代码,首先要研究n c 代码的组成和特点: 数控加工程序都是由若干个程序段按照一定顺序排列在一起组成的。所谓 程序段,就是指为了完成某一动作要求所需要的功能“字”的组合。“字”是表 示某一功能的一组代码符号。一个程序段中各字的排列顺序及其表达形式称为 程序段格式,目前以字地址格式应用最广。在这种格式中每个字前有地址,各 字的排列的先后顺序并不严格,数据位数可多可少( 但不能超出规定范围) ,不 需要的字以及与上一程序段相同的续效字可以不写。这种程序的优点是程序简 短、直观、不易出错。n 3 1 参考一些数控编程的教材我们可以了解数控机床加工过程中,数控指令需 要用来驱动数控机床的起停、正反转,刀具走刀路线的方向,粗、精切削走刀 次数的划分,必要的端点停留,换刀,确定主轴转速,进行直线、曲线加工等 动作。实现这些动作的n c 代码指令被称为工艺指令。他大体上可以分为2 类: 一、准备性工艺指令一一g 指令。在数控系统插补运算之前或进行加工之前需 要预先规定,为插补运算或者某种加工方式作好准备的工艺指令。 二、辅助性工艺指令一一m 指令。这类指令与数控系统插补运算无关,而是 根据操作机床的需要予以规定的工艺指令。常用来指令数控机床辅助装置的接 通和断开( 开关动作) ,表示机床各种辅助动作及其状态。【1 4 】 一段数控代码通常是由两个“”包括起来的代码组合,每一行代码由“n ” 起头,“;”表示结束。我们后面的所有n c 代码都以表3 ,1 为参考。 表3 1 n c 代码地址与指令范围( f a n uo m ) 功能地址米制单位英制单位 程序号:( i s o ) o ( e i a ) 1 - 9 9 9 91 - 9 9 9 9 顺序号 n1 9 9 9 91 - 9 9 9 9 准备功能 g0 9 9 0 - 9 9 x 、y 、z 、q 、r 、i 、 4 - _ 9 9 9 9 9 9 9 9 m m9 9 9 9 9 9 9 9 i n 尺寸j 、k a 、b 、c9 9 9 9 9 9 9 9 。9 9 9 9 9 9 9 9 。 进给功能 f1 1 0 0 0 0 0 0 m m m i n0 0 1 - 4 0 0 0 i n m i n 主轴转速功能 s0 9 9 9 9 0 - 9 9 9 9 刀具功能 t0 - 9 90 - 9 9 辅助功能 m 0 - 9 90 - 9 9 暂停 x 、p 0 - 9 9 9 9 9 9 9 9 s 0 n 9 9 9 9 9 9 9 9 s 子程序号 p1 9 9 9 91 - 9 9 9 9 重复次数 l 1 - 9 9 9 91 9 9 9 9 补偿号 d 、h0 3 2o 3 2 1 0 在所有指令中,在我们的研究和模拟中能够直接被观察到的指令是最重要 的指令,这些指令主要是那些与运动方式相关的指令,如下: ( 1 ) 快速点定位指令一一g 0 0 格式:g 9 0g 0 0 x y z 一; g 9 1 g 0 0 x y z 一; g 9 0 是绝对值编程指令,g 9 0 指令后各个程序段中的所有坐标值全部以 编程原点为基准,是在编程坐标系中的绝对坐标值。 g 9 1 是增量值编程指令,g 9 1 指令后各个程序段中的所有坐标值均是相 对于前一个位置坐标的增量。【1 5 】 如在缺省情况下( 程序不指定) 则默认为g 9 0 绝对坐标值编程。 ( 2 ) 直线插补指令一一g 0 1 格式:g 0 1x y z f 一; x 、y 、z 是终点坐标,f 为进给速度 ( 3 ) 圆弧插补指令一一g 0 2 、g 0 3 g 0 2 = g 0 3 圆弧插补指令数控机床在各做标平面内执行圆弧运动,将工件切 削出圆弧轮廓。 g 0 2 为顺时针圆弧插补 g 0 3 为逆时针圆弧插补。【1 6 】 在不同的坐标平面内,顺逆时针的判断如图3 1 1 所示 图3 1 三坐标面顺逆时针的判断 圆弧插补中指定圆心有两种方式:一、使用i 、j 、k 来指定圆弧的圆心, i 、j 、k 分别代表圆心相对于x 、y 、z 的增量。即x = x + i ;y = y + j ;z = z + k 。 二、使用圆弧半径r 来指定圆弧中心。r 后带有符号的数值来表示圆弧 的圆心角:如图3 2 当0 a b 兰1 8 0 。时,r 为正,当0 a b 兰1 8 0 。时,r 为 负。但是要注意,如果指令进行的是整圆切削则不可以用r 来指定圆心。 只能使用i 、j 、k 来指定圆心。 图3 - 2r 指定圆弧中心 由于这些指令能够直接的在模拟中被反映出来,因此在我们的系统中被重 点关注。我们后面的所有仿真动作都是以这些指令为基础的。 3 2n c 代码的编译 要对n c 代码进行仿真,首先就需要将n c 代码进行编译以转化为可以被 执行的中间代码。这个过程被称为编译。编译是一个分析( a n a l y s i s ) 、综合 ( s y n t h e s i s ) 的过程。输入代码先被分解成一个个的单词符号,然后再被整合 成新的目标代码。如n c 代码: n 2 0 g 1 9 g 0 2y 3 0z 3 0j 1 0k 1 0f 1 0 0 ;( 前一终止点为x 1 0y 1 0z 1 0 ) 首先 被分解为n 2 0 、g 1 9 、g 0 2 、y 3 0 、z 3 0 、j 1 0 、k 1 0 、f 1 0 0 这样的单词块。经 过词法分析、语法分析,获得所需要的数据,提交给运动模拟模块进行仿真。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某食品集团员工行为制度
- 公共空间设计 课件全套 项目1-7 公共空间设计初识 - -公共空间配套设施设计
- 专项四 寓言故事类(解析版)2026中考语文:文言文阅读专项突破
- 2026年教师招聘考试师德与教育法规模块100题及答案(含解析)
- 幸福创业试题及参考答案
- 英语1试卷题目与答案
- 汽车厂实习报告
- 2026年秋季班主任工作计划范文
- 2025届丽水市缙云县数学四下期末学业水平测试试题(含答案)
- 末日考验试题及答案
- 2027届高三语文一轮复习:高中文言文挖空训练
- 2025四川成都成华城市建设投资有限责任公司下属公司招聘3人笔试历年难易错考点试卷带答案解析
- 岳阳市农商银行系统2026年员工招聘63人笔试参考题库及答案详解
- 2026年建筑电工(建筑特殊工种)考试题库及建筑电工(建筑特殊工种)附答案
- 2026年小学劳动教师考试题及答案
- 异位妊娠测试题及答案
- 2026年安全员B证继续教育考试试题及完整答案(年审版)
- 2026-2030中国曳引机市场发展格局及需求趋势前景分析研究报告
- 异位妊娠破裂失血性休克急救护理个案
- 2026年教师选调进城考试试题及答案解析
- JC-T 604-2025《平板玻璃退火窑》
评论
0/150
提交评论