一、比较积分法 
比较积分法又称为脉冲间隔法。我们知道,以积分原理为基础构成的数字积分法,可以灵活地实现各种函数的插补和多坐标直线的插补。但是,由于其溢出脉冲频率与被积函数值大小有关,所以存在着速度调节不便的缺点。相反,逐点比较法由于以判别原理为基础,其进给脉冲是跟随指令运算频率(脉冲源频率)的,因而速度平稳,调节方便,恰恰克服了数字积分法的缺点。但它在某些二次曲线的插补计算上不大方便。如果我们能把两种方法结合起来,吸收各自的优点,就能得到更为理想的脉冲分配方案。比较积分法就是在这种背景下产生的新型脉冲分配方法。 
1.比较积分法的原理  
我们先用直线插补来说明。在数字积分法的介绍中已经知道,一个函数的定积分可以用矩形公式求和来近似计算。 
如果已知一条直线的方程为  
 (2-37) 
式中  ,  为直线的终点坐标。 
对上式求微分得   
如果引入时间变量  ,分别对被积函数  和  进行积分就得到数字积分法的直线插补。我们现在不这样做,而是设法用比较判别的方法来建立两个积分的联系。先将上式改写为  
  
用矩形公式来求积就得到  
  
或  (2-38) 
  
图2-32 脉冲分配序列 
此式表明,  方向每发一个进给脉冲,相当于积分值增加一个量  ;  方向每发一个进给脉冲,积分值增加一个量  ,为了得到直线,必须使两个积分相等。 
根据式(2-38),我们在时间轴上分别作出x轴和y轴的脉冲序列,如图2-32所示。把时间间隔作为积分增量,轴上每隔一段时间  发出一个脉冲,就得到一个时间间隔  ;y轴上每隔一段时间  发出一个脉冲,就得到一个时间间隔  。在  轴发出  个脉冲后,其总时间间隔为式(2-38)的左边,即  
  
同样,如果  轴上发出了  个脉冲,其总的时间间隔为积分式(2-38)的右边,即 
  
由公式(2-38)可知,要实现直线插补,必须始终保持上述两个积分式相等。为此,与逐点比较法相似,我们引入一个判别函数,所不同的是,这个判别函数定义为  轴脉冲总时间间隔与  轴脉冲总时间间隔之差。用  表示为   
 (2-39) 
用一个脉冲源控制运算速度,每发一个脉冲,计算一次  的值,根据  的正负决定下次脉冲应如何进给。即当  >0时,说明  轴输出脉冲时间超前(即多发出  ),这时应控制  轴进行  的累加;若  <0,则说明轴输出脉冲时间超前(即多发了  ),这时应控制  轴进行  的累加;依次进行下去即可实现直线插补。这里,我们通过将两个积分式相比较的办法来实现插补的,所以称为比较积分法。 
2. 圆弧插补运算 
设一圆以坐标原点为圆心,则其方程为  
 (2-40) 
考虑起点为  、终点为  的第Ⅰ象限顺圆弧  ,如图2-33所示。 
  
图2-33 
对式(2-40)两边微分得 
  
亦即有   
对上式用矩形公式求积就得到 
  
亦即   
令   (即脉冲当量=1) 
 ;   
经变量替换,上面的积分求和公式变为  
 (2-41) 
上式的展开式为  
 +(  +1)+(  +2)+…=  +(  -1)+(  -2)+… 
  
图2-34 
公式(2-41)表示,若用进给脉冲的时间间隔来描述圆的动点变化规律,则圆函数的脉冲时间间隔在插补过程中是变化的,在某一时刻x轴与y轴进给脉冲时间间隔之比等于动点所在位置圆的半径矢量的x分量与y分量之比。公式(2-41)是公差分别为+1和-1的等差数列,圆就可根据这组等差数列来产生。根据式(2-41)可作出如图2-34所示的第Ⅰ象限顺圆弧进给脉冲分配序列。 
同理,不难得出圆函数在不同象限顺、逆时针加工情况下的矩形求和公式。  
第Ⅰ、Ⅲ象限顺圆,第Ⅱ、Ⅳ象限逆圆矩形求和公式为  
 (2-42) 
第Ⅱ、Ⅳ象限顺圆,第Ⅰ、Ⅲ象限逆圆矩形求和公式为 
  (2-43)  
