您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > 数控编程 非圆曲线数学处理的基本过程
数控编程非圆曲线数学处理的基本过程数控系统一般只能作直线插补和圆弧插补的切削运动。如果工件轮廓是非圆曲线,数控系统就无法直接实现插补,而需要通过一定的数学处理。数学处理的方法是,用直线段或圆弧段去逼近非圆曲线,逼近线段与被加工曲线交点称为节点。例如,对图1.42所示的曲线用直线逼近时,其交点A、B、C、D、E、F等即为节点。字串2图1.42零件轮廓的节点字串1在编程时,首先要计算出节点的坐标,节点的计算一般都比较复杂,靠手工计算已很难胜任,必须借助计算机辅助处理。求得各节点后,就可按相邻两节点间的直线来编写加工程序。这种通过求得节点,再编写程序的方法,使得节点数目决定了程序段的数目。如图1.42中有6个节点,即用五段直线逼近了曲线,因而就有五个直线插补程序段。节点数目越多,由直线逼近曲线产生的误差δ越小,程序的长度则越长。可见,节点数目的多少,决定了加工的精度和程序的长度。因此,正确确定节点数目是个关键问题,也请参考本教程CAD/CAM部分数控加工误差的组成图1.43逼近误差数控加工误差△数加是由编程误差△编、机床误差△机、定位误差△定、对刀误差△刀等误差综合形成。字串6即:△数加=f(△编+△机+△定+△刀)其中:字串7(1)编程误差△编由逼近误差δ、圆整误差组成。逼近误差δ是在用直线段或圆弧段去逼近非圆曲线的过程中产生,如图1.43所示。圆整误差是在数据处理时,将坐标值四舍五入圆整成整数脉冲当量值而产生的误差。脉冲当量是指每个单位脉冲对应坐标轴的位移量。普通精度级的数控机床,一般脉冲当量值为0.01mm;较精密数控机床的脉冲当量值为0.005mm或0.001mm等。(2)机床误差△机由数控系统误差、进给系统误差等原因产生。(3)定位误差△定是当工件在夹具上定位、夹具在机床上定位时产生的。字串9(4)对刀误差△刀是在确定刀具与工件的相对位置时产生。数控程序编制中的数值计算根据零件图样,按照已确定的加工路线和允许的编程误差,计算数控系统所需输入的数据,称为数控加工的数值计算。手工编程时,在完成工艺分析和确定加工路线以后,数值计算就成为程序编制中一个关键性的环节。除了点位加工这种简单的情况外,—般需经繁琐、复杂的数值计算。为了提高工效,降低出错率,有效的途径是计算机辅助完成坐标数据的计算,或直接采用自动编程。一个零件的轮廓往往是由许多不同的几何元素所组成,如直线、圆弧、二次曲线以及阿基米德螺线等。各几何元素间的联结点称为基点。如两直线间的交点,直线与圆弧或圆弧与圆弧间的交点或切点,圆弧与二次曲线的交点或切点等。显然,相邻基点间只能是一个几何元素。对于由直线与直线或直线与圆弧构成的平面轮廓零件,由于目前一般机床数控系统都具有直线、圆弧插补功能,故数值计算比较简单。此时,主要应计算出基点坐标与圆弧的圆心点坐标。将组成零件轮廓的曲线,按数控系统插补功能的要求,在满足允许的编程误差的条件下进行分割,即用若干直线段或圆弧段来逼近给定的曲线,逼近线段的交点或切点称为节点。对刀时是通过一定的测量手段使刀位点与对刀点重合,数控系统从对刀点开始控制刀位点运动,并由刀具的切削刃部分加工出要求的零件轮廓。用直线逼近零件轮廓曲线的节点计算非圆曲线节点坐标的计算非圆曲线节点坐标的计算,用直线逼近零件轮廓曲线的节点计算常用的计算方法有:等间距法、等弦长法、等误差法和比较迭代法等。字串3等间距法就是将某一坐标轴划分成相等的间距。如图2-12(a)所示,沿X轴方向取∆X为等间距长,根据已知曲线的方程y=f(x),可由xi求得yi,xi+1=xi+x,yi+1=f(xi+∆x)。如此求得的一系列点就是节点。将相邻节点联成直线,用这些直线段组成的折线代替原来的轮廓曲线。坐标增量∆X取得愈小则δ插愈小,这使得节点增多,程序段也增多,编程费用高,但等间距法计算较简单。字串5a)b)图2-12等间距法和等弦长法a)等间距法b)等弦长法等弦长法就是使所有逼近直线段长度相等,如图2-12(b)所示。由于零件轮廓曲线y=f(x)的曲率各处不等,因此首先应求出该曲线的最小曲率半径Rmin,由Rmin及δ允确定允许的步长l,然后从曲线起点a开始,按等步长l依次截取曲线,得b、c、d、…点,则ab=bc=…=l即为所求各直线段。总的看来,此种方法比等间距法的程序段数少一些。但当曲线曲率半径变化较大时,所求节点数将增多,所以,此法适用于曲率变化不大的情况。字串5等误差法是使逼近线段的误差相等,且等于δ允,所以此法较上两种方法合理,特别适合曲率变化较大的复杂曲线轮廓。如图2-13所示。下面介绍用等误差法计算节点坐标的方法。设零件轮廓曲线的数学方程为Y=f(X)。字串6字串4图2-13等误差法字串1(1)以起点a(Xa,Ya)为圆心,以为半径作圆。其圆方程为字串4(2-1)式中Xa、Ya为已知的a点坐标值。(2)作δ允圆与曲线Y=f(X)的公切线MN,则可求公切线MN的斜率K字串9字串6为求YN,YM,XN,XM,需解下面的方程组:式中的允差圆即δ允圆,Y=F(X)表示δ允圆的方程,见(2-1)式。字串7(3)过a点作斜率为K的直线,则得到直线插补段ab,其方程式为Y-Ya=K(X-Xa)(4)求直线插补节点b的坐标。联立方程组:字串8求的交点b(Xb,Yb)的坐标值,便是第一个直线插补节点。(5)按以上步骤顺次求得c,d、…各节点坐标。用等误差法,虽然计算较复杂,但可在保证δ允的条件下,得到最少的程序段数目。此种方法的不足之处是直线插补段的联结处不光滑,使用圆弧插补段逼近,可以避免这一缺点。用圆弧逼近零件轮廓曲线的节点计算非圆曲线节点坐标的计算用圆弧逼近零件轮廓曲线的节点计算字串6用圆弧逼近非圆曲线,目前常用的算法有曲率圆法、三点圆法和相切圆法等。字串2(1)曲率圆法圆弧逼近的节点计算1)基本原理曲率圆法是用彼此相交的圆弧逼近非圆曲线。已知轮廓曲线Y=f(X)如图2-14所示,从曲线的起点开始,作与曲线内切的曲率圆,求出曲率圆的中心。以曲率圆中心为圆心,以曲率圆半径加(减)δ允为半径,所作的圆(偏差圆)与曲线Y=f(X)的交点为下一个节点,并重新计算曲率圆中心,使曲率圆通过相邻的两节点。图2-14曲率圆法圆弧段逼近重复以上计算即可求出所有节点坐标及圆弧的圆心坐标。2)计算步骤①以曲线起点(xn,yn)开始作曲率圆:圆心半径②偏差圆方程与曲线方程联立求解:得交点(xn+1,yn+1)③求过(xn,yn)和(xn+1,yn+1)两点,半径为Rn的圆的圆心:字串5字串6得交点(ζm,ηm),该圆即为逼近圆。(2).三点圆法圆弧逼近的节点计算图2-15三点圆弧段逼近三点圆法是在等误差直线段逼近求出各节点的基础上,通过连续三点作圆弧,并求出圆心点的坐标或圆的半径。如图2-15所示,首先从曲线起点开始,通过P1、P2、P3三点作圆。圆方程的一般表达形式为x2+y2+Dx+Ey+F=0字串5其圆心坐标字串6半径通过已知点P1(x1,y1)、P2(x2,y2),P3(x3,y3)的圆,其字串1字串9为了减少圆弧段的数目,应使圆弧段逼近误差δ=δ允,为此应作进一步的计算。设已求出连续三个节点P1、P2、P3处曲线的曲率半径分别为RP1、RP2、RP3,通过P1、P2、P3三点的圆的半径为R,取,按算出δ值,按δ值进行一次等误差直线段逼近,重新求得P1、P2、P3三点,用此三点作一圆弧,该圆弧即为满足δ=δ允条件的圆弧。(3).相切圆法圆弧逼近的节点计算1)基本原理如图2-16所示粗线表示工件廓形曲线,在曲线的一个计算单元上任选四个点A、B、C、D,其中A点为给定的起点。AD段(一个计算单元)曲线用两相切圆弧M和N逼近。具体来说,点A和B的法线交于M,点C和D的法线交于N,以点M和N为圆心,以MA和ND为半径作两圆弧,则M和N圆弧相切于MN的延长线上G点。曲线与M、N圆的最大误差分别发生在B、C两点,应满足的条件是:图2-16用相切圆弧逼近轮廓线字串5两圆相切G点(2-2)满足δ允要求(2-3)2)计算方法:①求圆心坐标的公式。点A和B处曲线的法线方程式为(x-xA)-kA(y-yA)=0(x-xB)-kB(y-yB)=0式中kA和kB为曲线在点A和B处的斜率,k=dy/dx。解上两式得两法线交点M(圆心)的坐标为:(2-4)同理可通过C、D两点的法线方程求出N(圆心)点坐标为:(2-5)②求B、C、D三点坐标。根据(2-2)和(2-3)式,得(2-6)(2-7)字串1式中的A、B、C、D的y坐标值分别由以下公式求出yA=f(xA),yB=f(xB)yC=f(xA),yD=f(xD)再代入(2-6)和(2-7)式,用迭代法可求出B、C、D坐标值。③求圆心M、N坐标值和RM、RN值。将B、C、D坐标值代入(2-4)和(2-5)式即求出圆心M和N的坐标值,并由此求出RM和RN值。应该指出的是,在曲线有拐点和凸点时,应将拐点和凸点作为一个计算单元(每一计算单元为四个点)的分割点FUNAC用户宏程序简介用户宏程序能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。l所存入的这一系列指令——用户宏程序字串7l调用宏程序的指令————宏指令l特点:使用变量一.变量的表示和使用(一)变量表示字串1#I(I=1,2,3,…)或#[<式子>]例:#5,#109,#501,#[#1+#2-12](二)变量的使用字串31.地址字后面指定变量号或公式格式:<地址字>#I<地址字>-#I<地址字>[<式子>]例:F#103,设#103=15则为F15Z-#110,设#110=250则为Z-250X[#24+#18*COS[#1]]字串52.变量号可用变量代替例:#[#30],设#30=3则为#33.变量不能使用地址O,N,I字串7例:下述方法下允许字串5O#1;I#26.00×100.0;N#3Z200.0;4.变量号所对应的变量,对每个地址来说,都有具体数值范围字串5例:#30=1100时,则M#30是不允许的5.#0为空变量,没有定义变量值的变量也是空变量6.变量值定义:字串3程序定义时可省略小数点,例:#123=149MDI键盘输一.变量的种类1.局部变量#1~#33字串7一个在宏程序中局部使用的变量例:A宏程序B宏程序……字串6#10=20X#10不表示X20……断电后清空,调用宏程序时代入变量值2.公共变量#100~#149,#500~#531各用户宏程序内公用的变量例:上例中#10改用#100时,B宏程序中的X#100表示X20#100~#149断电后清空#500~#531保持型变量(断电后不丢失)3.系统变量固定用途的变量,其值取决于系统的状态例:#2001值为1号刀补X轴补偿值#5221值为X轴G54工件原点偏置值字串6入时必须输入小数点,小数点省略时单位为μm字串1一.运算指令运算式的右边可以是常数、变量、函数、式子式中#j,#k也可为常量字串8式子右边为变量号、运算式1.定义#I=#j2.算术运算字串9#I=#j+#k字串7#I=#j-#k字串5#I=#j*#k字串8#I=#j/#k3.逻辑运算#I=#JOK#k#I=#JXOK#k字串1#I=#JAND#k字串74.函数#I=SIN[#j]正弦#I=COS[#j]余弦字串5#I=TAN[#j]正切#I=ATAN[#j]反正切字串8#I=SQRT[#j]平方根#I=ABS[#j]绝对值字串3#I=ROUND[#j]四舍五入化整#I=FIX[#j]下取整#I=FUP[#j]上取整#I=BIN[#j]BCD→BIN(二进制)#I=BCN[#j]BIN→BCD1.说明1)角度单位为度例:90度30分为90.5度字串42)ATAN函数后的两个边长要用“1”隔开例:#1=ATAN[1]/[-1]时,#1为了35.03)ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入字串4例:设#1=1.2345,#2=2.3456,设定单位1μmG91X-#1;X-1.235字串1X-#2F300;
本文标题:数控编程 非圆曲线数学处理的基本过程
链接地址:https://www.777doc.com/doc-287399 .html