1、概述在机床的实际加工中,被加工工件的轮廓形状千差万别,各式各样。严格说来,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成。然而,对于简单的曲线,数控装置易于实现,但对于较复杂的形状,若直接生成,势必会使算法变得很复杂,计算机的工作量也相应地大大增加。因此,在实际应用中,常常采用一小段直线或圆弧去进行逼近,有些场合也可以用抛物线、椭圆、双曲线和其他高次曲线去逼近(或称为拟合)。所谓插补是指数据密化的过程。在对数控系统输入有限坐标点(例如起点、终点)的情况下,计算机根据线段的特征(直线、圆弧、椭圆等),运用一定的算法,自动地在有限坐标点之间生成一系列的坐标数据,即所谓数据密化,从而自动地对各坐标轴进行脉冲分配,完成整个线段的轨迹运行,以满足加工精度的要求。机床数控系统的轮廓控制主要问题就是怎样控制刀具或工件的运动轨迹。无论是硬件数控(NC)系统,还是计算机数控(CNC)系统或微机数控(MNC)系统,都必须有完成插补功能的部分,只是采取的方式不同而已。在CNC或MNC中,以软件(程序)完成插补或软、硬件结合实现插补,而在NC中有一个专门完成脉冲分配计算(即插补计算)的计算装置——插补器。无论是软件数控还是硬件数控,其插补的运算原理基本相同,其作用都是根据给定的信息进行数字计算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路线移动。有关插补算法问题,除了要保证插补计算的精度之外,还要求算法简单。这对于硬件数控来说,可以简化控制电路,采用较简单的运算器。而对于计算机数控系统来说,则能提高运算速度,使控制系统较快且均匀地输出进给脉冲。经过多年的发展,插补原理不断成熟,类型众多。从产生的数学模型来分,有直线插补、二次曲线插补等;从插补计算输出的数值形式来分,有基准脉冲插补(又称脉冲增量插补)和数据采样插补。在基准脉冲插补中,按基本原理又分为以区域判别为特征的逐点比较法插补,以比例乘法为特征的数字脉冲乘法器插补,以数字积分法进行运算的数字积分插补,以矢量运算为基础的矢量判别法插补,兼备逐点比较和数字积分特征的比较积分法插补,等等。在CNC系统中,除了可采用上述基准脉冲插补法中的各种插补原理外,还可采用各种数据采样插补方法。本文将介绍在数控系统中常用的逐点比较法、数字积分法、时间分割法等多种插补方法以及刀具半径补偿计算原理。2、逐点比较法逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。2.1逐点比较法直线插补如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。如图2-1所示,假定直线——OA的起点为坐标原点,终点A的坐标为A(Xe,Ye),P(Xi,Yi)为加工点,若P点正好处在直线——OA上,那么下式成立:XeYi—XiYe=0若任意点P(Xi,Yi)在直线——OA的上方(严格地说,在直线——OA与y轴所成夹角区域内),那么有下述关系成立:亦即:XeYi—XiYe0由此可以取偏差判别函数Fij为:Fij=XeYi—XiYe由Fij的数值(称为“偏差”)就可以判别出P点与直线的相对位置。即:当Fij=0时,点P(Xi,Yi)正好落在直线上;当Fij0时,点P(Xi,Yi)落在直线的上方;当Fij0时,点P(Xi,Yi)落在直线的下方。从图2—1看出,对于起点在原点,终点为A(Xe,Ye)的第Ⅰ象限直线OA来说,当点P在直线上方(即Fij0)时,应该向+x方向发一个脉冲,使机床刀具向+x方向前进一步,以接近该直线;当点P在直线下方(即Fij0)时,应该向+y方向发一个脉冲,使机床刀具向+y方向前进一步,趋向该直线;当点P正好在直线上(即Fij=0)时,既可向+x方向发一脉冲,也可向+y方向发一脉冲。因此通常将Fij0和Fij=0归于一类,即Fij≥0。这样从坐标原点开始,走一步,算一次,判别Fij,再趋向直线,逐点接近直线——OA,步步前进。当两个方向所走的步数和终点坐标A(Xe,Ye)值相等时,发出终点到达信号,停止插补。对于图2—1的加工直线OA,我们运用上述法则,根据偏差判别函数值,就可以获得如图中折线段那样的近似直线。但是按照上述法则进行Fij的运算时,要作乘法和减法运算,这对于计算过程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。下面推导该递推式:已经知道,加工点的坐标为(Xi,Yi)时的偏差为:Fij=XeYi—XiYe若Fij≥0时,则向x轴发出一进给脉冲,刀具从这点即(Xi,Yi)点向x方向前进一步,到达新加工点P(Xi+1,Yi),Xi+1=Xi+1,因此新加工点P(Xi+1,Yi)的偏差值为即:Fi+1,j=Fij-Ye(2-1)如果某一时刻,加工点P(Xi,Yi)的Fij0,则向y轴发出一个进给脉冲,刀具从这一点向y方向前进一步,新加工点P(Xi,Yi+1)的偏差值为即:Fi,j+1=Fij+Xe(2-2)根据式(2-1)及式(2-2)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即判别、进给、运算、比较。(1)判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。(2)进给。根据判别的结果,决定控制哪个坐标(x或y)移动一步。(3)运算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(2—1)及式(2—2)来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差Fij推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的Fij=0。(4)比较。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。下面以实例来验证图2-1。设欲加工直线OA,其终点坐标为Xe=5*,Ye=3*,则终点判别值可取为E8=Xe+Ye=5+3=8(终点判别方法详见下述)。开始时偏差F=0,加工过程的运算节拍如表2—1所示。2.2逐点比较法圆弧插补加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧,半径为R,以原点为圆心,起点坐标为A(X0,Y0),对于圆弧上任一加工点的坐标设为P(Xi,Yi),P点与圆心的距离RP的平方为RP2=Xi2+Yi2,现在讨论这一加工点的加工偏差。若点P(Xi,Yi)正好落在圆弧上,则下式成立:Xi2+Yi2=X02+Y02=R若加工点P(Xi,Yi)在圆弧外侧,则RPR,即:Xi2+Yi2X02+Y02若加工点P(Xi,Yi)在圆弧内侧,则RPR,即:Xi2+Yi2X02+Y02将上面各式分别改写为下列形式:(Xi2-X02)+(Yi2-Y02)=0(加工点在圆弧上)(Xi2-X02)+(Yi2-Y02)0(加工点在圆弧外侧)(Xi2-X02)+(Yi2-Y02)0(加工点在圆弧内侧)取加工偏差判别式为:Fij=(Xi2-X02)+(Yi2-Y02)运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。若P(Xi,Yi)在圆弧外或圆弧上,即满足Fij≥0的条件时,应向x轴发出一个负向运动的进给脉冲(-Δx),即向圆内走一步。若P(Xi,Yi)在圆弧内侧,即满足Fij0的条件,则向y轴发出一个正向运动的进给脉冲(+Δy),即向圆弧外走一步。为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。设加工点P(Xi,Yi)在圆弧外侧或圆弧上,则加工偏差为Fij=(Xi2-X02)+(Yi2-Y02)≥0x坐标需向负方向进给一步(-Δx),移到新的加工点P(Xi+1,Yi)位置,此时新加工点的x坐标值为Xi-1,y坐标值仍为Yi,新加工点P(Xi+1,Yi)的加工偏差为:Fi+1,j=(Xi-1)2-X02+(Yi2-Y02)经展开并整理,得:Fi+1,j=Fij-2Xi+1(2-3)设加工点P(Xi,Yi)在圆弧的内侧,则:Fij=(Xi2-X02)+(Yi2-Y02)0那么,y坐标需向正方向进给一步(+Δy),移到新加工点P(Xi,Yi+1),此时新加工点的x坐标值仍为Xi,y坐标值则改为Yi+1,新加工点P(Xi,Yi+1)的加工偏差为:Fi,j+1=(Xi2-X02)+(Yi-1)2-Y02,展开上式,并整理得:Fi,+1j=Fij+2Yi+1综上所述可知:当Fij≥0时,应走-Δx,新偏差为Fi+1,j=Fij-2Xi+1,动点(加工点)坐标为Xi+1=Xi-1,Yi=Yi;当Fij0时,应走+Δy,新偏差为Fi,j+1=Fij+2Yi+1,动点坐标为Xi=Xi,Yi+1=Yi+1。下面举例说明插补过程。设欲加工第Ⅰ象限逆时针走向的圆弧(见图2—4),起点A的坐标是X0=4,Y0=3,终点E的坐标是Xe=0,Ye=5,终点判别值:E=(X0-Ye)+(X0-Ye)=(4-0)+(5-3)=6图2-5逐点比较法圆弧插补过程加工过程的运算节拍见表2-3,插补后获得的实际轨迹如图2—3折线所示。可见,圆弧插补偏差计算的递推公式也是比较简单的。但计算偏差的同时,还要对动点的坐标进行加1、减1运算,为下一点的偏差计算做好准备。和直线插补一样,除偏差计算外,还要进行终点判别计算。每走一步,都要从两坐标方向总步数中减去1,直至总步数被减为零(发终点到达信号)时为止,才终止计算。逐点比较法插补第Ⅰ象限直线和第Ⅰ象限逆圆弧的计算流程图分别见图2-4和图2-5。