为实现圆函数插补运算也须要引进判别函数  。所不同的是除偏差运算外,在  轴(或  轴)每发出一个进给脉冲后,还得对被积函数  (或  )作加1或减1修正。 
3.直线及一般二次曲线的插补算法  
以类似上述的推导过程,可方便地得到双曲线、椭圆、抛物线等各种二次曲线的插补公式。对于二次曲线来说,可以用时间坐标上的两组等差数列表示其脉冲分配过程,只要改变公差的大小和符号就可以得到各种类型的曲线。 
比较积分法的插补步骤与逐点比较法类似,每输出一个脉冲,也须要作偏差判别、坐标进给和新偏差计算等。为叙述方便,综合直线及一般二次曲线的矩形求和公式,我们用  和β分别表示矩形求和公式中  和  轴进给脉冲时间间隔等差数列的公差,用  和  表示  和  轴进给脉冲的时间间隔。显然,对直线而言,  和  的初始值分别为  ,  ;对于圆,则  ,  ,又可以写成  |  |,  |β|。用  和  值表示  和  轴有无进给脉冲,即  =1,表示  轴走一步,  =1,表示  轴走一步。于是,比较积分法的插补步骤如下: 
(1) 确定基础轴。这是通过比较  轴和  轴的进给脉冲间隔  和  进行的。插补时取脉冲间隔小(脉冲密度高)的轴作为基础轴。即  时,取  为基础轴;反之,取  为基础轴。  
(2) 脉冲源每发出一个脉冲,基础轴都走一步(即每拍运算,基础轴都走一步),非基础轴是否同时走一步则根据判别函数  来决定。 
在以  轴为基础轴的情况下: 
当  时,  =1,  =1; 
当  时,  =1,  =0。 
若以  轴为基础轴,则 
 时,  =1,  =1; 
 时,  =0,  =1。 
(3) 坐标进给之后,须根据前述公式再计算新的偏差值  。以直线为例: 
当  和  轴同时进给(  =1,  =1)时,新偏差值 
  
当仅  轴进给时,新偏差值 
  
(4) 在每次  和  轴进给之后,须对时间间隔  和  进行修正(显然,因直线的  =  =0,故直线插补时,  和  无须修正): 
当  =1时,  ; 
当  =1时,  。 
(5) 判别是否改变基础轴。当改变基础轴时,作  =-  运算。 
(6) 过象限处理。当曲线过象限时,修正进给轴方向。 
(7) 终点判别。当  =  ,并且y=  时,插补结束,否则重复执行上述各步骤。 
下面举一例说明其插补过程。 
试用比较积分法插补第Ⅰ象限直线  ,起点  在坐标原点,终点为  (11,5)。 
解 由于  >  ,即  轴的脉冲密度高,或者说  轴的脉冲间隔  小于  轴的脉冲时间间隔  (  <  ),因此  轴应取为基础轴。每次运算后  轴都应发出一个脉冲(即走一步),然后根据运算结果决定y轴是否同时要走一步。 
已知  =0,  =  =5,  =  =11,其计算过程如下: 
(1)  =0,走  ,  =  +  =0+5=5 
(2)  >0,走  ,  ,  =  -  +  =5-11+5=-1 
(3)  <0,走  ,  =  +  =-1+5=4 
(4)  >0,走    ,  =  -  +  =4-11+5=-2 
(5)  <0,走  ,  =  +  =-2+5=3 
(6)  >0,走  ,  ,  =  -  +  =3-11+5=-3 
(7)  <0,走  ,  =  +  =-3+5=2  
(8)  >0,走  ,  ,  =  -  +  =2-11+5=-4 
(9)  <0,走  ,  =  +  =-4+5=1 
(10)  >0,走  ,  ,  =  -  +  =1-11+5=-5 
(11)  <0,走  ,  =  +  =-5+5=0 
图2-35比较积分法直线插补轨迹此题计算时是将  =0归于  <0一类。插补轨迹如图2-35所示。 
  
图2-35比较积分法直线插补轨迹  
二、 直接函数运算法(DFB) 
直接函数运算法属于最小偏差法的一种。它与逐点比较法类似,是一种代数运算方法。但它的进给方式不像逐点比较法那样或  方向或  方向急剧变化,这对机械部分是有利的,特别是可以改善步进电机的谐振现象。另外,直接函数法可以比较并选择误差较小的一个进给方向,这也是它的一个优点。因为直接函数法每插补一步要试算两个方向并作比较。 
  
图2-36 比较积分法直线插补轨迹  
1.直线插补 
(1) 卦限的划分。直接函数法将直角坐标的每个象限都用45°斜线分成2个区域,如图2-36所示。图2-36卦限的划分4个象限共分为8个区域,称为8个卦限,用0~7表示。对某一卦限内的直线进行插补时,只有  和  ,  两种可能的进给方向。对于第Ⅰ象限的右下区域即“0”卦限来讲,直线插补时或是  方向走一步,或是  与  方向同时走一步。对于“1”卦限的直线插补,或是  方向走一步,或是  与  方向同时走一步。引入  和  坐标系的目的是将8个卦限的进给都统一用“0”卦限内的u和v坐标来计算,以简化插补程序,缩短运算时间。对8个卦限中的直线,这种坐标变换关系如表2-9所示。 
表2-9 直线插补的坐标变换 
| 
 卦 限  | 
 u  | 
 v  |  
| 
 0  | 
 +x  | 
 +x, +y  |  
| 
 1  | 
 +y  | 
 +x, +y  |  
| 
 2  | 
 +y  | 
 -x, +y  |  
