基于MFC编程实现可视化数控插补

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于MFC编程实现可视化数控插补赵远飞201403086目录第一章引言第二章MFC简介第三章逐点比较法插补原理第四章插补运算程序设计第五章插补程序设计第六章结论1、引言•在实际加工中,被加工工件的轮廓形状千差万别,严格来说,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成,对于简单的曲线数控系统可以比较容易地实现,但对于较复杂的形状,若直接生成会使算法变得很复杂,计算机的工作量也相应地大大增加,因此在实际应用中,常采用一小段直线或圆弧去进行拟合以满足精度要求,1、引言•这种拟合方法就是“插补”,实质上插补就是数据的密化过程。插补的任务是根据进给速度的要求,在轮廓起点和终点之间计算出若干个中间点的坐标值,每个中间点计算所需时间之间影响系统的控制速度,而插补中间点坐标值的计算精度又影响到数控系统的控制精度,因此,插补算法是整个数控系统控制的核心。插补算法经过几十年的发展,不断成熟,种类很1、引言•多,一般说来,从产生的数学模型来分,主要有直线插补、二次曲线插补和数据采样插补。脉冲增量插补和数据采样插补都有各自的特点。本文将以逐点比较法直线插补为例,并在MFC基础上仿真出插补过程。2、MFC简介•2.1MFC概述•MFC:微软基础类(MicrosoftFoundationClasses),同VCL类似,是一种应用程序框架,随微软VisualC++开发工具发布。目前最新版本为10.0(截止2011年3月),并且发布了中文版。该类库提供一组通用的可重用的类库供开发人员使用,大部分类均从CObject直接或间接派2.1、MFC概述•生,只有少部分类例外。•MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC提供了MFCAppWizard自动生成框架。2.2MFC软件特点•MFC是微软封装了的API。Windows作为一个提供功能强大的应用程序接口编程的操作系统,提高了程序员编程效率,传统的win32开发(直接使用Windows的接口函数API)对于程序员来说非常的困难,因为API函数实在有很多,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Applicationframework的完美结合,2.2MFC软件特点•它将传统的API进行了分类封装,并且为你创建了程序的一般框架。•MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一2.2MFC软件特点•个窗口对象的控制(如创建,销毁),而是一些在WinOS(用MFC编写的程序绝大部分都在WinOS中运行)中实现内部处理的类,如数据库的管理类等。第三章逐点比较法插补原理•设要产生圆弧AB(如图1),其圆心在坐标原点O,半径为R。首先,若某加工点M1在圆弧外,则往-X方向走一步,到点M2,以靠近圆弧AB;接着,若点M2在圆弧内,则往+y方向走一步,到点M3,以靠近圆弧AB。这一点若在圆弧外,则下一步应向圆弧内走;若在圆弧内,则下一步应向圆弧外走,总之,以尽量靠近圆弧为原则。由于这种方法每走一步都要和所要求的曲线比较一次,故称“逐点比较法”。3、逐点比较法插补原理3、逐点比较法插补原理3、逐点比较法插补原理•由上图可知,采用此法进行插补运算时,每走一步都要和所要求的曲线作一次比较,即判断这一点和给定曲线的相对位置,以确定下一步的走向,这一工作是通过数控装置来完成的。因此,必须找出适用于数控装置运算的一套公式设计实现这些运算的逻辑框图。4、插补运算程序设计•4.2.1直线插补运算•设要产生直线OA,其起点在坐标原点O,其终点的坐标值(XC,yc)。通过计算总结出插补运算表如下:若Fij≥0;则进行如下运算若Fij0;则进行如下运算(简称PRS运算)(简称NRS运算)1.Fi+1,j=Fi,j-yc,Fi,j+1=Fi,j+Xc;Xi+1=Xi+1;Yi+1=yi+1;4.2.2、终点判断•(1),终点判断•第一种方式,是检查符号法。直线插补运算时,下列两式:Xi–Xc(9)yi–yc(10)4.2.2、终点判断永远小于零,只有当X方向到达终点时,式(9)才为零,当y方向到达终点时,式(10)才为零。由上可知,当上述有关子程序在运算过程中变为零,即其符号位由1变0时,就可料定相应方向已到达终点。当两个方向到达终点时,插补运算结束。第二种方法,为减法计数。将某方向(如x方向)该走的总步数先存入一个减法计数器中,运算过程中,在运算过程中,每当4.2.2、终点判断•该方向(如x方向)走一步时,就减1,当减法计数器变为零时,说明该方向已到达终点。也可以将两个方向该走的总步数先存入一个减法计数器中,在运算过程中,不论哪个方向走一步,均减1,当减法计数器变为零时,说明已到达终点。4.2.3、象限处理•上面所推导的插补运算公式(1)~(10)只适用于一象限的直线。若不采取措施的话,则对于其它象限的直线,并不是完全适用的。图3是象限的划分规则,根据对线段加工方向的不同来判断它所处的象限,如表2所示。对于四个象限可共用如下的判别式沿X方向走一步,则:4.2.3、象限处理Fi+1=Fi-(|Ye-Y0)|(11)沿Y方向走一步,则Fi+1=Fi+(|Xe-X0)|(12)上述两式中(Xe-X0)、(Ye-Y0)都有绝对值,不考虑符号。但(Xe-X0)、(Ye-Y0)是有符号的,它影响刀具相对于工件移动的方向。4.2.3、象限处理4.2.3、象限处理5、插补程序设计•5.1插补程序设计•根据前面的理论分析及公式推导,可以按照图4所示的流程设计程序。5.1插补程序设计5.2、系统框架与界面设计•本系统程序包括了3部分主要模块:坐标轴绘制模块;输入直线坐标模块;绘图模块。如图5所示。•主功能界面图如图6所示。5.2、系统框架与界面设计5.2、系统框架与界面设计6、结论•在这里我以直线插补为例,简单分析了其运动轨迹及计算过程,并MFC编程对四个象限的直线插补进行了编程仿真,动态模拟了四个象限的直线插补运动轨迹,实现了插补的可视化,使插补更为直观。由于我的能力有限,所以这里只讲述了直线插补,以及基于MFC只做了一些简单地程序编程。谢谢观赏!

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功