第三节数字积分法插补

单位时间间隔?t,分别以增量kxe、kye同时累加的过程。据此可以作出直
N1?2NkN因为k=1/2,对于一个二进制数来说,使kxe(或kye)等于
即可。所以一个N位的寄存器存放xe(或ye)和存放kxe(或kye)的数
器容量相同的终点计数器JE 实现,其初值为0。每累加一次,JE 加1,当
2.DDA 直线插补软件流程 用DDA 法进行插补时,x 和y 两坐标可
同时进给,即可同N 时送出?x、?y 脉冲,同时每累加一次,要进行一次终
点判断。软件流程图见图3-13,其中JVx、JVy 为积分函数寄存器,JRx、JRy
图3-13 DDA 直线.DDA 直线 设有一直线OA,起点在坐标原点,终点的坐标为(4,6)。
以第一象限为例,设圆弧AE,半径为R,起点A(x0, y0),终点E(xe,ye),
N(xi,yi )为圆弧上的任意动点,动点移动速度为v,分速度为vx 和vy,
NN 与DDA 直线插补一样,取累加器容量为2, k=1/2 ,N 为累加器、
积函数器JVx、JVy 的对应关系与直线不同,即x 不是存入JVx 而是存入JVy、
y 不是存入JVy 而是存入JVx;二是JVx、JVy 寄存器中寄存的数值与DDA
中的内容。在起点时,JVx 和JVy 分别寄存起点坐标y0、x0。对于第一象
限逆圆来说,在插补过程中,JRy 每溢出一个?y 脉冲,JVx 应该加1;JRx
每溢出一个?x 脉冲,JVy 应减1。对于其他各种情况的DDA 圆弧插补,JVx
个坐标分别进行终点判断。实现这一点可利用两个终点计数器JEx 和JEy,
把x、y 坐标所需输出的脉冲数x0-xe、y0-ye分别存入这两个计数器中,
例3-4 设有第一象限逆圆弧AB,起点A(5,0),终点E(0,5),设
N3 解:JVx=0,JVy=5,寄存器容量为:2=2=8。运算过程见表3-6,
圆基本一致。其不同点在于,控制各坐标轴的?x 和?y 的进给脉冲分配方向
不同,以及修改JVx 和JVy 内容时,是“+1”还是“-1”要由y 和x 坐标的
,并记下左移位数,直到JVx 或JVy 中的一个JVx、JVy 中的数同时左
并不困难,只要在JVx、JVy 左移的同时,终点判断计数器JE 把“1”从最
为“1”(即保留一个前零)。也就是说,在圆弧插补中JVx、JVy 寄存器中
的数yi、xi 随插补而不断修正(即作±1 修正),作了+1 修正后,函数不断
另外,左移i 位相当于x、y 坐标值扩大了2 倍,即JVx、JVy 寄存器中
的数分别为2yi 和2x。当y 积分器有溢出时,JVx 寄存器中的数应改为 ii
当JRy 中溢出一个脉冲时,JVx 中的数应该加2(而不是加1),即应在JVx
的第i+1 位加1;同理,若JRx 有一个脉冲溢出,JVy 的数应减少2,即在
2) 余数寄存器预置数 在DDA 迭代之前,余数寄存器JRx、JRy 的初
N-1 存器JRx、JRy 的最高有效位置“1”,其余各位均置“0”,即N 位
。假定进给速度v 是均匀的,vx、vy、vz 分别表示动点在x、y、z 方
N 的选取也为1/2。由此可见,空间直线插补,x、y、z 单独累加溢出,