| 
 3  | 
 -x  | 
 -x, +y  |  
| 
 4  | 
 -x  | 
 -x, -y  |  
| 
 5  | 
 -y  | 
 -x, -y  |  
| 
 6  | 
 -y  | 
 +x, -y  |  
| 
 7  | 
 +x  | 
 +x, -y  |    
  
图2-37 “0”卦限的直线  
(2) 误差函数与进给方向。图2-37中所示“0”卦限的直线终点为  和  ,直线方程为   
引入误差函数  =  -  ,显然,对于直线上的所有点均满足下式:  =  -  =0 
对直线上方的点    0 
对直线下方的点    0 
当    0时,往+  方向进给一步,误差函数的变化为 
 =  -   
=  -  -   
=-   (2-44) 
当    0时,往+  和+  方向同时进给一步,误差函数的变化为 
 =  -   
=  -  -   
=   (2-45) 
在插补过程中,引入进给循环变量  可得 
 (  +1)=  (  )+   
因插补是从坐标原点开始的,故  (0)=0。在  方向进行终点判别,当  =  时,直线到达终点,插补工作完成。 
图2-38是对  =30,  =4的“0”卦限直线进行插补的例子。为了直观,图中的脉冲当量取得很大。从图中可以看出,进给方向的变化不是90°而是45°。 
   
图2-38“0”卦限的直线插补轨迹  
为了减小插补误差,实际的DFB法还可以进一步对两个可能的进给方向作试算与比较,并选择一个误差最小的方向进给。  
若往  方向进给一步,误差函数将为 
  
若  和  方向同时都进给一步,误差函数将为 
  
将式(2-44)和式(2-45)分别代入上两式中,可得到两个试算结果,将它们的绝对值进行比较,以决定应向哪个方向进给。 
当|  |  |  |时,  +1次进给应为  方向; 
当|  |  |  |时,  +1次进给应为  和  方向(即各进给一步)。 
2.圆弧插补 
图2-39是第Ⅰ象限的逆时针方向圆弧,圆心在  坐标系的原点。参考圆的方程,引进误差函数  用来选择适当的进给方向。 
对于圆弧上的点 
 =0 (2-46) 
对于圆外的点 
   0 
对于圆内的点 
   0 
  
图2-39第Ⅰ象限圆弧 
  
图2-40圆弧插补各卦限的进给方向 
为了使进给方向每次最多改变45°,仍旧划分0~7共8个卦限,将各卦限内的圆弧插补,都统一用“0”卦限的公式进行计算。每个卦限中又都有顺时针圆弧和逆时针圆弧两种情况,8个卦限中顺圆与逆圆的进给方向标在图2-40中,均用  和  ,  代表。它们在  坐标系中的实际进给方向可根据卦限及圆弧走向用表2-10进行变换。显然,当每次插补运算时,除判断是否到达终点外,还要判断是否到达卦限的边界。如图2-39中第Ⅰ象限的逆圆在“0”卦限限时,它是沿+  向或-  和+  向进给的,到达“1”卦限的边界后,应改为沿-  向或-  和+  向进给。 
表2-10 直线插补时进给方向的坐标变换 
| 
 卦 限  | 
 顺 时 针 圆 弧  | 
 逆 时 针 圆 弧  |  
| 
 v  | 
 u,v  | 
 v  | 
 u,v  |  
| 
 0  | 
 -y  | 
 +x, -y  | 
 +y  | 
 -x, +y  |  
| 
 1  | 
 +x  | 
 +x, -y  | 
 -x  | 
 -x, +y  |  
| 
 2  | 
 +x  | 
 +x, +y  | 
 -x  | 
 -x, -y  |  
| 
 3  | 
 +y  | 
 +x, +y  | 
 -y  | 
 -x, -y  |  
| 
 4  | 
 +y  | 
 -x, +y  | 
 -y  | 
 +x, -y  |  
| 
 5  | 
 -x  | 
 -x, +y  | 
 +x  | 
 +x, -y  |  
| 
 6  | 
 -x  | 
 -x, -y  | 
 +x  | 
 +x, +y  |  
| 
 7  | 
 -y  | 
 -x,-y  | 
 +y  | 
 +x, +y  |    
将公式(2-46)转换为  和  坐标,并在“0”卦限中推导误差函数的变化。对逆时针圆弧,当    0时,应走+  和-  ;当    0时,应走+  。当往+  走一步时 
  
=   
=2  +1 (2-47) 
而往-  与+  向同时走一步时 
 =   
=   
=-2   (2-48) 
对顺时针圆弧,则或者走-  (    0时),或者走+  和-  (    0时)。当往-  向走一步时,可求出 
 =-2  +1 (2-49) 
往+  与-  向同时走一步时,可求出 
 =2  -2  +2 (2-50) 
引入循环变量  可得 
 (  +1)= 第二章 插补与刀补计算原理 §2—4 其他插补方法
  |