直接函数运算法属于最小偏差法的一种。它与逐点比较法类似,是一种代数运算方法。但它的进给方式不像逐点比较法那样或x方向或y方向急剧变化,这对机械部分是有利的,特别是可以改善步进电机的谐振现象。另外,直接函数法可以比较并选择误差较小的一个进给方向,这也是它的一个优点。因为直接函数法每插补一步要试算两个方向并作比较。
图2-36 比较积分法直线插补轨迹
1.直线插补
(1) 卦限的划分。直接函数法将直角坐标的每个象限都用45°斜线分成2个区域,如图2-36所示。图2-36卦限的划分4个象限共分为8个区域,称为8个卦限,用0~7表示。对某一卦限内的直线进行插补时,只有u和u,v两种可能的进给方向。对于第Ⅰ象限的右下区域即“0”卦限来讲,直线插补时或是x方向走一步,或是x与y方向同时走一步。对于“1”卦限的直线插补,或是y方向走一步,或是x与y方向同时走一步。引入u和v坐标系的目的是将8个卦限的进给都统一用“0”卦限内的u和v坐标来计算,以简化插补程序,缩短运算时间。对8个卦限中的直线,这种坐标变换关系如表2-9所示。
normal style="TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align=center>表2-9 直线插补的坐标变换
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">卦 限
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">u
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">v
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">0
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">1
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">2
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+ya
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">3
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">4
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">5
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">6
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">7
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, -y
图2-37 “0”卦限的直线
(2) 误差函数与进给方向。图2-37中所示“0”卦限的直线终点为ue和ve,直线方程为
引入误差函数,显然,对于直线上的所有点均满足下式:
图2-38 “0”卦限的直线插补轨迹
为了减小插补误差,实际的DFB法还可以进一步对两个可能的进给方向作试算与比较,并选择一个误差最小的方向进给。
若往u方向进给一步,误差函数将为
将式(2-44)和式(2-45)分别代入上两式中,可得到两个试算结果,将它们的绝对值进行比较,以决定应向哪个方向进给。
图2-39 第Ⅰ象限圆弧
图2-40 圆弧插补各卦限的进给方向
为了使进给方向每次最多改变45°,仍旧划分0~7共8个卦限,将各卦限内的圆弧插补,都统一用“0”卦限的公式进行计算。每个卦限中又都有顺时针圆弧和逆时针圆弧两种情况,8个卦限中顺圆与逆圆的进给方向标在图2-40中,均用v和u,v代表。它们在xoy坐标系中的实际进给方向可根据卦限及圆弧走向用表2-10进行变换。显然,当每次插补运算时,除判断是否到达终点外,还要判断是否到达卦限的边界。如图2-39中第Ⅰ象限的逆圆在“0”卦限限时,它是沿+y向或-x和+y向进给的,到达“1”卦限的边界后,应改为沿-x向或-x和+y向进给。
<DIV align=center>normal style="TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align=center>表2-10 直线插补时进给方向的坐标变换
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">卦 限
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">顺 时 针 圆 弧
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">逆 时 针 圆 弧
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">v
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">u,v
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">v
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">u,v
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">0
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">1
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">2
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">3
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">4
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">5
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">6
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x, -y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, +y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">7
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">-x,-y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+y
normal style="TEXT-INDENT: 24pt; LINE-HEIGHT: 150%">+x, +y
以上各种情况下的实际进给方向,可参照表2-10得到。误差函数计算统一使用“0”卦限中推导的公式(2-47)、(2-48)(逆时针圆弧)或(2-49)、(2-50)(顺时针圆弧)。为此,要统一变换为u和v坐标,且u和v坐标的走向与实际进给方向的关系要与图2-40中“0”卦限情况一样。
除根据误差函数、卦限及圆弧走向判断本次应进给的方向外,插补运算还包括下列步骤:
(1) 计算△F(i+1);
(2) 修正并得到新的坐标值u(i+1)和v(i+1);
(3) 存入应进给方向的符号;
(4) 计算误差函数F(i+1);
(5) 检查进给后是否到达卦限的边界;
(6) 检查进给后是否到达预定圆弧的终点。
除了直线插补与圆弧插补外,DFB法还可以推广到用方程
描述的一般二次曲线。但由于在计算误差函数时,要与各系数作乘法运算,将使插补运算的速度显著变慢。在这种情况下,只好损失一些进给速度,而对于像抛物线这种二次曲线的特例,用直接函数法进行插补运算的速度则与圆弧插补时相当。此外,DFB法也可以推广到极坐标。这时,阿基米德螺旋线的插补可以归并为直线插补。
以上介绍了常用的几种基准脉冲插补法和数据采样插补法。在实际使用中还会见到上述一些插补算法的变形算法或扩展算法,如最小偏差法、单步追赶法、方向余弦法等等。读者需要时可参阅有关文献资料。


