西安科技大学研究生考试试卷学号201403086姓名赵远飞所在学院机械工程学科、专业机械电子工程考试科目现代数控技术考试日期2015年5月课程学时32开(闭)卷开卷题号分数阅卷人12345678s10总分注意事项1、考生必须遵守考场纪律。2、答题必须写清楚题号。3、字迹要清楚,保持卷面整洁。4、试题随试卷一起交回(试题写在黑板上时,答题时应抄写题目)。赵远飞(西安科技大学机械工程学院,陕西西安710054)摘要:文中介绍了数控插补原理,以直线插补为例,理论分析了插补的宏观运动轨迹,推导出插补运算公式,并在MFC平台下对数控插补运算编程,实现数控插补动态仿真,使其更为直观可视。关键词:数控插补;MFC;动态仿真;可视化0引言在数控实际加工中,被加工工件的轮廓形状千差万别,严格来说,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成,对于简单的曲线数控系统可以比较容易地实现,但对于较复杂的形状,若直接生成会使算法变得很复杂,计算机的工作量也相应地大大增加,因此在实际应用中,常采用一小段直线或圆弧去进行拟合以满足精度要求,这种拟合方法就是“插补”,实质上插补就是数据的密化过程。插补的任务是根据进给速度的要求,在轮廓起点和终点之间计算出若干个中间点的坐标值,每个中间点计算所需时间之间影响系统的控制速度,而插补中间点坐标值的计算精度又影响到数控系统的控制精度,因此,插补算法是整个数控系统控制的核心。插补算法经过几十年的发展,不断成熟,种类很多,一般说来,从产生的数学模型来分,主要有直线插补、二次曲线插补和数据采样插补。脉冲增量插补和数据采样插补都有各自的特点。本文将以逐点比较法直线插补为例,并在MFC基础上仿真出插补过程。1MFC简介1.1MFC概述MFC:微软基础类(MicrosoftFoundationClasses),同VCL类似,是一种应用程序框架,随微软VisualC++开发工具发布。目前最新版本为10.0(截止2011年3月),并且发布了中文版。该类库提供一组通用的可重用的类库供开发人员使用,大部分类均从CObject直接或间接派生,只有少部分类例外。MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC提供了MFCAppWizard自动生成框架。1.2MFC软件特点MFC是微软封装了的API。Windows作为一个提供功能强大的应用程序接口编程的操作系统,提高了程序员编程效率,传统的win32开发(直接使用Windows的接口函数API)对于程序员来说非常的困难,因为API函数实在有很多,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Applicationframework的完美结合,它将传统的API进行了分类封装,并且为你创建了程序的一般框架。MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinOS(用MFC编写的程序绝大部分都在WinOS中运行)中实现内部处理的类,如数据库的管理类等。2逐点比较法插补原理设要产生圆弧AB(如图1),其圆心在坐标原点O,半径为R。首先,若某加工点M1在圆弧外,则往-X方向走一步,到点M2,以靠近圆弧AB;接着,若点M2在圆弧内,则往+y方向走一步,到点M3,以靠近圆弧AB。这一点若在圆弧外,则下一步应向圆弧内走;若在圆弧内,则下一步应向圆弧外走,总之,以尽量靠近圆弧为原则。由于这种方法每走一步都要和所要求的曲线比较一次,故称“逐点比较法”。Fig1circularinterpolationprincipleFig2linearinterpolationprinciple由上图可知,采用此法进行插补运算时,每走一步都要和所要求的曲线作一次比较,即判断这一点和给定曲线的相对位置,以确定下一步的走向,这一工作是通过数控装置来完成的。因此,必须找出适用于数控装置运算的一套公式设计实现这些运算的逻辑框图。3插补运算程序设计3.1直线插补运算设要产生直线OA,其起点在坐标原点O,其终点的坐标值(XC,yc)。通过计算总结出插补运算表如下:3.2终点判断第一种方式,是检查符号法。直线插补运算时,下列两式:Xi–Xc(9)yi–yc(10)永远小于零,只有当X方向到达终点时,式(9)才为零,当y方向到达终点时,式(10)才为零。由上可知,当上述有关子程序在运算过程中变为零,即其符号位由1变0时,就可料定相应方向已到达终点。当两个方向到达终点时,插补运算结束。第二种方法,为减法计数。将某方向(如x方向)该走的总步数先存入一个减法计数器中,运算过程中,在运算过程中,每当该方向(如x方向)走一步时,就减1,当减法计数器变为零时,说明该方向已到达终点。也可以将两个方向该走的总步数先存入一个减法计数器中,在运算过程中,不论哪个方向走一步,均减1,当减法计数器变为零时,说明已到达终点。3.3象限处理上面所推导的插补运算公式(1)~(10)只适用于一象限的直线。若不采取措施的话,则对于其它象限的直线,并不是完全适用的。图3是象限的划分规则,根据对线段加工方向的不同来判断它所处的象限,如表2所示。对于四个象限可共用如下的判别式沿X方向走一步,则:Fi+1=Fi-(|Ye-Y0)|(11)沿Y方向走一步,则:Fi+1=Fi+(|Xe-X0)|(12)上述两式中(Xe-X0)、(Ye-Y0)都有绝对值,不考虑符号。但(Xe-X0)、(Ye-Y0)是有符号的,它影响刀具相对于工件移动的方向。Fig3ThestepdirectionofthefourquadrantsTable2Steeringquadrantjudgmentandmotor4插补程序设计4.1插补程序设计根据前面的理论分析及公式推导,可以按照图4所示的流程设计程序。Fig4linearinterpolationdiagram4.2系统框架与界面设计本系统程序包括了3部分主要模块:坐标轴绘制模块;输入直线坐标模块;绘图模块。如图5所示。主功能界面图如图6所示。sFig5SystemframediagramFig6Theinterfacemapthemainfunction5结论在这里我以直线插补为例,简单分析了其运动轨迹及计算过程,并MFC编程对四个象限的直线插补进行了编程仿真,动态模拟了四个象限的直线插补运动轨迹,实现了插补的可视化,使插补更为直观。由于我的能力有限,所以这里只讲述了直线插补,以及基于MFC只做了一些简单地程序编程。致谢:这学期课设了现代数控技术这门课称,在魏娟老师的辅导下,了解了现代数控技术的现状,以及发展趋势,虽然魏老师给我讲的理论知识并不多,但是在魏老师的教导下,使得我们对数控有了新的认识,特别是在看到魏老师及其所带研究生所开发参与的那一系列项目和所获得奖章,使得我从心底里有了搞好科研的动力,还有就是老师让我们自己根据自己喜欢的方面制作PPT,并上台讲课,这个不但锻炼了我们的各方面能力,而且使得我们朝着自己感兴趣的方向又迈进了一步,就我自己而言,虽然讲述PPT出现一点意外,但使得我对MFC编程,以及单片机等知识有了更加浓厚的兴趣,在此,我向魏老师表示诚挚的感谢,我会顺着这条路勇敢走下去的。Zhauanfei(CollegeofMechanicalEngineering,Xi'anUniversityofScienceandTechnology,Xi'an710054,China)Abstract:TheprincipleoftheNCinterpolationisintroducedinthistextfirstly.Thenexemplifiedbythelinearinterpolation,themacrotrajectoryoftheinterpolationisanalyzedandcalculationformulasarededuced.FinallytheNCinterpolationoperatorsareprogrammedundertheplatformofMFCtorealizedynamicsimulation,whichmakestheinterpolationmorefacilitateforvisualization.Keywords:NCinterpolation;MFC;dynamicsimulation;visualizations参考文献Reference[1]王清辉,叶佩青,廖文和,等.多坐标数控加工技术的应用与计算机辅助设计与制造,1997(10):53-54.WangQinghui,YePeiqing,LiaoWenhe,etal.MultiaxisNCmachiningtechnologyandapplicationofcomputeraideddesignandmanufacture,1997(10):53-54[2]王艳琴.螺旋转子的几何建模与数控加工仿真[D].合肥:合肥工业大学,2006.WangYanqinspiralrotorgeometricmodelingandnumericalcontrolmachiningsimulation(D):Hefei.Hefei.Industryuniversity,2006.[3]倪炎榕,马登哲,等.圆环面刀具五坐标数控加工复杂曲面优化刀位算法[J].机械工程学报,2001,37(2):87-91.Niyanrong,MaDengzhe,etal.ThetoroidalcutterforfiveaxisNCmachiningofcomplexsurfaceoptimization,Thecutter(J)algorithm.Journalofmechanicalengineering,2001,37(2):87-91