§2—1逐点比较法逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。一、逐点比较法直线插补如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。图2-1直线差补过程A(xe,ye)P(xi,yi)F0F0OYX图2-1直线插补过程点击进入动画观看逐点比较法直线插补如图2—1所示,假定直线OA的起点为坐标原点,终点A的坐标为eeijA(x,y),P(x,y)为加工点,若P点正好处在直线OA上,那么下式成立:ejiexy-xy0若任意点ijP(x,y)在直线OA的上方(严格地说,在直线OA与y轴所成夹角区域内),那么有下述关系成立:jeieyyxx亦即:ejiexy-xy0由此可以取偏差判别函数ijF为:ijejieFxy-xy=由ijF的数值(称为“偏差”)就可以判别出P点与直线的相对位置。即:当ijF=0时,点ijP(x,y)正好落在直线上;当ijF0时,点ijP(x,y)落在直线的上方;当ijF0时,点ijP(x,y)落在直线的下方。从图2—1看出,对于起点在原点,终点为A(eex,y)的第Ⅰ象限直线OA来说,当点P在直线上方(即ijF0)时,应该向+x方向发一个脉冲,使机床刀具向+x方向前进一步,以接近该直线;当点P在直线下方(即ijF0)时,应该向+y方向发一个脉冲,使机床刀具向+y方向前进一步,趋向该直线;当点P正好在直线上(即ijF=0)时,既可向+x方向发一脉冲,也可向+y方向发一脉冲。因此通常将ijF0和ijF=0归于一类,即ijF≥0。这样从坐标原点开始,走一步,算一次,判别ijF,再趋向直线,逐点接近直线OA,步步前进。当两个方向所走的步数和终点坐标A(eex,y)值相等时,发出终点到达信号,停止插补。对于图2—1的加工直线OA,我们运用上述法则,根据偏差判别函数值,就可以获得如图中折线段那样的近似直线。但是按照上述法则进行ijF的运算时,要作乘法和减法运算,这对于计算过程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。下面推导该递推式:已经知道,加工点的坐标为(ijx,y)时的偏差为:ijejieFxy-xy=若ijF≥0时,则向x轴发出一进给脉冲,刀具从这点即(ijx,y)点向x方向前进一步,到达新加工点P(i+1jx,y),i+1ix=x+1,因此新加工点P(i+1jx,y)的偏差值为i1,jeji+1eejieejieijeFxy-xyxy(x+1)y=xy-xyFeyy+=即:i+1,jijeFFy=(2-1)如果某一时刻,加工点P(ijx,y)的ijF0,则向y轴发出一个进给脉冲,刀具从这一点向y方向前进一步,新加工点P(ij+1x,y)的偏差值为i,j+1ej+1ieejieejiei,jeFxy-xyx(y1)xy=xy-xyFxex=+即:i,j+1ijeFFx=+(2-2)根据式(2—1)及式(2—2)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即判别、进给、运算、比较。(1)判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。(2)进给。根据判别的结果,决定控制哪个坐标(x或y)移动一步。(3)运算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(2—1)及式(2—2)来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差ijF推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的ijF=0。(4)比较。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。下面以实例来验证图2—1。设欲加工直线OA,其终点坐标为ex=5*,ey=3*,则终点判别值可取为8eeE=x+y=5+3=8(终点判别方法详见下述)。开始时偏差F=0,加工过程的运算节拍如表2—1所示。图2-2逐点比较法直线插补过程表2-1逐点比较法直线插补运算举例序号工作节拍第1拍:判别第2拍:进给第3拍:运算第4拍:比较1F00=0+∆xF10=F00-ye=0-3=-3E7=E8-1=72F10(=-3)0+∆yF11=F10+xe=-3+5=2E6=E7-1=63F11(=2)0+∆xF21=F11-ye=2-3=-1E5=E6-1=54F21(=-1)0+∆yF22=F21+xe=-1+5=4E4=E5-1=45F22(=4)0+∆xF32=F22-ye=4-3=1E3=E4-1=36F32(=1)0+∆xF42=F32-ye=1-3=-2E2=E3-1=27F42(=-2)0+∆yF43=F42+xe=-2+5=3E1=E2-1=18F43(=3)0+∆xF53=F43-ye=3-3=0E0=E1-1=0到达终点二、逐点比较法圆弧插补加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧,半径为R,以原点为圆心,起点坐标为A(00x,y),对于圆弧上任一加工点的坐标设为P(ijx,y),P点与圆心的距离PR的平方为222PijR=x+y,现在讨论这一加工点的加工偏差。OYXF0RRpEP(xi,yi)F0A(x0,y0)图2-2圆弧差补过程图2-3圆弧插补过程点击进入动画观看逐点比较法圆弧插补若点P(ijx,y)正好落在圆弧上,则下式成立:22222ij00x+y=x+y=R若加工点P(ijx,y)在圆弧外侧,则PRR,即:2222ij00x+yx+y若加工点P(ijx,y)在圆弧内侧,则PRR,即:2222ij00x+yx+y将上面各式分别改写为下列形式:2222i0j0(x-x)+(y-y)=0(加工点在圆弧上)2222i0j0(x-x)+(y-y)0(加工点在圆弧外侧)2222i0j0(x-x)+(y-y)0(加工点在圆弧内侧)取加工偏差判别式为:2222iji0j0F=(x-x)+(y-y)运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。若P(ijx,y)在圆弧外或圆弧上,即满足ijF≥0的条件时,应向x轴发出一个负向运动的进给脉冲(—Δx),即向圆内走一步。若P(ijx,y)在圆弧内侧,即满足ijF0的条件,则向y轴发出一个正向运动的进给脉冲(+Δy),即向圆弧外走一步。为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。设加工点P(ijx,y)在圆弧外侧或圆弧上,则加工偏差为2222iji0j0F=(x-x)+(y-y)0x坐标需向负方向进给一步(—Δx),移到新的加工点P(i+1jx,y)位置,此时新加工点的x坐标值为ix-1,y坐标值仍为iy,新加工点P(i+1jx,y)的加工偏差为:22222i+1,ji0j0F=(x-1)-x+y-y经展开并整理,得:i+1,jijF=F21ix(2-3)设加工点P(ijx,y)在圆弧的内侧,则:ijF0那么,y坐标需向正方向进给一步(+Δy),移到新加工点P(ij+1x,y),此时新加工点的x坐标值仍为ix,y坐标值则改为jy1,新加工点P(ij+1x,y)的加工偏差为:2222i,j+1i0j0F=x-x+(y+1)y,展开上式,并整理得:i,j+1ijF=F21iy综上所述可知:当ijF≥0时,应走—Δx,新偏差为i+1,jijF=F21ix,动点(加工点)坐标为i+1ix=x-1,jjyy;当ijF0时,应走+Δy,新偏差为i,j+1ijF=F21iy,动点坐标为jjyy,i+1i=y+1y。下面举例说明插补过程。设欲加工第Ⅰ象限逆时针走向的圆弧(见图2—4),起点A的坐标是00x=4,y=3,终点E的坐标是eex=0,y=5,终点判别值:0ee0E=x-x+y-y4053()()()()=6OYXE(0,5)A(4,3)图2-3圆弧实际轨迹图2-4圆弧实际轨迹图2-5逐点比较法圆弧插补过程加工过程的运算节拍见表2—3,插补后获得的实际轨迹如图2—3折线所示。可见,圆弧插补偏差计算的递推公式也是比较简单的。但计算偏差的同时,还要对动点的坐标进行加1、减1运算,为下一点的偏差计算做好准备。和直线插补一样,除偏差计算外,还要进行终点判别计算。每走一步,都要从两坐标方向总步数中减去1,直至总步数被减为零(发终点到达信号)时为止,才终止计算。表2-3逐点比较法圆弧插补运算举例逐点比较法插补第Ⅰ象限直线和第Ⅰ象限逆圆弧的计算流程图分别见图2—4和图2—5。序号工作节拍第1拍:判别第2拍:进给第3拍:运算第4拍:比较1F=0-△xF=0-2*4+1=7E=6-1=5(≠0)2F(=-7)0+△yF=-7+2*3+1=0x=3,y=3+1=4E=5-1=4(≠0)3F=0-△xF=0-2*3+1=-5x=3-1=2,y=4E=4-1=3(≠0)4F(=-5)0+△yF=-5+2*4+1=4x=2,y=4+1=5E=3-1=2(≠0)5F(=4)0-△xF=4-2*2+1=1x=2-1=1,y=5E=2-1=1≠0)6F(=1)0-△xF=1-2*1+1=0x=1-1=0,y=5E=1-1=0(终止)图2-4直线插补计算流程图图2-5圆弧插补计算流程图三、坐标转换和终点判别问题1.象限与坐标变换前面所讨论的用逐点比较法进行直线及圆弧插补的原理和计算公式,只适用于第Ⅰ象限直线和第Ⅰ象限逆时针圆弧那种特定的情况。对于不同象限的直线和不同象限、不同走向的圆弧来说,其插补计算公式和脉冲进给方向都是不同的。为了将各象限直线的插补公式统一于第Ⅰ象限的公式,将不同象限、不同走向的8种圆弧的插补公式统一于第Ⅰ象限逆圆的计算公式,就需要将坐标和进给方向根据象限等的不同而进行变换,这样,不管哪个象限的圆弧和直线都按第Ⅰ象限逆圆和直线进行插补计算。而进给脉冲的方向则按实际象限和线型来决定,采用逻辑电路或程序将进给脉冲分别发到+X,-X,+Y,-Y四个通道上去,以控制机床工作台沿X和Y向的运动。我们用SR1,SR2,SR3,SR4分别表示第Ⅰ,Ⅱ,Ⅲ,Ⅳ象限的顺时针圆弧,用NR1,NR2,NR3,NR4分别表示第Ⅰ,Ⅱ,Ⅲ,Ⅳ象限的逆时针圆弧,如图2—6(a)所示;用L1,L2,L3,L4分别表示第Ⅰ,Ⅱ,Ⅲ,Ⅳ象限的直线,如图2—6(b)所示。由图2—6可以看出:按第Ⅰ象限逆时针走向圆弧NR1线型插补运算时,如将x轴的进给反向,即走出第Ⅱ象限顺时针走向圆弧SR2;将y轴的进给反向,即走出SR4;将x和y轴两者进给都反向,即走出NR3。此时NR1,NR3,SR2,SR4四种线型都取相同的偏差运算公式,无须改变。Ox(X)y(Y)ΔyΔxSR2NR2ΔxΔxΔxΔxΔxΔxΔxΔyΔyΔyΔyΔySR4NR1SR1NR3SR3NR4y(Y)x(X)OL2L1L3L4ΔyΔyΔyΔyΔxΔxΔxΔx(a)(b)图2-6直线和圆弧不同