• 1.27 MB
  • 2022-04-22 13:42:40 发布

基于c++的平面二轴数控运行仿真软件设计.doc

  • 95页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于c++的平面二轴数控运行仿真软件设计 湖南师范大学本科毕业论文开题报告书论文题目基于VC++的平面二轴数控运行仿真软件设计作者姓名周红亮所属院、专业、年级工学院机械制造工艺教育专业2007年级指导教师姓名、职称彭可副教授预计字数20000开题日期2011.03.12选题的目的及意义:数控机床在进行加工前,需要检查数控程序的正确性。传统的检验方法为试切法,这种方法耗时长、对机床设备损耗大、容易造成次品从而使得成本加高。开发数控仿真软件,对企业提高了工时效率,节省了投入成本,对编程人员预防了可能由工件与夹具或机床之间干涉引起的危险,对职校或技能培训部门的学生提供了一个良好的学习环境,有利于减轻在职教师的劳动强度,降低教学成本,提高教学效果,解决数控教学的安全、材料浪费等问题。主要内容:(1)根据数控车床特点,分析了数控车床加工仿真系统,提出了开发本系统的总体设计方案。(2)分析了数控系统常用的插补算法,选择极坐标插补做为本系统的插补算法,并编制出相应的插补程序。(3)研究了1506983NC程序词法和语法的特点,编制出NC程序的词法和语法编译模块。(4)研究了WINDOWS操作系统下多线程技术的原理,并利用多线程技术实现了数控车床加工仿真。(5)设计出数控车床仿真系统人机交互界面。(6)编制出数控车床仿真系统的帮助模块。研究方法:1.由搜集资料、查阅相关文献,掌握仿真软件设计的基本概念及方法。2.向指导老师请教,弄清设计中的难点。3.参照相关的资料,确定设计方案。4.学习标准C++编程的基本知识与开发过程,数控加工原理等知识。5.不断地与相关课题的同学进行讨论、交流、做实验。 完成期限和采取的主要措施:2010年3月1日~3月12日通过文献整理,编写论文开题报告;2010年3月13日~3月19日开题报告答辩;2010年3月20日~3月25日确定论文的整体方案;2010年3月26日~4月15日完成设计方案,设计说明书的初稿以及相关设计图稿;2010年4月16日~4月26日通过实例进行仿真检验;2010年4月27日~5月3日论文的整理和总结;2010年5月4日~5月15日准备毕业论文答辩。主要参考资料:[1]张根保.自动化制造系统.北京:机械工业出版,1999.5[2]葛研军等.数控加工关键技术及应用.北京:科学出版社,2005.[3]张铁军等.虚拟机床加工系统研究[J].制造技术与机床,1999.[4]王印芬.三维数控加工仿真的应用研究[D].北京航空航天大学硕士论文,2000.[5]姬舒平,刘卡林,马玉.NCVrification的研究现状及展望[J].组合机床与白动化加工技术,1997.指导教师意见:签名:年月日 开题报告会纪要时间地点与会人员姓名职务(职称)姓名职务(职称)姓名职务(职称)会议记录摘要:会议主持人签名:记录人签名:年 月日指导小组意见负责人签名:年月日学院意见负责人签名:年月日 湖南师范大学工学院指导教师指导毕业论文情况登记表论文(设计)题目基于VC++的平面二轴数控运行仿真软件设计学生姓名周红亮所属专业、年级机械制造与工艺教专业2007级指导教师姓名彭可职称副教授学历博士指导时间指导地点指导内容学生签名备注2011-3-5实验室解释论文主要研究方向2011-3-10实验室确定毕业设计主体流程,及设计方法2011-3-13实验室参考资料的查找,相关文献的搜索2011-3-18实验室VisualC-++编程的要点2011-3-25实验室仿真软件的界面设计2011-4-1实验室插补系统的设计与实现2011-4-8实验室NC代码的编译2011-4-12实验室图像的处理方法2011-4-22实验室仿真系统动画的实现2011-4-30实验室论文总结2011-5-3实验室论文的修改 二、湖南师范大学本科毕业论文评审表毕业设计题目基于VC++的平面二轴数控运行仿真软件设计作者姓名周红亮所属院、专业、年级工学院机械制造工艺教育专业2006级指导教师姓名、职称彭可、副教授字数30000字定稿日期2011.05.10中文摘要本论文以计算机仿真技术和计算机图形技术为基础,运用可视化和面向对象的编程技术,对数控车床加工仿真系统进行了研究,提出了基于visualC++.NET语言环境的模块化设计方案,开发出了一套数控车床加工仿真系统,来模拟数控车床加工。该仿真系统不但可以检验程序的正确性和合理性,避免由于机床的走刀错误而造成数控设备损坏的危险,而且大大降低了以往采用工艺试切方法带来的高消耗和高成本,缩短了新产品的开发周期。另外,仿真系统的开发也为今后进一步研究开发全软件型数控系统奠定了基础;加工过程仿真还具有辅助优化工艺安排、培训编程人员等实际应用前景。本论文主要内容有:(1)根据数控车床加工特点,分析了数控车床加工仿真系统,提出了开发本系统的总体设计方案。(2)分析了目前数控系统常用的插补算法,选择极坐标插补做为本系统的插补算法,并编制出相应的插补程序。(3)研究了WINDOWS操作系统下多线程技术的原理,并利用多线程技术实现了数控车床加工仿真。(4)设计出数控车床仿真系统人机交互界面。关键词(3-5个)数控车床;仿真;NC程序;visualC++.NET 英文摘要Thispaperbasedoncomputersimulationandcomputergraphicstechnology,usevisualizationandobject-orientedprogrammingtechniques,conductedastudyonsimulationsystemofNClathemachining,madebasedonvisualC++.ModulardesignofNETlanguageenvironment,developasetofNClathemachiningsimulationsystem,tosimulateNClathe.Simulationsystemnotonlycantheaccuracyandreasonablenessoftheinspectionprocedures,avoiderrorscausedbynumericalcontrolmachinetoolpassestheriskofdamagetotheequipment,butalsosignificantlyreducesprocesstestcuttingmethodsusedinthepastthehighconsumptionandhighercosts,reduceddevelopmentcyclesfornewproducts.Inaddition,thedevelopmentofsimulationsystemforfurtherresearchanddevelopmentinthefuturealsolaidtheFoundationforfullsoftwareCNCsystem;optimizationofmachiningprocesssimulationalsohasasecondaryprocessingarrangements,thetrainingofprogrammers,theactualapplication.Thisthesishasmainlyaccomplishedcontentsasfollows:(1)ByanalyzingthesimulationsystemofNClathe,proposesthegeneraldesignplanofthesimulationsystemofNClathebasedonthecharacteristicofNClathe.(2)Byanalyzingandcomparingtheprincipleofinterpolation,realizestheprogramofinterpolationmodule.(3)AnalyzingMulti-threadtechnologyindetail,realizesNClatheMachiningSimulationbasedonWindowsMulti-threadtechnology.(4)DesignsthefriendlyWindowsstyleinterfaceofNClatheMachiningSimulation.关键词(3-5个)NClathe;Simulation;NCprocedure;VisualC++.NET 毕业设计指导教师评定成绩评审基元评审要素评审内涵满分实评分选题质量30%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和综合训练的基本要求10选题恰当题目规模适当5题目难易度适中5联系实际题目与生产、科研、实验室建设等实际相结合,具有一定的实际价值10能力水平35%综合运用知识能力能将所学专业知识和机能用与毕业设计中;设计内容有适当的深度、广度和难度5应用文献资料能力能独立查阅相关文献资料,能对本设计所涉及的有关研究状况及成果归纳、总结和恰当运用5实验(设计)能力能运用本学科常用的研究方法,选择合理可行的方案,能对实际问题进行分析,进行实验(设计),具有较强的动手能力5计算能力原始数据搜集得当;能进行本专业要求的计算,理论依据正确,数据处理方法和处理结果正确5外文应用能力能搜集、阅读、翻译、归纳、综述一定量的本专业外文资料与外文摘要,并能加以运用,体现一定的外语水平5计算机应用能力能根据设计题目要求编程上机或使用专业应用软件完成设计任务5分析能力能对设计项目进行技术经济分析或对实验结果进行综合分析5设计质量35%插图或图纸质量能用计算机绘图,且绘制图纸表格符合标准5说明书撰写水平设计说明书齐全;概念清楚,内容正确,条理分明,语言流畅,结构严谨;篇幅达到学校要求15规范化程度设计的格式、图纸、数据、用语、量和单位、各种资料引用和运用规范化,符合标准;设计栏目齐全合理5成果的实用性与科学性较好地完成设计选题的目的要求,成果富有一定的理论深度和实际运用价值5创见性具有创新意识,设计具有一定的创新性5正文部分成绩(上表):总成绩:评定等级:外文资料译文成绩:指导教师评审意见:指导教师签名:说明:此表指标部分为正文部分计分表,正文部分成绩=实评总分×0.9,外文资料译文成绩满分为10分。总成绩=正文部分成绩+外文资料译文成绩。评定成绩分为优秀、良好、中等、及格、不及格五个等级,总成绩90—100分记为优秀,80—89分记为良好,70—79分记为中等,60—69分记为及格,60分以下记为不及格。若译文成绩为零,则不计总成绩,评定等级记为不及格。 三、湖南师范大学本科毕业设计答辩记录表毕业设计题目基于VC++的平面二轴数控运行仿真软件设计作者姓名周红亮所属院、专业、年级工学院机械制造与工艺教育专业2007年级指导教师姓名、职称彭可副教授答辩会纪要时间地点答辩小组成员姓名职务(职称)姓名职务(职称)姓名职务(职称)答辩中提出的主要问题及回答的简要情况记录:会议主持人签名:记录人签名:年月日 答辩小组意见评语:评定等级:负责人(签名):年月日学院意见评语:毕业设计学院最终评定等级:负责人(签名):学院(公章)年月日学校意见评语:评定等级:负责人(签名):年月日 81 基于VC++的平面二轴数控运行仿真软件设计专业:机械制造工艺教育年级:2007级姓名:周红亮摘要本论文以计算机仿真技术和计算机图形技术为基础,运用可视化和面向对象的编程技术,对数控车床加工仿真系统进行了研究,提出了基于visualC++.NET语言环境的模块化设计方案,开发出了一套数控车床加工仿真系统,来模拟数控车床加工。该仿真系统不但可以检验程序的正确性和合理性,避免由于机床的走刀错误而造成数控设备损坏的危险,而且大大降低了以往采用工艺试切方法带来的高消耗和高成本,缩短了新产品的开发周期。另外,仿真系统的开发也为今后进一步研究开发全软件型数控系统奠定了基础;加工过程仿真还具有辅助优化工艺安排、培训编程人员等实际应用前景。本论文主要内容有:(1)根据数控车床加工特点,分析了数控车床加工仿真系统,提出了开发本系统的总体设计方案。(2)分析了目前数控系统常用的插补算法,选择极坐标插补做为本系统的插补算法,并编制出相应的插补程序。(3)研究了WINDOWS操作系统下多线程技术的原理,并利用多线程技术实现了数控车床加工仿真。(4)设计出数控车床仿真系统人机交互界面。关键词:数控车床;仿真;NC程序;visualC++.NET81 AbstractThispaperbasedoncomputersimulationandcomputergraphicstechnology,usevisualizationandobject-orientedprogrammingtechniques,conductedastudyonsimulationsystemofNClathemachining,madebasedonvisualC++.NET.ModulardesignofNETlanguageenvironment,developasetofNClathemachiningsimulationsystem,tosimulateNClathe.Simulationsystemnotonlycantheaccuracyandreasonablenessoftheinspectionprocedures,avoiderrorscausedbynumericalcontrolmachinetoolpassestheriskofdamagetotheequipment,butalsosignificantlyreducesprocesstestcuttingmethodsusedinthepastthehighconsumptionandhighercosts,reduceddevelopmentcyclesfornewproducts.Inaddition,thedevelopmentofsimulationsystemforfurtherresearchanddevelopmentinthefuturealsolaidtheFoundationforfullsoftwareCNCsystem;optimizationofmachiningprocesssimulationalsohasasecondaryprocessingarrangements,thetrainingofprogrammers,theactualapplication.Thisthesishasmainlyaccomplishedcontentsasfollows:(1)ByanalyzingthesimulationsystemofNClathe,81 proposesthegeneraldesignplanofthesimulationsystemofNClathebasedonthecharacteristicofNClathe.(1)Byanalyzingandcomparingtheprincipleofinterpolation,realizestheprogramofinterpolationmodule.(2)AnalyzingMulti-threadtechnologyindetail,realizesNClatheMachiningSimulationbasedonWindowsMulti-threadtechnology.(3)DesignsthefriendlyWindowsstyleinterfaceofNClatheMachiningSimulation.KeyWords:NClathe;Simulation;NCprocedure;VC++.NET81 第一章绪论1.1数控加工仿真技术的概述“仿真”一词源于英文术语simulation,早期也译为“模拟”。仿真就是通过对系统模型的81 验去研究一个存在或设计中的系统。这里的系统是指由相互联系和相互制约的各个部分组成的具有一定功能的整体。该技术是以控制论、系统论、相似原理和信息技术为基础,以计算机和专用设备为工具,用系统模型对实际的或设想的系统进行动态试验研究的一门多学科的综合性技术。其本质是对系统数学模型进行数值计算。根据仿真与实际系统配制的接近程度,将其分为计算机仿真、半物理仿真和全物理仿真。在计算机上对系统的计算机模型进行试验研究的仿真称为计算机仿真。用已研制出来的系统中的实际部件或子系统去代替部分计算机模型所构成的仿真称为半物理仿真。采用与实际系统相同或等效的部件或子系统来实现对系统的试验研究,称为全物理仿真。一般说来,计算机仿真较之半物理、全物理仿真在时间、费用和方便性等方面都具有明显优点。而半物理仿真、全物理仿真具有较高的可信度,但费用昂贵且准备时间长。数控仿真是利用仿真技术来模拟实际的机械加工过程,是验证数控加工程序的可靠性和预测切削过程的有力工具。数控仿真是在随着高速计算机和可视化技术的发展而发展起来的,其主要目的就是对数控加工代码进行验证,模拟刀具、工件几何体、加工环境及刀具路径和材料去除的过程,消除因程序误差而导致的机床刀具、夹具损坏及零件报废等。如果采用仿真加工来替代或减少实际的试切工作,特别是,如果能将仿真系统嵌入到实际的数控系统中,使其成为实际加工的支撑环境,那么对于制造业的发展将起到极大的推动作用。1.2国内外研究现状及存在的问题1.2.1国外的研究现状数控加工仿真一直是国外CAD/CAM技术的一个研究热点,Kawabe等人最早利用刀具轨迹,采用边界表示法来获取刀具加工零件的框架图,因为该方法简单,容易实现,所以被早期大多数的CAD/CAM系统所采用。但是,因为工作形状越来越复杂,刀具轨迹包含的信息量也越来越多,导致图形形状混乱不清,于是仿真研究开始向三维实体仿真算法方向发展,如:AndErson研究了三维碰撞检验算法,chappel给出了利用向量来分析切削过程的算法,Sungurtkin等提出了特定造型设备上的数控仿真系统,K.K.waNg研究了基于布尔运算的Nc检验系统,J.H.oliver提出了直接尺寸检验方法等。由于加工仿真具有诱人的应用前景,促使发达国家对其进行深入研究,并已出现许多成功的应用范例。在美国已形成了由政府、产业界、大学组成的多层次、多方位的综合研究开发力量。主要的研究机构有:(l)美国国家标准及技术局(NIST)制造工程实验室作为AMT计划的一部分,美国NlST开展了虚拟机床的研究。该实验室专门设有制造系统集成部(ManufacturingsystemsIntegration81 Division,MSID)。该部由多个不同研究小组组成,分别负责研究和开发实现计算机辅助集成制造系统所需要的各种标准和技术。它在这一领域的研究中比较著名的是提供了开放式虚拟现实测试床(OVRT)和国家先进制造测试床(NAMT)(2)美国Maryland大学系统研究学院CIM实验室该实验室主要以CIM领域的最新技术为研究主题,范围覆盖工厂层和车间层问题。研究重点则是在复杂制造系统的建模工具开发和应用及用于产品开发全过程的并行工程工具的开发和应用。他们开发了用于培训数控操作人员的虚拟数控机床仿真器。(3)美国伊利诺斯大学芝加哥分校机械系工业虚拟现实研究所该研究所主要从事工业与制造应用相关的,尤其是与制造设计、工艺处理等相关的虚拟现实技术研究。主要项目有:工厂及工艺过程模型、远程工程和数控仿真。加拿大WATERLOO大学的机械工程系和集成制造系统管理研究中心也有部分与数控仿真相关的研究项目。在欧洲英国Bath大学机械工程系用openlnventor2.0软件工具开发出了基于自己的Svlis几何造型工具的仿真系统。此外,英国Leeds大学计算机研究学院、Loughborough大学、HerriotWatt大学机械与化学工程系也进行着数控仿真的研究。意大利Bologna大学用B样条曲面建立端铣刀与工作台模型,采用真实感图形显示铣床精加工过程。1.2.2国内的研究现状81 近几年来,数控仿真也引起我国科技工作者的关注,目前全国己有许多家科研机构、高等院校和企业正在开展这方面的研究。国家863/cIMs主题组、国家自然科学基金也有专门的研究课题。华中理工大学开发的NCPVSS系统,具有数控铣削加工过程仿真功能,即通过生成刀具轨迹,由三维动画显示数控加工过程,以此发现数控程序错误。同济大学研制的数控程序微机动画仿真系统,以二维图形方式动态模拟加工过程,能满足生产现场实时性要求。哈尔滨工业大学的NCMPS系统,可建立集成的数控加工仿真环境,面向多轴数控加工中心,在图形工作站上实时显示三维多轴数控加工过程。清华大学CIMS工程研究中心开发的“通用加工过程仿真器”已在多家企业得到应用。天津大学的多功能数控机床仿真操作软件系统,可以在WINDOWS平台下虚拟各种数控机床系统进行操作、编程、训练,具有国际150标准G代码编程、加工过程图形仿真显示、编程仿真检错等功能。北京航空航天大学国家863/CIMS设计自动化工程实验室研究的金银花系列产品,以制造业最新国际标准150一10303(STEP)为系统设计的依据;采用面向对象的技术,使用了先进的实体建模、参数化特征造型、二维与三维一体化、SDAI标准数据存取接口等技术。镇江船舶学院研制的数控铣削加工仿真系统可显示零件三向投影和立体图,但毛坯和刀具是由离散点表示,模拟精度受离散点数目影响。合肥工业大学进行了数控车削自动编程的仿真模型,可以动态显示刀具运动轨迹,显示毛坯和零件的实体形状和属性,如冷却液状态,机床参数,切削参数,刀具当前坐标等。大连理工大学开发了数控曲面加工微机仿真器,主要针对曲面加工,如齿轮、凸轮、多边形面等较复杂的切削加工过程。它应用于微机,可进行各种曲面加工过程的模拟并采用数值分析的方法进行加工误差分析。能够对不同的工艺参数进行修改,从而提高加工精度。具有可透视动态仿真和剖视加工体的功能,可自动进行误差分析,给出误差分析图谱。1.2.3发展趋势及存在的问题81 数控仿真技术的研究目前主要集中在三个方面:几何仿真、物理仿真和加工过程仿真。(1)几何仿真切削加工几何仿真也称为数控加工程序验证,即以理想几何图形来检验数控代码是否正确,此时刀具和零件均被视为刚体,不考虑切削参数、切削力及其他因素对切削加工的影响。几何仿真可以减少或消除因程序错误而导致的机床损坏、夹具或刀具干涉碰撞和零件报废等问题,可减少从产品设计到制造的时间,降低生产成本。国内外现存的几何仿真方法主要有两种:精确仿真法和近似仿真法。l)精确仿真法精确仿真法即每次切削时,通过对毛坯和刀具进行布尔减运算而得到的切削后的实体形状,从而实现加工仿真的一种方法。该方法用解析法表示实体,此时的工件模型是数学而非像素模型,并应用支持正则布尔集合运算的构造实体几何法(CSG)和边界表示法(BRep)来实现实体造型。这些造型方法,从理论上讲,能够精确地描述数控加工过程,但由于五轴刀具扫描体和毛坯布尔集合运算的复杂性,使其应用仍旧受到一些限制,加之刀具每切削一次,都需要创建一个新的实体模型,可想而知,其计算量是非常庞大的。对于一个复杂的NC程序而言,应用此法进行仿真需要大量的时间和内存空间,不适合实际仿真需要。2)近似仿真法81 近似仿真法是利用扩展Z缓冲(Z一Buffer)数据结构来完成实时数控加工仿真的。其基本思想是将工件像素化,在仿真过程中先找到刀具运动时的像素点,然后对每个像素点做布尔运算。由于把三维空间的布尔运算简化到一维空间来完成,所以大大减少了计算量。由于该方法没有任何几何运算,且直接访问内存,因此解决了精确仿真法计算量大的弊端,并可产生实时显示效果,适合在微机上实现数控加工过程的实时仿真,并可显示过切、刀具补偿错误等。但其结果依赖于视觉的选择,假如视线改变的话,整个过程必须重新仿真。(2)物理仿真切削加工的物理仿真是将整个工艺系统视为弹塑性实体,对被控对象的一个或多个物理特性及其变化特征进行模拟。由于物理仿真直接影响切削加工的经济性,因此日益受到大学、企业及科研单位研究人员的关注。1995年由美国国家自然科学基金(NSF)重点资助,由伊利诺伊大学牵头,联美国国家自然科学基金(NSF)重点资助,由伊利诺伊大学牵头,联合普渡大学、西北大学对金属切削加工进行工艺建模,进而开展物理仿真的研究工作。由于物理仿真牵连面广,几乎涉及工艺系统的每一个环节,要完整描述切削加工中整个工艺系统的物理性质是非常困难的。目前大多从某一方面对其物理性质进行研究,大致包括预测切削力、预测己加工表面质量、预测刀具切削性能、预测切削的大小及形状和预测工艺系统热变形对加工精度的影响。(3)加工过程仿真81 切削加工过程仿真是将几何形状与物理性质的变化集成在一起,对加工过程进行较为真实模拟的一种仿真形式。为了能充分反映切削加工的实质,在加工过程仿真中仿真模型的建立至关重要。现存的切削加工仿真模型主要有解析模型、有限元模型和分子动力学模型。1.3本论文研究的内容和意义1.3.1研究的目的和内容通过对上面数控加工仿真的分析,考虑到加工过程仿真、物理仿真与几何仿真之间的难度差距,以及本系统所完成的任务,本论文采用了几何仿真作为本系统的研究重点。论文研究的目的:本论文是在导师彭可教授的指导下,研究了数控车床加工仿真系统的相关理论和关键技术,研制出数控车床加工几何仿真系统软件,并通过实例验证了系统的正确性。论文研究的主要内容有:(1)根据数控车床特点,分析了数控车床加工仿真系统,提出了开发本系统的总体设计方案。(2)分析了目前数控系统常用的插补算法,选择极坐标插补做为本系统的插补算法,并编制出相应的插补程序。(3)研究了1506983NC程序词法和语法的特点,编制出NC程序的词法和语法编译模块。(4)研究了WINDOWS操作系统下多线程技术的原理,并利用多线程技术实现了数控车床加工仿真。(5)设计出数控车床仿真系统人机交互界面。81 (6)编制出数控车床仿真系统的帮助模块。1.3.2研究的意义论文主要研究了当前数控系统中常用的插补算法,及如何在VISualC++.NET平台上实现数控车床的加工过程,详细分析了数控车床加工仿真的实现方法和NC程序检验的理论和方法。利用计算机图形技术对已编制的数控程序进行加工过程模拟演示,不但可以检验程序的正确性和合理性,避免由于机床的走刀错误而造成数控设备损坏的危险,而且大大降低了以往采用工艺试切方法带来的高消耗和高成本,缩短了新产品的开发周期。另外,仿真系统的开发也为今后进一步研究开发全软件型数控系统奠定了基础;加工过程仿真还具有辅助优化工艺安排、培训编程人员等实际应用前景。81 第二章数控车床仿真系统总体方案设计2.1数控车床简介数控车床是用计算机数字控制的车床。和普通车床相比,数控车床是将编制好的加工程序输入到数控系统中,由数控系统通过车床X、Z坐标轴的伺服电动机去控制车床进给运动部件的动作顺序、移动量和进给速度,再配以主轴的转速和转向,便能加工出各种形状不同的轴类和盘类回转体零件191。目前,数控车床是使用最为广泛的一种数控机床。2.1.1数控车床的组成数控车床一般由以下几个部分组成。(l)主机它是数控车床的机械部件,包括床身、主轴箱、刀架尾座、进给机构等。(2)数控装置它是数控车床的控制核心,其主体是有数控系统运行的一台计算机(包括CPU、存储器、CRT等)。(3)伺服驱动系统它是数控车床切削工作的动力部分,主要实现主运动和进给运动,由伺服驱动电路和伺服驱动装置组成。伺服驱动装置主要有主轴电动机和进给伺服驱动装置(步进电机或交、直流伺服电动机等。(4)辅助装置辅助装置是指数控车床的一些配套部件,包括液压、气压装置及冷却系统、润滑系统和排屑装置等。2.1.2数控车床的工作原理数控车床的工作原理:根据工件图样的工艺要求,将车床各运动部81 件的移动量、速度,动作先后顺序,主轴转速、转向及冷却等要求,以规定的数控代码形式编制程序单,并输入到机床专用计算机中。然后数控系统根据输入的指令,机床专用计算机进行编译、运算和逻辑处理后,输出各种信号和指令,控制车床各个部分进行规定的位移和动作。2.2仿真系统结构的总体方案设计2.2.1系统总体方案设计的原则为了缩短零件从设计到加工的开发周期,提高加工质量,减少制造费用,目前国内外都在采用图形仿真作为支撑工具。但是鉴于我国目前的实际水平,我们在设计仿真软件时要遵循的原则是:(1)实用性是仿真软件拥有一定实用前景。(2)先进性即设计的系统在主要技术上应具有一定的先进性。(3)可靠性即系统能够准确地模拟数控加工过程,仿真结果可靠。本系统能够根据输入的标准数控代码,计算出刀位轨迹,利用二维图形可靠地反映出实际加工过程。(4)可移植性为了使研究成果进一步推广应用,便于和其它软件集成,仿真软件采用标准的编程语言和图形软件进行编程实现,尽量减少对硬件的依赖性。(5)集成性使本系统能够作为一个模块与其它类似软件相结合,形成内容更加丰富的数控仿真软件。81 2.2.2系统的结构设计对于系统软件的设计,通常分为结构设计和过程设计两个阶段。结构设计的一条基本原理就是程序应该模块化,因此结构设计的主要任务是确定系统程序由哪些模块构成,以及这些模块之间的关系。而过程设计是确定每个模块的处理过程。结构设计是总体设计阶段的任务,过程,设计是详细设计的任务。这里我们只讨论系统的结构设计,过程设计将在以后的章节中做详细的讨论。根据系统的总体设计原则,对本数控仿真系统进行了结构设计。其总体结构如图2.1所示。系统总控制模块加工环境文件管理加工检验加工过程系统帮助机床模块工件模块刀具模块夹具模块代码编辑代码翻译代码检查动画仿真图2.1系统总体结构图由图可知,该系统主要由加工环境和加工过程这两大模块组成。下面就各模块的功能进行介绍。(1)文件管理模块:对系统中的文件进行管理,如数控代码文件、几何模型文件、刀位文件等。(2)加工环境模块:81 由机床、工件、刀具、夹具构成,通过人机交互得到加工条件和切削参数等信息,并生成和显示虚拟加工环境。(3)加工过程模块:是整个系统的核心模块,对输入的代码进行编译、检查,并生成刀具的位置数据,以此来驱动加工过程的进行。(4)动画仿真模块:是通过对加工环境和加工过程两个模块的综合,得到实际加工过程的动画显示。(5)加工检验模块:通过动画的仿真显示,以检验仿真结果的正确性。6)帮助模块:对系统的使用、常用术语、编写NC代码的规则提供详细的解释。2.2.3仿真系统人机界面的结构设计数控车床仿真环境程序控制加工仿真界面数控车床操作仿真界面帮助界面图2.2系统界面结构本仿真系统的界面由数控车床操作仿真界面、程序控制加工仿真界面和帮助界面组成。如图2.2所示。这三个界面的功能实现,并非单纯的调用某一个模块,它们依据任务请求将与上述几个模块产生联系。如数控车床操作仿真界面既要以数控车床、工件、刀具等作为仿真实体,又要加工仿真模块实现动画,还需要越程检查模块进行检测。而在程序加工仿真中,除了同样要调用这几个功能模块之外,还需要数控程序处理模块实现数控代码的数据处理。帮助界面主要针对初次接触本系统的人员,方便他们查阅和学习本系统相关资料。81 2.3仿真系统实现的关键技术2.3.1面向对象的技术简介81 所谓对象是指具有一定结构、属性和功能的实体,采用对象和对象类,以及对象之间的相互通信的消息,描述客观世界中的各种事物及其相互关系,建立面向对象和消息的具有层次结构的世界模型。面向对象的程序设计是通过为数据和代码建立分块的内存区域来提供对程序进行模块化的一种程序设计方法,这些模块可以被用作模板在需要时建立其拷贝。根据这个定义,对象是计算机内存中的一块区域。通过将内存分块,每个模块即对象在功能上相互之间保持独立。另外,定义也表明,这些内存块状中不但存储数据,而且也存储代码,这对保证对象是受保护的这一点很重要,只有局部对象中的代码才可以访问存储在这个对象中的数据。这清楚地限定了对象类具有的功能(即一个对象在一个软件系统中所起的作用),并使对象保护它自己不受未知的外部对它的文件的影响,而使其它的数据和功能遭到破坏。定义还表明,这些内存块中的结构可被用作样板产生对象的更多拷贝。在面向对象的程序中,对象之间只能通过函数调用相互通信。一个对象可以调用另一个对象中的函数,这样,对象之间的相互作用方式是消息控制的,外部对一个对象的代码就没有机会通过直接修改对象的内存区域妨碍对象功能。当对象的一个函数被调用时,对象执行其内部的代码来响应这个调用,这使对象出现一定的行为。行为及其结果就是该对象的功能。对象的这一特点导致了模拟世界的一种新型方法:面向对象就是将世界看成是一组彼此相关并能相互间通信的实体即对象组成的。程序中的对象影射世界中的对象。对象的另一个特点是继承,继承是一个对象可以获得另一个对象的机制,它支持层次分类这一概念。通过继承,低层的类只需定义特定于它的特征,而共享高层的类中的特征。2.3.2面向对象的设计方法面向对象技术的派生关系使我们可以直接从己有的类中获得大量现成的数据成员和属性,而它的多态属性又可以让我们在派生类实体中定义不同于基本实体的属性。用面向对象的方法分析、实现数控车床仿真,其核心和基本内容是抽象对象类,并建立对象类之间的关联。对象类的划分是否合理,对象类间联系是否恰当,一方面影响系统功能,另一方面也直接关系到系统实现起来的难易程度。对象类的设计是一个对客观世界抽象和提炼的过程。在面向对象的设计方法中,对象、类和消息是非常重要的概念。对象和传递消息分别是表现事物及事物间相互联系的概念,类和继承是适应人们一般思维方式的描述。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计方式的基本点在于对象的继承性和封装性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,再辅之以向各对象设计所提供的重载特性以及由此带来的实体多态性,从而构成了面向对象的基本特征。2.3.3面向对象类的建立81 类是对属性和方法的封装,通过封装代码,可以隐藏程序内部实现细节,通过访问属性方法来控制对象。这样做能够使开发人员从程序的复杂逻辑中跳出来,而专注于软件的整体功能设计。由于代码的封装,在改错时可以方便地修改一处代码,便能达到修改所有调用该方法处的代码。所以在开发系统的过程中,将各个功能模块分别建立成具体的类是十分必要的,如毛坯类、刀具类、用于显示的图形视图类、文件管理类等。2.4仿真系统的开发平台C语言是近年来国内外得到迅速推广和使用的一种现代语言。它语言功能丰富、表达能力强,使用灵活方便、应用面广、目标程序效率高、可移植性好,既有高级语言的优点,有具有低级语言的许多特点,因此特别适合于编写系统软件。而随着面向对象技术的发展,越来越多的语言也可视化了。VC++是C的可视化语言,它包括了综合的微软基本类库,这使得开发Windows应用程序变得简单而高效。2.4.2VisualC++编程的要点VisualC++(以下简称VC)是一个功能强大的集成开发环境,其编程的主要的几个方面有:(1)MFC类库MFC是MicrosoftFoundationClassLibrary,它是VC的重要组成部分,编程过程中可直接使用MFC中的类定义对象或在其基础上派生新类。(2)AppWizardAppWizard是VC集成开发环境下的一个工具,实质上是一个高级的代码生成器,按照用户在其对话框中的设置创建Windows应用的基本应用框架,该框架包括一些C++语言的头文件、源文件和资源文件,编译生成的可执行文件具有窗口系统的基本功能。对于不同层次应用的需求,只需在该框架的基础上进行修改。(3)ClassWizardClassW81 izard是VC中对类进行管理的工具,它创建的应用程序框架实际上由应用程序类、窗体类、文档类、视图类(从MFC派生)以及这些类定义的对象组成。利用ClassWizard可以对这些类进行管理,例如增加或删除成员变量和成员函数,定义对键盘、鼠标和菜单响应的消息处理函数,重载MFC虚函数等。(4)文档和视图结构典型的VC应用是文档和视图结构,每个窗口都可以看作由窗体、文档和视图组成,它们分别对应窗体类、文档类和视图类。在AppWizard创建的基本应用框架中,窗体类对象管理窗口的边框、标题和菜单,文档类对象负责窗口中内容的存取,视图类对象负责窗口中内容的显示。(5)消息响应机制消息是人机交互的纽带,所有的键盘、鼠标、菜单事件都通过消息传递到应用程序中,然后再进行处理。窗体、文档和视图对象之间的联系也是通过消息的发送和响应来完成的。此外,窗口的创建和销毁过程中都有大量的消息生成。VC中,对消息的响应是由消息处理函数来完成,通过ClassWizard可以方便地添加对某一消息的消息处理函数。鉴于本论文开发的数控车床加工仿真系统各模块的功能要求,以及VC编程的特点,为了确保仿真图形达到更加逼真的效果,选择了以VisualC十十.NET为本系统的开发平台。81 第三章插补系统的设计与实现3.1概述在机床的实际加工中,被加工工件的轮廓形状千差万别,各式各样。严格说来,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成。然而,在CNC或MNC中,以软件(程序)完成插补或软、硬件结合实现插补,而在NC中有一个专门完成脉冲分配计算(即插补计算)的计算装置一一插补器。无论是软件数控还是硬件数控,其插补的运算原理基本相同,其作用都是根据给定的信息进行数字计算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路线移动。随着相关学科特别是计算机领域的迅速发展,插补算法也在不断地进行自我完善和更新;目前为止已涌现出了大量的插补算法,现将其归纳为两大类。3.1.1脉冲增量插补算法脉冲增量插补算法就是通过向各个运动轴分配脉冲,控制机床坐标轴作相互协调的运动,从而加工出一定形状零件轮廓的算法。显然,这类插补算法的输出是脉冲形式,并且每次仅产生一个单位的行程增量,故称之为脉冲增量插补。而每个单位脉冲对应坐标轴的位移量大小,称之为脉冲当量,一般用咨或BLU表示。脉冲当量是脉冲分配的基本单位,也是对应于内部数据处理的一个二进制位,它决定了数控机床的加精度,对于普通数控机床一般取占=0.0lmm,对于较为精密的数控机床一般取占=0.005mm、0.0025mm或0.00lmm等。81 一般来讲,脉冲增量插补算法较适合于中等精度(如0.01mm)和中等速度(如1~3m/min)的机床CNC系统中。由于脉冲增量插补误差不大于一个脉冲当量,并且其输出的脉冲速率主要受插补程序所用时间的限制,所以,CNC系统精度与切削速度之间是相互影响的。譬如实现某脉冲增量插补算法大约需要40户:的处理时间,当系统脉冲当量为0.00lmm时,则可求得单个运动坐标轴的极限速度约为1sm/min。进一步当要求控制两个或两个以上坐标轴时,所获得的轮廓速度还将进一步降低。反之,如果将系统单轴极限速度提高到15m/m如,则要求将脉冲当量增大到0.01mm。可见,CNC系统中这种制约关系就限制了其精度和速度的提高。3·1.2数据采样插补算法随着数控系统中计算机的引入,大大缓解了插补运算时间和计算复杂性之间的矛盾,特别是高性能直流伺服系统和交流伺服系统的研制成功,为提高现代数控系统的综合性能创造了充分条件。相应地,这些现代数控系统中采用的插补方法,就不再是最初硬件数控系统中所使用的脉冲增量法,而是结合了计算机采样思想的数据采样法。数据采样法实质上就是使用一系列首尾相连的微小直线段来逼近给定曲线。由于这些线段是按加工时间来进行分割的,所以,也称之为“时间分割法”。一般来讲,分割后得到的这些小线段相对于系统精度来讲仍是比较大的。为此,必须进一步进行数据点的密化工作。所以,也称微小直线段的分割过程是粗插补,而后须进一步的密化过程是精插补。通过两者的紧密配合即可实现高性能轮廓插补。81 插补周期界是相邻两个微小直线段之间的插补时间间隔。位置控制周期乓是数控系统中伺服位置环的采样控制周期。对于给定的某个数控系统而言,插补周期和位置控制周期是两个固定不变的时间参数。通常Ts≥TC,并且为了便于系统内部控制软件的处理,当Ts与乓不相等时,则一般要求Ts是TC的整数倍。这是由于插补运算较复杂,处理时间较长;而位置环数字控制算法较简单,处理时间较短,所以,每次插补运算的结果可供位置环多次使用。现假设程编进给速度为F,插补周期为界,则可求得插补分割后的微小直线段长度为ΔL(暂不考虑单位):ΔL=FTS(3-1)插补周期对系统稳定性没有影响,但对被加工轮廓的轨迹精度有影响;而控制周期对系统稳定性和轮廓误差均有影响。因此,选择Ts时主要从插补精度方面考虑,而选择TC时则从伺服系统的稳定性和动态跟踪误差。一般情况下,插补周期Ts越长,插补计算误差也将越大,因此,单从减小插补计算误差角度考虑,插补周期Ts应尽量选得小一些。但另一方面,界也不能太短,由于CNC系统在进行轮廓插补控制时,其CNC装置中CPU不仅要完成插补运算,还必须处理一些其它任务,例如位置误差计算、显示、监控、I/O处理等,因此,TS不单是指CPU完成插补运算所需的时间,而且还必须留出一部分时间用于执行其它相关的CNC任务。鉴于此,要求插补周期Ts必须大于插补运算时间和完成其它相关任务所需时间之和。据有关资料介绍,CNC系统数据采样法插补周期不得大于20ms,使用较多的大都在10ms左右。例如美国AB公司的7360CNC系统中Ts=10.24ms;德国SIEMENS公司的System一7CNC系统中Ts=8ms。但随着CPU处理速度的提高,为了获得更高的插补精度,插补周期也会越来越小。81 CNC系统位置控制周期的选择有两种形式:一种是TC=Ts,如7360系统中TC=TS=10.24ms;另一种是Ts为TC的整数倍,如system一7CNC系统中Ts=8ms,TC=4ms,即插补周期是位置控制周期的2倍,这时插补程序每8ms调用一次,计算出每个周期内各坐标轴应进给的增量长度,而对于4ms的位置控制周期来讲,每次仅将插补出的增量的一半作为该位置控制周期的位置给定,也就是说,每周期插补出的坐标增量均分两次送给伺服系统执行。这样,在不改变计算机速度的前提下,提高了位置环的采样频率,使进给速度得到了平滑,提高了系统的动态性能。总之,一般来讲,位置控制周期界大多在4~20ms范围内选择。3.2插补算法的原理由前面的介绍,知道了脉冲增量插补都有一个共同的特点,就是插补计算的结果是以一个一个脉冲的方式输出给伺服系统,或者说产生的是单个的行程增量,因而统称为脉冲增量插补法或基准脉冲插补法,该方法适合于以步进电机为伺服元件的数控系统。本数控仿真系统所采用的插补算法是基于数据采样插补法。对于数据采样插补,在每一插补周期中,计算出坐标轴在下一个周期应该行进的增长段,计算出相应的动点命令位置坐标值,因此,此类算法的核心问题是如何计算各坐标轴的增长数。对于直线插补来讲,插补所形成的步长小线段与给定的直线重合,不会造成轨迹误差。而在圆弧插补中,用切线近似圆弧具有较大的轮廓误差而不大采用,常用的是弦长逼近法,本系统所用插补算法就是基于数据采样插补法的极坐标插补算法,下面就该算法的原理做详细地介绍。81 3.2.1直线插补原理如图3.1所示,现假设刀具在坐标系内加工直线轮廓只尺,起点为图3.1直线插补示意图PS(xs,ys,zs),终点为PE(xe,ye,ze),程编进给速度为F,插补周期为界。直线插补时,首先根据插补的起点和终点坐标计算出直线的长度L:(3-2)并由式(3一l)求得一个插补周期内进给直线长度为:(3-3)计算出本次直线插补所需要的步数n为:(3-4)n将作为插补结束的判别条件。直线的终点坐标可以用起点坐标表示为:(3-5)式中α、β、γ分别为直线与x轴、y轴、z轴之间的夹角,如图3.1所示。所以81 (3-6)在插补过程中,第i次插补后从起点向终点方向前进了i×ΔL长度,x、y、z坐标轴上分别前进了i×ΔL×cosα、i×ΔL×cosβ、i×ΔL×cosγ,因此所得的坐标为:(3-7)式中:i为正整数,且i≤n。由上面分析可以看出,采用数据采样法进行直线插补时,算法相当简单,且插补轨迹与给定的直线重合,不会造成轨迹误差。3.2.2圆弧插补原理数据采样法圆弧插补的基本思路是在满足加工精度的前提下,用弦线或割线来代替弧线进给,即利用圆弧上相邻两个采样点之间的弦线来逼近相应圆弧的办法。在这里将坐标轴分为长轴和短轴,并定义位置增量值大的轴为长轴,而位置增量值小的轴为短轴。下面以例子介绍本系统所采用的圆弧插补算法。如图3.2所示,以xy平面第一象限的一段顺圆圆弧为例说明圆弧的加工轨迹。设要加工的某段轮廓线为圆弧AB,半径为R,在顺圆弧上的B点是继A点之后的插补瞬时点,两点的坐标分别为A(xi,yi),B(xi+1,yi+1)。81 则由图可知当刀具从A点进给到B点时,对应x轴和y轴的坐标进给量|Δxi|和|Δyi|,由于A、B两点均为圆弧上的点,故它们均应满足圆的方程,即(xi-xc)2+(yi-yc)2=(xi+1-xc)2+(yi+1-yc)2=R2(3-8)式中xi+1=xi+Δxi,yi+1=yi+Δyi,其中Δxi、<Δyi均采用带符号数进行运算,且这里Δxi>0,Δyi<0对于图3.2所示情况,由于|yi|>|xi|,故取X轴为长轴,这时先求Δxi。根据图中几何关系可得|Δxi|=ΔLcosβ(3-9)由于有(3-10)所以有(3-11)根据图中几何关系可得(3-12)式3-12中,它是弦对圆弧AB的逼近误差,由插补原理知当插补进给量相对于圆弧的半径足够小时,这时求式3-12中。可舍去即81 (3-13)81 由于式3一13中Δyi是未知数,因此采用一种近似计算方法来获得,由于圆弧插补过程中,两个相邻插补点之间的位置增量值相差很小,尤其对于短轴(y轴)而言,|Δyi-1|与|Δyi|相差就更小了,这样就可以使用|Δyi-1|近似代替|Δyi|因此而引起的轮廓误差是完全可以忽略不计的,由此可将式图3.2圆弧插补原理图3-13改写成(3-14)所以(3-15)由式3-8可求得(3-16)通常,很小,那么对于递推算式3-15、式3-16而言,和的初值可近似认为(3-17)式中(xs,ys)为圆弧起点坐标通过上述推导过程可以看出,其近似处理过程只对角度a合△a有微小的影响,由于式3~81 8的约束条件保证了任何插补点均处于圆弧上,而其中的主要误差是由于用弦代替弧进给而造成的弦线误差。类似地,当时,应取y轴作为长轴,这时应先求,同理可推得(3-18)3.3插补算法的误差分析在数据采样法直线插补过程中,由于给定轮廓本身就是直线,那么插补分割后的小直线段与给定直线是重合的,也就不存在插补误差问题。但在圆弧插补过程中,一般采用切线、内接弦线和内外均差弦线来逼近圆弧,显然,这些微小直线段不可能完全与圆弧相重合,从而造成了轮廓插补误差。下面就本论文所用的插补算法所引起的误差加以分析。由上面图3.2分析,其最大径向误差er为(3-19)式中R——被插补圆弧半径;——步距角,每个插补周期所走弦线对应的圆心角,且(3-20)反过来,在给定所允许最大径向误差er后,也可求出最大的步距角为(3-21)由于很小,现将(cos/2)按幂级数展开,有81 (3-22)先去其中的前两项,代入式3-19中,得(3-23)可见,在圆弧插补过程中,插补误差er与被插补圆弧半径R,插补周期Ts以及程编进给速度F有关。若Ts越长,或F越大,或R越小,则插补误差就越大。但对于给定的某段圆弧轮廓来讲,在可能的情况下,如果将Ts选得尽量小,则可获得尽可能高的进给速度F,提高了加工效率。同样,在其它条件相同的情况下,大曲率半径的轮廓曲线可获得较高的允许切削速度。3.4软件插补在加工仿真中的实现3.4.1插补流程的设计3.4.1.1直线插补流程设计NY保存数据指针开始n=o?结束计算线段长度计算插补次数n计算下一插补点坐标进给恢复数据指针图3.3极坐标直线插补流程图通过前面的分析可以看出,利用数据采样法来插补直线时,算法是比较简单的,它在CNC装置中分为两个步骤来完成,第一步是插补准备,完成一些常量的计算工作,例如L、cosα、cosβ、cosγ81 的计算,一般对于每个零件轮廓段仅执行一次;第二步是插补计算,每个插补周期均执行一次,主要完成该周期对应坐标增量值(Δxi,Δyi)及动点坐标值(xi,yi)的计算工作。根据以上的步骤可以制作出直线插补的软件流程图,软件流程图如图3.3所示。在这里还要说明的是,第一,数据采样法插补过程中所使用的起点坐标、终点坐标及插补所得到的动点坐标都是带有符号的代数值,而不是象脉冲增量插补算法那样使用绝对值参与插补运算。并且,这些坐标值也不一定转换成以脉冲当量为单位的整数值,也就是说,数据采样法中涉及到的坐标值是带有正、负符号的真实坐标值。第二,求取坐标增量值和动点坐标的算法并非唯一,例如也可利用轮廓直线所围成几何图形间的相似关系比来求得。3.4.1.2圆弧插补流程设计通过在3.2.2.2中对圆弧插补的分析,现将本仿真系统所需的插补公式汇总如下:当时(3-24)当时(3-25)动点坐标为(3-26)对于式3-24和式3-25中“±”号的选取与圆弧所在象限和区域有关。根据长轴和短轴的定义条件可用两条直线y=x和y=-x将xoy平面的四个象限划分成如图3.4所示的四个区域I区、Ⅱ区、Ⅲ区和Ⅳ区。显然,式3-24适用于I区和Ⅲ区,式3-25适用于Ⅱ区和Ⅳ81 区。进一步对于I区而言,由于Y≥0。因此,即其中对于图3.4中,圆心坐标。所以有对于Ⅲ区而言,由于Y≤0,故,即图3.4区域划分所以有同理,对于Ⅱ区而言,根据X≥0,可推得对于Ⅳ区而言,根据X≤0,可推得通过比较上面式子可以看出,这里只需要采用I区和Ⅲ区的两套插补公式就足够了,而Ⅱ区和Ⅳ区的情况则通过符号标志况的转换来实现。另外,由于以上推导过程均是在顺圆情况下进行,若进一步考虑逆圆插补情况后,则还需要引入另一个符号标志又来实现转换,据此设计出程序的流程图如图3.5所示。由于在插补算法中全部采用带符号的代数值进行运算,所以,上述算法不仅能适用于顺、逆圆的插补,而且还能实现自动过象限功能。81 YNYYNYNNY开始顺圆?S2=1S2=-1插补准备、计算、、|x|>|y|?Y>0?S1=1S1=—1S1=1S1=—1到终点?结束X>0?N图3.5圆弧插补流程图的实现81 3.4.2插补程序设计根据插补基本原理和软件流程图的分析可以编写出数据采样法直线插补和圆弧插补软件的程序。由软件流程图可知插补模块程序的实现主要通过循环结构,循环结构保证在未到达终点的时候能继续进行计算直到满足条件为止。本系统插补程序的实现是通过类CInterpolation来完成的,类中函数Line()来完成直线插补,函数Circle()来完成圆弧插补。程序中用到的主要变量:类中函数Line()来完成直线插补,函数Circle()来完成圆弧插补。程序中用到的主要变量:ClassCInterpolation{……Public:floatm_startp_x,m_startp_z;//起点坐标floatm_endp_x,m_endp_z;//终点坐标floatm_delta;//插补步长floatm_deltax,m_deltaz;//X、Z方向上的步长分量floatm_ll;//插补直线饿长度floatm_x,m_z;//目前插补所在的点floatm_lp;//目前插补所在的点距起点的距离(也就是:已经插补的长度)floatm_xx[10000],m_zz[10000];//存放插补计算出来的点坐标81 intm_total;//总共插补点个数……};在本系统的界面上,专门有一标有“ST”的按钮用来测试刀具的插补运动,其参数的设置是通过如图3.6所示的对话框实现的,通过参数设置可实现刀具的直线插补和圆弧插补。81 第四章数控程序编译系统的设计与实现4.1编译技术概述编译源于高级程序语言。从功能上看,编译程序相当于语言翻译程序,即把用一种语言(称作源语言)书写的程序翻译成用另一种语言(称作目标语言)书写的等价程序。编译程序完成从源程序到目标程序的翻译工作,它是一个复杂的整体过程。其整个工作分阶段进行,每个阶段将源程序的一种表示形式转换为另一种表示形式,各阶段进行的操作在逻辑上紧密连接,图4.1给出了一个编译过程结构流程。词法分析表格管理语法分析语义分析中间代码生成代码优化目标代码生成出错管理源程序目标程序图4.1编译过程结构图81 图中将编译过程划分为词法分析、语法分析、中间代码生成、代码优化和目标代码生成六个阶段。另外编译过程还包括两项重要工作:表格管理和出错管理,它们与上述六个阶段都有联系。编译过程中源程序的各种信息被保留在多种表格里,编译各阶段的工作都涉及构造、查找或更新有关表格,因此需要进行表格管理工作;如果编译过程中发现源程序有错误,编译程序应报告错误性质和错误位置,并且将错误的影响限制在最小范围,使得源程序其余部分能继续编译下去,有些编译程序还能自动校正错误,这些工作称为出错处理。下面从源程序在不同阶段所被转换成表格的不同形式来介绍编译程序的逻辑结构及各阶段的具体任务。(1)词法分析和语法分析是本编译程序的核心部分,在4.2节和4.3节中将会做详细的介绍。(2)语义分析其任务是审查源程序有无语义错误,为代码生成阶段收集类型信息。其中一项重要工作是进行类型审查,审查每个算符是否具有语言规范允许的运算对象,当不符合语言规范时,编译程序应报告错误。(3)中间代码生成。经过语法分析和语义分析后,编译程序将源程序变成一种内部表示形式,称为中间语言或中间代码。它是一种结构简单、含义明确的记号系统,可被设计为多种形式,但设计原则应遵循以下两点:一是易生成;二是易翻译成目标代码。编译程序大多采用了一种近似“三地址指令”的“四元式”中间代码,其形式为:(运算符,运算对象1,运算对象2,结果)。81 (4)代码优化。此阶段的任务是对前阶段产生的中间代码进行变换或改造,其目的是使生成的目标代码更为有效,即节省空间和时间。(5)目标代码生成。其任务是将中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。它是编译的最后阶段,其工作与硬件系统结构和指令含义有关,此阶段工作复杂,涉及硬件系统功能部件的运用、机器指令的选择、各种数据类型变量的存储空间分配以及寄存器和后寄存器的调度等诸多方面。为适应具体任务的需要,上述某些阶段可组合在一起。通常,可把编译过程分为前端(frontend)和后端(backend)。前端工作包括词法分析、语法分析、语义分析和中间代码生成,有时还包括某些优化工作,以及与前端每个阶段相关的出错处理和符号表管理工作,总之,前端工作主要依赖于源程序而与目标程序无关。后端工作指那些依赖于目标程序而一般不依赖于源程序,只与中间代码有关的那些工作,即目标代码生成,以及相关出错处理和符号表操作。4.1.1NC代码地址符分析NC代码中常用字符有:(l)数字0~9;(2)字母A、B、C…X、Y、Z;(3)特殊记号+(正号)、一(负号)、/(跳过任意程序段)、ER(程序号)、SP(空格)、DEL(注销码)、·(小数点)等。程序段中表示地址的英文字母可以分为尺寸符和非尺寸符两种。尺寸有X、Y、Z、U、V、W、P、Q、I、J、K、A、B、C、D、E、R、H共18个字母;非尺寸符有N、G、F、S、T、M、L、O共8个字母,除81 了地址符外,NC代码中还包含一些其它字符。4.1.2NC代码程序字分析地址符加上数字或符号就组成程序字,根据IsO6983NC程序标准,通常NC代码程序字有以下几种:1.准备功能(G代码)用来指定机床动作,由地址符G及两位数字构成,如G00来表示快速定位。G代码有如下特点:(1)根据功能不同分为00至18等19个组,同一程序段中可指定多个不同组G代码。在同一程序段内若指定多个同组G代码,则只有最后指定的G代码有效,由于此种情况会降低程序可读性,易引起加工错误,因此本系统给出警告信息。(2)有非模态和模态之分,00组G代码为非模态代码,只在被指定的程序段中有效;其它组G代码为模态代码,在同组代码出现之前一直有效。(3)在固定循环程序段中,若指定01组G代码,固定循环会自动注销,即01组G代码不受固定循环影响。(4)不同NC系统G代码并不一致,同一NC系统的不同型号G代码也不尽相同。2.辅助功能(M代码)用来指定机床辅助功能及状态,由地址符M和两位数字组成。与G代码类似,不同NC系统及同一系统不同型号定义的M代码也有所差别。81 3.主轴功能(S代码)用来指定机床主轴转速(切削速度),由地址S及四位数字组成。NC程序中,指定主轴功能后,还应用M代码指定主轴旋转方向,M03表示主轴正传,M04表示主轴反转。对于有恒定表面速度控制功能的机床,还要用G96或G97配合S代码来指定主轴速度,使之随刀具位置变化而变化,以保持刀具与工件表面的相对速度不变。4.刀具功能(T代码)用来选择刀具,有地址T和两位数字表示,T代码与刀具相对关系可由生产厂家与用户共同商定,也可由使用厂家确定。T代码之后,一般要跟辅助代码M0T来自动换刀。5.进给功能(F代码)用来指定坐标轴的进给速度,用地址F和四位数字表示,在快速定位GOO后不应有F代码。6.第二辅助功能(B代码)用来指定工作台进行分度,用地址B和三位数字表示。7.尺寸字NC程序中,尺寸字一般按如下顺序:X、Y、Z、U、V、W、P、Q、I、J、K、A、B、C、D、E、R。尺寸字可以是坐标尺寸字(绝对尺寸),也可以是增量尺寸字(相对尺寸)。4.2词法分析词法分析是编译过程的第一阶段。其任务是从左到右逐个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出各个单词(也称单词符号或符号),用于语法分析。这里的单词指逻辑上紧密相连的一组字符,且这组字符具有集体含义,是最小的语法单位,在数控代码中也称为程序字。如准备功能代码是由字母G和两位数字构成。81 为了有效地从源程序文本中分离出这些单词,需先对源程序文本输入字符串进行编辑,以消除输入代码中的注释、空格、换行符以及其它一些对语法分析和数据处理无用的信息。词法分析后最终以中间代码的形式保存有用的程序段。词法分析的工作原理是首先从输入字符串(一行数控程序)中识别一个单词,然后从初始状态出发,逐个输入该单词的字符,通过查词法分析表获得相应的状态值,如果每个字符都找到与之匹配的状态值,则单词通过词法分析,否则报错。4.3语法分析4.3.1语法分析实现原理语法分析是编译程序的核心部分,其作用是识别由词法分析给出的单词序列是否符合给定的文法形式。4.3.1.1文法的概念文法的概念文法G定义为四元组(VN,VT,P,S)。其中,VN为非终结符(或语法实体、变量)集;VT为终结符集;P为产生式(也称规则)的集合;叽、VT和P是非空有限集。S称为识别符号或开始符号,它是一个非终结符,至少要在一条规则中作为左部出现。VN和VT不含公共元素,即VN∩VT=Ø。一般用v表示VN∪VT,v称为文法G的字母表。通常,不将文法G用四元组显式表示,而只写出其产生式。一般约定,第一条产生式左部是识别符号;用尖括号括起来的为非终结符,不用尖括号括起来的为终结符。终结符即构成语言文法的单词,是语法成分的最小单元,而非终结符则是一个语法成分,书写语言程序中并不出现,是由终结符、非终结符串或终结符串定义的。对于NC代码编译而言,终结符指程序字,它是组成NC程序的最小单元,而程序段、分程序等均为非终结符。乔姆斯基(Chomsky)于1956年建立了形式语言的描述理论,把文法分成四种类型,即0型、1型、2型、3型,它们之间的差别在于对产生式有不同限制。(1)0型文法设G=(VN,VT,P,S),如果其每个产生式都81 是这样一种结构:α∈(VN∪VT)且至少含有一个非终结符,而β∈(VN∪VT),则G是一个O型文法。0型文法亦称短语文法。任何0型语言都是可递归可枚举的;反之,递归可枚举集必定是一个0型语言。(2)1型文法设G=(VN,VT,P,S),若P中每个产生式α→β均满足│α│≤│β│(│α│和│β│分别是α和β的长度),仅S→ε除外,则文法称为1型或上下文有关的。(3)2型文法设G=(VN,VT,P,S),若P中每个产生式α→β均满足:α是一非终结符,β∈(VN∪VT),则文法称为2型或上下文无关的。(4)3型文法设G=(VN,VT,P,S),若P中每个产生式的形式都是A→B或A→a,其中A和B都是非终结符,a是终结符,则G称为3型或正规文法。四个文法类的定义逐渐增加限制,每种正规文法都上下文无关,每种上下文无关文法都是上下文有关的,而每一种上下文有关文法都是0型文法。称为0型文法产生的语言为O型语言,上下文有关文法、上下文无关文法和正规文法产生的语言分别称为上下文有关语言、上下文无关语言和正规语言。同多数程序设计语言一样,NC代码语法能用正规文法(3型文法)描述。文法分析完成的是“单词”级的分析检查工作,而语法分析完成的是“语句”级81 的检查工作。要检查语句内部的完整性和正确性以及语句之间的相容性。语法分析采用的是自顶向下的分析方法,也叫递归下降分析方法。采用此分析方法,从语法规则的最顶部非终结符开始,然后向下逐步分析直到终结符出现。在数控代码中,各条语句的类型由起始符决定,下一条语句的起始符可以作为上一条语句的终止符。起始符包括各类语句的开始地址符,如“X”,“Y”,“G”,“F”,“S”,“T”,“M”,“U”,等。语法分析的流程图如图4.3所示。YYNN取单词有无一次单词开头的语句?执行此语句的处理程序程序段是否结束退出出错处理图4.3程序段的语法处理框图4.3.2语法分析中的错误类型(l)同一地址重入问题在数控系统中一般规定地址不得重入(G,M除外),即在一段数控码段中同一地址符出现的次数不能多于一次。可以对这个地址符的编程次数做一个统计标志,初态为零,遇到该地址符编码时增一,一段数控代码分析完后检查各个地址符的统计标志,如大于一则报错。(2)同组G、M代码重入问题数控系统中不允许同一数控代码程序段中出现多于一个的同组G、M代码指令语句。实现此类差错处理是对符号表中的每组G、M代码的内容进行检查。开始译码时设置各组代码为初态,当有一个G、M指令进行G、M代码组赋值时,则其所对应的代码组改变状态。如果同组中有另一个G、M指令进行G、M代码组赋值时,检查符号表中代码组的状态,不为初态则说明有多于一个同组G、M代码在本代码段指定,产生报警信号。81 4.5系统功能的实现4.5.1NC代码编译的实现NC代码的编译过程就是根据前面介绍的原理方法,将数控加工信息依次读出,按照数控指令语义将其翻译成实际刀具中心轨迹的节点坐标值并存入缓冲区中。本系统所采用的数据结构为链表,链表定义为:StructList{Doublex;//节点坐标xDoublez://节点坐标yDoublecx;刀圆弧插补的圆心坐标Doublecz洲圆弧插补的圆心坐标Intgcode;//G代码Intmcode;//M代码Inttoolnum://刀具号……StructList*next;//指向下一点的指针StructList*next;//指向下一点的指针}*head,*cur,*pq://定义链表头指针、临时指针、结点指针变量4.5.2编译系统界面的功能介绍本编译系统的功能主要由四个模块组成,如图4.4所示,即NC代码文件管理、NC代码的编辑修改、编译、以及编译系统的在线帮助。编译系统功能界面的结构如图4.5所示。81 (l)文件管理及编辑修改从图4.5可知,界面设计完全是Windows风格,对NC代码的处理都设置了按钮。该模块的功能与普通的高级语言的编辑功能相同,可以完成数控程序的编辑修改以及文件的存储管理。(2)代码的编译用户界面文件管理编辑修改编译帮助图4.4编译系统功能临时指针、节点指针变量选择界面上的编译按钮,就可开始对界面屏图4.5编译系统界面幕上的数控代码进行词法、语法的检查处理。检查时读入当前屏幕上的数控程序,逐段检查,查出的每一个错误都将在下面的出错屏幕上显示出来,显示出错误语句的行号、错误的类型以及原因。这样我们就可以方便的找到错误位置并修改和编辑屏幕上的数控程序,直到没有错误产生为止。在图4.5中,上面的屏幕上显示的为一个测试例子,下面的错误显示屏幕上则给出了出错语句的相关信息。81 第五章基于多线程的仿真加工的实现5.1软件的实时性PCNC软件系统一般都包括:读取处理后的NC文件——译码——轨迹插补计算伺服控制这样一个基本的加工循环,在未运行完最后一条NC语句前,该循环将一直进行。显然,两次循环之间总存在一定的时间间隔,而时间间隔的长短需要根据实际加工对实时性的要求来确定。对于控制精度要求不高的情况可以直接用Windows的计时器计时,在达到设定的时间后,计时器发出WM—TIMER消息到应用程序的消息队列中,如果将上述循环程序放在WM—TIMER消息的处理函数中,就可以方便地实现定时。但这种方法存在两个问题:一是WM—TIMER消息的优先级比较低,只有当系统处理完消息队列中优先级较高的消息后,才会处理WM—TIMER消息;二是计时器是以PC硬件的时间中断次数来确定计时的长短,而时间中断的周期是以系统电子911的时间为基准,固定4.95ms。由此可见,计时器的实际精度大于55ms,只能用于实时性要求不高的场合。大多数情况下,计时器都不能满足要求。为了增强控制程序的实时性,可以采用软件延时的方法,即在上述循环中放一段延时语句。对于毫秒级的延时精度,可通过调用windows的API函数timeGetTime来实现,该函数采用了基于BIOS的时间基准。以下是VC++中实现毫秒级延时的例子。Voiddelaytime(inttimdelay){DWORDm_timerl;81 m_timerl=timeGetTime();while((timeGetTime()—m_timerl)gcode=o:Pq->m_bmotion=TRUE:}if((buffer[i+l]==’0’)&&(buffer[i+2]==’l’)){……}}if(buffer[i]==’X’||buffer[i]==’x’){intl=0;i=i+l;while((buffer[i]>=’0’)&&(buffer[i]<=’9’)||(buffer[i]==’.’||(buffer[i]==’1‘)){jiance[1]=buffer[i];i++;l++;}jiance[l]=’’:Pq->x=atof(jiance);}if(buffer[i]==’Z’||buffer[i]==’z’)81 {……}}接下去的程序要根据已经判别出的G01、G02、G03等转入相应的插补程序中。6.3动画的显示6.3.1图像处理概述图像处理技术的概念和基本机制,就是计算机的图形显示信息被保存在帧缓冲存储器中,系统将该存储器中的数据图形信息通过光栅扫描方式映射到屏幕上,从而形成图像。应用程序可以通过对帧缓冲存储器中的图像信息进行拷贝、复制、移动和缩放等操作,而对所有显示图像进行相应的处理,生成所需要的图像。图像处理技术是图形变换技术和帧动画技术的高度综合和具体实现。对加工过程进行仿真,则是利用计算机图形学的手段,通过动画的形式形象、直观地模拟数控加工的切削过程,直接观察在切削过程中可能遇到的问题,并反复调试、直到得到满意的结果,从而避免由于机床的走刀错误而造成数控设备损坏的危险,并可以大大缩短新产品的开发周期,满足企业制造坯料少,品种多,周期短的要求。因此,动画实现技术是数控加工仿真的关键和基础。81 图形仿真为数控加工提供了一个有力的手段,其优越性在于:l)传统的数控系统一般没有图形仿真,只有通过高速空运行来验证NC代码,这样既不直观,又浪费时间,如果采用试切则浪费时间和材料。因此采用图形仿真比空运行或试切方法更方便、更直观、更灵活。2)NC代码信息量大,图形仿真有助于操作者检查到编译无法检查到的加工路线和工艺路线错误,以获得最佳加工路线。因此图形仿真对实现高效率,高质量的零件程序编制,保证加工精度和效率、减少废品率、缩短生产周期、降低成本并提高生产的安全性具有十分重要意义。6.3.2仿真系统的动画显示方法在计算机图形技术中,目前常用的动画技术主要有以下三种:多页面切换技术、图段变换技术和帧动画技术。(l)多页面切换技术这种技术称为“页面共振”技术。对于某些图形系统,显示模式允许有一个以上的显示页面,其中一页被定义成主显示页,其余页面作为图形显示页。在主显示页显示的同时,下一幅图形可放置在工作页上,然后再把工作页切换成主显示页,如此反复进行,每次用新图形代替旧图形,从而形成动态变化过程。(2)图段变换技术图段是图形的一部分或者是整体。在光栅系统中,点阵图段(图符)可以直接从屏幕上获得,获取的图段作为一个点阵文件和土块存储到磁盘上或缓冲区中,然后再调用另一图段显示操作,将它们放置在屏幕的指定位置,通过变换不同的输出屏幕位置,就产生了图段图形的连续移动,也就产生了图段变换动画。由图段动画的定义可以看到,图段动画和其它动画技术相比有其特定的优点,图段可以预先定义和预先存储,并将这些图段(过程或者点阵)作为公共子过程或图符文件存放起来,在需要的时候调出直接进行绘制和标记,也可以大大小计算量,但增加了存储量。81 (3)帧动画技术帧动画技术是对显示帧缓冲区直接操作和填写的过程,根据填写的内容不同而产生的快速屏幕切换,形成了类似于放电影的一帧一帧的逐帧切换。帧动画的原理是:屏幕上的图形是存储在显示帧缓冲区中颜色信息的直接影射,只要将像素的颜色信息直接写入帧缓冲区的指定位置,在屏幕的对应位置上就能立刻显示出相应的图形和图像。计算机生成或实现动画的方式很多,但大体上主要有帧方式和实时方式。帧动画方式是指由计算机生成动画中的每一帧画面,并将其纪录下来,然后根据不同的需要,按不同的速度播放。它的优点是可以按令人满意的速度播放,缺点是不能根据用户的要求交互改变,应用范围小。实时动画方式是指可实时绘制画面并直接在显示器上显示画面的计算机动画,交互能力强,可以根据用户的要求实时改变画面。在本系统中,采用的就是实时动画的显示方式,用户输入数控程序后,系统根据程序来仿真加工过程,体现了加工过程与数控程序的统一性。6.3.3刀具动画的显示在仿真过程中,刀具的动画显示是非常关键的一个部分。必须将刀具的切削运动过程逼真地反映出来,使得用户可以最大限度地从图像显示中获得对整个切削过程的分析和检验。刀具显示的最大问题是如何实现在前后两个切削位置处刀具图像的交替显示,而且在图像的交替显示过程中的计算和显示的速度不能响应整个图形的动画效果。刀具运动的动画显示有两种实现方法:图像编辑方法和异或方法。81 (l)图像编辑方法在刀具的显示中,采用图像编辑的方法能生成具有较强真实感的刀具运动效果。计算机的图形显示信息被保存在帧缓存存储器中,系统将该存储器中的图形数据信息通过光栅扫描方式映射到屏幕上,从而形成图像。应用程序可以通过对帧缓存存储器中的图像信息进行拷贝、复制、移动和缩放等编辑操作,生成所需要的图像,图像编辑方法是图段变换技术和帧动画技术的综合应用。该方法适合开发三维仿真系统,而基于本论文所开发的为二维的仿真系统,所以采用了另外的一种方法一一异或方法。(2)异或方法异或显示是交互式图像技术中的一种重要的绘图模式和技术。在异或绘图模式下,在原有图像位置处重新显示一遍原图像,颜色在写入帧缓存时与缓存中原有颜色值进行异或逻辑运算,该异或操作消除了上一次绘图的结果,并在图形显示效果上恢复上一次绘制之前的结果。异或技术常用于交互式图形系统中的图形牵引技术和橡皮筋技术,为用户提供良好的交互手段。异或技术是数控加工中实现刀具动态显示的一个有效手段,在某一切削位置处,在异或模式下连续绘制两次刀具,后一次的显示擦除了前一次显示的效果,在整个仿真过程中刀具的显示是连续和平滑的,很好地模拟了真实空间中刀具的运动过程。因此,本系统的开发采用了异或技术。6.4实例验证与分析6.4.1实例在车床加工仿真系统中,首先通过点击系统中第一面板上的“打开”按钮,打开一个选择程序文件对话框,选择车削的数控加工程序,这时显示屏幕上将显示出所选择的NC代码;然后通过点击“编译”按钮对仿真程序进行词法分析、语法分析和语意识别,根据解释结果得到仿真加工数据;如果存在错误或者是不符合本系统的程序编码规则,则在“错误显示”的屏幕上将显示出来,并给出错误原因。81 图6.4零件图图6.5零件仿真效果图本数控仿真系统的目的就是检验数控代码的正确性。下面通过一实例来演示数控加工过程,检验本仿真系统的实用性。如图6.4所示某异形轴零件,其加工程序单如下所示,仿真过程如图6.1所示,零件仿真结果如图6.5所示。加工程序:%0001N0010G92X580.0Z500.0;N0020GOOX400.0Z278.0;NO030GolX40O.0Z248.0;NO04OG01X38O.0Z248.0;NOO5OG01X38O.0Z252.0;N0060G0lX340.0Z258.0;NOO7OGO2X3O8.0Z258.0I-16.OK-12.0;NOO8OGO3X276.0Z258.0I-16.0K12.O:NOO9OGO1X246.0Z268.0;NO100G01XZ16.OZ268.0NO110GOOX58O.Z2500.0NO120MO281 第七章结论与展望7.1结论本论文以VC++.NET为开发工具,在查阅大量国内外参考文献的基础上,开发出了一套数控车床加工仿真系统,并通过实例将它运用到了数控车床加工程序的检验中。围绕这一目的,本文取得了以下主要结论:(l)根据数控车床的结构及工作原理,提出了数控车床加工仿真系统的总体设计方案。(2)通过分析和比较插补算法的原理,提出了本系统所采用的插补计算的实现方法,实现了插补模块的编程。(3)实现了数控程序编译模块,即对数控程序进行词法、语法及非法代码的检验,并将数控程序翻译成刀位文件,帮助程序员校验数控程序的正确性和合理性。(4)研究了WIND0WS操作系统下多线程技术的原理,实现了本系统所采用的插补线程、编译线程及加工信息显示线程的程序设计。(5)某些功能相似或处理相同的地方用面向对象的形式进行封装与继承,既保持了层次性,又具有了模块化的特征,可方便地进行移植和扩充,在某种程度上避免了重复开发;使用VC++面向对象的编程方法,增强了程序的可移植性。在开发本系统的过程中,涉及到的关键技术有:(l)数控加工方面有数控车床结构和加工原理、数控编程和插补计算等;(2)软件开发有面向对象的设计和编程Windows编程和多线程技术;81 (3)编译技术方面有词法分析、语法分析等;(4)计算机图形学方面有二维物体的动画显示等。7.2展望针对本论文所开发的数控车床仿真系统,本系统只做了数控仿真领域方面的基础性工作,离一个完整的、实用的、能够全面推向市场的数控加工仿真系统还有一定差距,为此,对本系统中需要进一步研究和完善的几个方面提出建议:(1)鉴于本系统的侧重点,所以在工件库、刀具库、夹具库等模块需要进一步的完善;(2)在插补模块的实现中,只是实现了基本的直线插补和圆弧插补,对于更复杂的曲线插补的实现还需要进一步的开发;(3)在数控加工仿真的实现中,仅仅实现了几何仿真,对于物理仿真的实现还需要进一步的研究,以使系统能够在加工精度、切削力、刀具变形等这些部分的仿真上加以完善;(4)在进一步的开发中,要考虑刀具补偿问题。另外,发展通用的全软件开放式数控系统己成为当今国际数控行业研究的热点,代表着数控技术发展的最新潮流。全软件数控系统由用PC+I/O接口卡构成。这种模式是将I/O接口卡插入到PC机的标准插槽中,整个系统是由PC扩展而成。数控系统所有的非实时任务和实时任务都由PC完成。I/O接口卡实现PC与控制目标之间的沟通及驱动接口的任务。PC+I/O接口卡模式的全软件数控系统才是真正意义上的开放式数控系统,能实现NC内核的开放、用户操作界面的开放。81 致谢本文是在彭可教授的悉心指导下完成的。彭老师无论在学习还是生活上都给了我无微不至的关怀和照顾。彭老师工作繁忙,但他总是抽出时间来给予我指导、鼓励我克服在学习研究时遇到的每一个难题。他严谨的治学态度、诲人不倦的师德作风以及他献身科研教学事业的精神时刻激励着我,鞭策我永远奋发向上,伴随我克服未来人生道路上的艰难险阻。至此论文完成之际,谨向尊敬的老师表示最诚挚的谢意和崇高的敬意。四年大学生活期间我得到了热心助人的辅导员叶国红老师的亲切关怀,得到了孙红英、黄力多等机械系老师的殷勤教导。他们用渊博的理论知识、严谨的治学态度、求实的工作作风深深地教育着我,将使我在以后的学习、工作和生活中受益匪浅。在此向他们表示我最崇高的敬意和最诚挚的感谢。同时我还要对我的同学们表示感谢,感谢他们四年来的陪伴与关心,感谢他们帮助我织造了一段美好而难忘的大学回忆。81 参考文献[1]张根保.自动化制造系统.[M]北京:机械工业出版,1999.5[2]葛研军等.数控加工关键技术及应用.[M]北京:科学出版社,2005.[3]张铁军等.虚拟机床加工系统研究[J].制造技术与机床,1999.[4]王印芬.三维数控加工仿真的应用研究[D].北京航空航天大学硕士论文,2000.[5]范柄炎.数控加工程序编制[M].航空工业出版社,1990.[6]杨立.数控教学仿真系统的研制[J].实验技术与管理,1999,4.[7]郭成操.图形仿真加工系统的研究与开发[D].四川大学硕士论文,2003,5.[8]姬舒平,刘卡林,周继明,马玉.NCVrification的研究现状及展望[J].组合机床与白动化加工技术,1997.[9]魏志强.车削加工数控自动编程及数控程序仿真系统的研究[D].哈尔滨工业大学硕士论文,1995,3.[10]王令其,陶宁虎.数控加工过程计算机仿真软件设计[J].制造技术与机床,1998,11.[11]孙飞,林巍.VISua1C++.NET入门与提高.北京[M]清华大学出版社,2002.7[12]OliverJH,GoodmanED·DirectDimensionalNCVerifieation[J].ComputerAidedDesign,1990.[13]王爱玲,沈兴全等.现代数控编程技术及应用[M].国防工业出版社,2002.81 [14]王朝阳,李培根等.NCPROOT一个用于NC程序检验的仿真软件[J].机械工业自动化,1992,2.[15]Gorssman,D.D.,OpportunitiesforResearchonNumericalControlMachining[J].CommunicationsoftheACM,1986.[16]钱晓峰.数控加工仿真中的动画技术.数据采集与处理[J],2000,15(1).[17]赵继政,魏生民,杨彭基.数控加工的图形仿真与验证技术研究[J].西北工业大学学报,1998,4.[18]郁极,胡梅梅.数控车床图形仿真功能及其实现[J].机械工业自动化,1996,18(2).[19]飞思科技产品研发中心.VISualC灵感编程.[M]北京:电子工业出版社,2002.8[20]韩向利,袁哲俊,肖田元,温秀梅.直线与刀具扫描体求交算法及其应用研究[J].计算机辅助设计与图形学报,1997,2.[21]田美丽.数控车削加工仿真技术的研究[J].制造技术与机床,2001,10.[22]周长发.VisualC+十.NET多媒体编程.北京:电子工业出版社,2002.6[23]黄文丽.数控车床仿真培训环境技术研究:[硕士学位论文].大连:大连铁道学院,2001.12[24]HsuPL,YangWT.Realtime3Dsimulationof3-axisturningusingisometricprojection[J].Computer-AidedDesign,1993,4.[25]W.P.WangandK.k.Real-timeVerifationofMultiaxisNCprogramswithRasterGraphics.Pro.IEEERobot[J].&Atuomat,1986,4.81 [26]杨合明.数控加工过程仿真系统的研究[J].机械学:华中理工大学,1994,5.[27]JerardRB,DrysdaleRL.MethodsofDetectingErrorsinNurmericallyControlledMachiningofSculpturedSurface[J].ComputerAidedDesign,1990,22(1).[28]张晓萍,骆建彬.仿真技术在制造业中的应用[J].中国机械工程,1995,2.[29]范成林,邓建春,喻道远.一个数控程序的检验仿真系统[J].机械加工,1996,2.[30]余彬,刘容忠.基于OPENGL的数控加工仿真系统的研究[J].四川大学学报,2001,5.[31]TimVanHook.Real-TimeShadedNCTurningDisplay[M].ComputerGraphics,1996,4.[32]王贤坤,陈淑梅,陈亮.机械CAD/CAM技术应用与开发[M].机械工业出版社,2001,2.[33]Wangw,Wangk,Geomitricmodelingforsweptvolumeofmovingsolis[M].ComputerGraphandApplicant,1986,22.[34]寇有顺,倪亚军.数控机床编程[M].北京,北京理工大学出版社,1996.[35]TimVanHook,Real-timeShadedNCMillingDisplay[M],ComputerGraphics,1996,4.[36]郭培全,王红岩.数控机床编程与应用[M].机械工业出版社,2000,81 9.[37]王爱玲,张吉堂,吴雁.现代数控原理及控制系统[M].北京国防工业出版社,2002.1[38]辛长安,梅林.VC+十编程技术与难点剖析.[M].北京清华大学出社,2002.4[39]李博轩等.Visua1C++图形用户界面开发指南[M]..北京:清华大学出版社,2000.11[40]张建钢,胡大泽.数控技术[M].华中科技大学出版社,2000,8.[41]Chang,K.Y.andGoodman,E.D.AMethodforNCToolPathInterfereneeDeteetionforAMultiAxisMillingSystem,ASMEContr-01ofManufaeturingProeess,DseVol.28/PED一Vol.53,1991,23~30[42]OzdenM.GraphiealprogrammingofsimulationmodelinanObjeetorientedenvironment.SIMULATE,1991,55(2):104~10681 译文:计算机辅助编制工艺规程根据《工具与制造工程手册》,工艺过程是能够经济地和有竞争力的将产品制造出来的一整套方法。它主要有选择、计算和建立工艺文件组成。对加工方法、机床、刀具、工序和顺序必须进行选择。对于一些参数如进给量、速度、公差、尺寸和成本等应该进行计算。最后,应该建立工作过程安排、加工说明、带工序简图的工艺过程卡片和加工路线等方面的工艺过程。工艺过程是产品设计和制造的中间环节。那么,它是如何将设计与制造连接起来的呢?大部分制造工程师都会同意这个看法,即如果10个不同的工艺人员编制同一个零件的工艺过程,他们很可能得出10种不同的方案。显然,所有这些方案都不能反映最适当的制造方法,而且,事实上不能保证它们中的任何一个方案是由加工这零件的最好的方法组成的。在目前的制造过程中的一个更为混乱的事情是,对于一个零件来说,现在所编制的工艺过程相差很多,而且这个工艺规程可能再也不会应用于同一个零件或者相似零件。这说明很多工作都被浪费了,而且在工艺路线、工艺装备、对工人的要求和成本等方面都不一致,甚至对外构件的要求都不一样。当工艺规程不应该是一成不变的。随着产品批量的变化和新技术、新设备、新加工方法的出现,加工制造某一特定零件最适当的方法也会发生变化,而且这些变化应该在车间目前使用的加工工艺规程中反映出来。81 工艺人员应该管理和检索大量的数据和很多文件,其中包括:已经建立了的标准、可加工型数据、机械的规格、工艺装备的清单、原材料库存量和一些目前正在应用的工艺文件。这主要是一些信息处理工作,而计算机是完成这项工作的一个理想助手。在编制工艺过程时应用计算机还有一个优点。因为这项工作涉及到许多相关联系的事情,在确定最优秀的方案时,需要进行许多迭代。由于计算机可以很容易地进行大量的比较工作,它比人工所能够分析的可供选择的方案要多得多。采用计算机辅助编制工艺过程的第三个优点是所编制的归程具有一致性。采用计算机辅助编制工艺规程可以获得以下几点好处:(1)采用文字处理技术,产生更详细、更一致的工艺文件;(2)更有效地利用库存的刀具、量具和夹具,减少这些物品的种类;(3)由于能够使工艺规程适合于某一项特定的工作,而且用清楚的、有理有据的语言表达出来,因此,可以与车间的人员进行更好的交流;(4)可以更好地获得编制工艺规程所需的信息,其中包括∶刀具寿命、预测、材料需求计划、进度和库存控制。在准备工艺文件时,减少了书写工作量;(5)减少了在进行人工计算时所产生的错误;(6)由于交互式计算机程序的提示功能而减少了在逻辑和说明方面的疏漏;(7)通过中心数据库可以直接利用最新的信息;81 (8)由于每一个工艺人员都利用相同的数据库,因此,可以保证信息的一致性;(9)对有其他部门的工程人员所提出的修改意见作出快速反应;(10)自动地利用最新版本的零件图纸。81 英文文献:ComputerAidedProcessPlanningAccordingtotheTool&ManufacturingEngineersHandbook,processplanningisthesystematicdeterminationofthemethodsbywhichaproductistobemanufacturedeconomicallyanddocumentation.Processes,machines,tools,operations,andsequencesmustbeselected.Suchfactorsasfeeds,speeds,tolerances,dimensions,andcostsmustbecalculated.Finally,documentsintheformofsetupinstructions,workinstructions,illustratedprocesssheets,androutingsmustbeprepared.Processplanningisanintermediatestagebetweendesigningandmanufacturingtheproduct.Buthowwelldoesitbridgedesignandmanufacturing?Mostmanufacturingengineerswouldagreethat,iftendifferentplannerswereaskedtodevelopaprocessplanforthesamepart,theywouldprobablycomeupwithtendifferentplans.Obviously,and,infact,thereisnoguaranteethatanyoneofthemwillconstitutetheoptimummethodformanufacturingthepart.Whatmaybeevenmoredisturbingisthataprocessplandevelopedforapartduringacurrentmanufacturingprogrammaybequotedifferentformtheplandevelopedforthesameorsimilarpart81 duringapreviousmanufacturingprogramanditmayneverbeusedagainforthesameorsimilarpart.Thatrepresentsalotofwastedeffortandproducesagreatmanyinconsistenciesinrouting,tooling,laborrequirements,costing,andpossiblyevenpurchaserequirements.Ofcourse,processplansshouldnotnecessarilyremainstatic.Aslotsizeschangeandnewtechnology,equipment,andprocessesbecomeavailable,themosteffectivewaytomanufactureaparticularpartalsochanges,andthosechangesshouldbereflectedincurrentprocessplansreleasedtotheshop.Aplannermustmanageandretrieveagreatdealofdataandmanydocuments,includingestablishedstandards,mach-inabilitydata,machinespecifications,toolinginventories,stockavailability,andexistingprocessplans.Thisisprimarilyaninformation-handlingjob,andthecomputerisanidealcompanion.Thereisantheradvantagetousingcomputerstohelpwithprocessplanning.Becausethetaskinvolvesmanyinterrelatedactivities,determiningtheoptimumplanrequiresmany-iterations.Sincecomputercanreadilyperformvastnumbersofcomparisons,manymorealternativeplanscanreadilyperformvastnumbersofcomparisons,manymorealternativeplanscanbeexploredthanwouldbepossiblemanually.81 Athirdadvantageintheuseofcomputer-aidedprocessplanningisuniformity.Severalspecificbenefitscanbeexpectedfromtheadoptionofcomputer-aidedprocess-planningtechniques:(1)Fewercalculationerrorsduetohumanerror;(2)Feweroversightsinlogicorinstructionsbecauseofthepromptingcapabilityavailablewithinteractivecomputerprograms;(3)Immediateaccesstoup-to-datainformationfromacentral;(4)Consistentinformation,becauseeveryplanneraccessesthesamedatabase;(5)Fasterresponsetochangesrequestedbyengineeringofotheroperatingdepartments;(6)Automaticuseofthelatestrevisionofapartdrawing;(7)More-detailed,more-uniformprocess-planstatementsproducedbyword-processingtechniques;(8)More-effectiveuseofinventoriesoftools,gagesandfixturesandaconcomitantreductioninthevarietyofthoseitems;(9)Bettercommunicationwithshoppersonnelbecauseplanscanbemorespecificallytailoredtoaparticulartaskandpresentedinunambiguous,provenlanguage;81 (10)Betterinformationforproductionplanning,includingcutter-life,forecasting,materials-requirementsplanning.81'