逐点比较法直线插补

逐点比较法直线插补
逐点比较法直线插补

§2—1 逐点比较法

逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。

逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。

在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。

一、 逐点比较法直线插补

如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。

图 2-1 直 线 差 补 过 程

A(x e ,y e )

P(x i ,y i )F>0

F<0

O

Y

X

图2-1 直线插补过程

点击进入动画观看逐点比较法直线插补

如图2—1所示,假定直线

OA 的起点为坐标原点,终点

A 的坐标为

e e i j A(x ,y ),P(x ,y )为加工点,若P 点正好处在直线

OA 上,那么下式成立:

e j i e x y - x y 0=

若任意点

i j P(x ,y )在直线 OA 的上方(严格地说,在直线

OA 与y 轴

所成夹角区域内),那么有下述关系成立:

j

e

i e

y y x x >

亦即:

e j i e x y - x y 0>

由此可以取偏差判别函数

ij F 为:

ij e j i e F x y - x y =

由 ij F 的数值(称为“偏差”

)就可以判别出P 点与直线的相对位置。即: 当 ij F =0时,点

i j P(x ,y )正好落在直线上;

当 ij F >0时,点

i j P(x ,y )落在直线的上方;

ij F <0时,点

i j P(x ,y )落在直线的下方。

从图2—1看出,对于起点在原点,终点为A ( e e x ,y )的第Ⅰ象限直线

OA 来说,当点P 在直线上方(即

ij F >0)时,应该向+x 方向发一个脉冲,使

机床刀具向+x 方向前进一步,以接近该直线;当点P 在直线下方(即

ij F <0)

时,应该向+y 方向发一个脉冲,使机床刀具向+y 方向前进一步,趋向该直线;当点P 正好在直线上(即 ij F =0)时,既可向+x 方向发一脉冲,也可向+y 方向

发一脉冲。因此通常将

ij F >0和 ij F =0归于一类,即

ij F ≥0。这样从坐标原点

开始,走一步,算一次,判别

ij F ,再趋向直线,逐点接近直线

OA ,步步前进。

当两个方向所走的步数和终点坐标A ( e e x ,y )值相等时,发出终点到达信号,

停止插补。

对于图2—1的加工直线OA ,我们运用上述法则,根据偏差判别函数值,就可以获得如图中折线段那样的近似直线。

但是按照上述法则进行

ij

F 的运算时,要作乘法和减法运算,这对于计算过

程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。下面推导该递推式:

已经知道,加工点的坐标为(

i j x ,y )时的偏差为:

ij e j i e F x y - x y =

ij F ≥0时,则向x 轴发出一进给脉冲,刀具从这点即(

i j x ,y )点向x

方向前进一步,到达新加工点P ( i+1j x ,y )

, i+1i x =x +1,因此新加工点P

i+1j x ,y )的偏差值为

i 1,j e j i+1e e j i e e j i e ij e F x y -x y x y (x +1)y =x y -x y F e y y =--=-+=

:

i+1,j ij e F F y -= (2-1)

如果某一时刻,加工点P (

i j x ,y )的

ij F <0,则向y 轴发出一个进给脉冲,

刀具从这一点向y 方向前进一步,新加工点P (

i j+1x ,y )的偏差值为

i,j+1e j+1i e e j i e e j i e i,j e F x y -x y x (y 1)x y =x y - x y F x e x =+-+==+

即:

i,j+1ij e F F x =+

(2-2)

根据式(2—1)及式(2—2)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。

综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即判别、进给、运算、比较。

(1) 判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。

(2) 进给。根据判别的结果,决定控制哪个坐标(x 或y )移动一步。 (3) 运算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(2—1)及式(2—2)来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差

ij F 推算出来的,并且一直递推下去,这样就要

知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的

ij F =0。

(4) 比较。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。

下面以实例来验证图2—1。设欲加工直线OA ,其终点坐标为

e x =5*,

e y =3*,则终点判别值可取为 8e e E =x +y =5+3=8(终点判别方法详见下述)。

开始时偏差 F =0∞,加工过程的运算节拍如表2—1所示。

图2-2 逐点比较法直线插补过程表2-1 逐点比较法直线插补运算举例

序号

工作节拍

第1拍:判别第2拍:进给第3拍:运算第4拍:比较

1 F00=0 +?x F10= F00-y e=0-3= -3 E7= E8-1=7

2 F10(= -3)<0 +?y F11 = F10+x e= -3+5=2E6= E7-1=6

3 F11(= 2)>0 +?x F21= F11-y e=2-3= -1 E5= E6-1=5

4 F 21(= -1) <0 +?y F 22= F 21+x e = -1+5=4 E 4= E 5-1=4

5 F 22(= 4)>0 +?x F 32= F 22-y e =4-3= 1 E 3= E 4-1=3

6 F 32(= 1)>0 +?x F 42 = F 32-y e =1-3= -2 E 2= E 3-1=2

7 F 42(= -2)<0 +?y F 43= F 42+x e = -2+5=3 E 1=E 2-1=1

8 F 43(= 3)>0 +?x

F 53= F 43-y e =3-3=0 E 0=E 1-1=0

到达终点

二、 逐点比较法圆弧插补

加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧,半径为R ,以原点为圆心,

起点坐标为A(

00x ,y ),对于圆弧上任一加工点的坐标设为P( i j x ,y ),P 点与圆

心的距离 P R 的平方为 222

P

i j R =x +y ,现在讨论这一加工点的加工偏差。 O

Y

X F < 0R

R p

E

P(x i ,y i )

F > 0

A(x 0,y 0)

图 2 - 2 圆 弧 差 补 过 程

图2-3 圆弧插补过程

点击进入动画观看逐点比较法圆弧插补

若点P(

i j x ,y )正好落在圆弧上,则下式成立:

22222i j 00x +y =x +y =R

若加工点P(

i j x ,y )在圆弧外侧,则

P R >R ,即:

2222i j 00x +y >x +y

若加工点P(

i j x ,y )在圆弧内侧,则

P R

2222i j 00x +y >x +y

将上面各式分别改写为下列形式:

2222i 0j 0(x -x )+(y -y )=0(加工点在圆弧上) 2222i 0j 0(x -x )+(y -y )>0(加工点在圆弧外侧)

2222i 0j 0(x -x )+(y -y )<0

(加工点在圆弧内侧)

取加工偏差判别式为:

2222ij i 0j 0F =(x -x )+(y -y )

运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。 若P(

i j x ,y )在圆弧外或圆弧上,即满足

ij F ≥0的条件时,应向x 轴发出一

个负向运动的进给脉冲(—Δx),即向圆内走一步。若P( i j x ,y )在圆弧内侧,即

满足

ij F <0的条件,则向y 轴发出一个正向运动的进给脉冲(+Δy),即向圆弧外

走一步。为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。

设加工点P(

i j x ,y )在圆弧外侧或圆弧上,则加工偏差为

2222ij i 0j 0F =(x -x )+(y -y )0

x 坐标需向负方向进给一步(—Δx),移到新的加工点P(

i+1j x ,y )位置,此时

新加工点的x 坐标值为 i x -1,y 坐标值仍为 i y ,新加工点P( i+1j x ,y )的加工偏

差为:

22222i+1,j i 0j 0F =(x -1)-x +y -y

经展开并整理,得:

i+1,j ij F =F 21i x -+ (2-3)

设加工点P(

i j x ,y )在圆弧的内侧,则:

ij F <0

那么,y 坐标需向正方向进给一步(+Δy),移到新加工点P( i j+1x ,y ),此时

新加工点的x 坐标值仍为 i x ,y 坐标值则改为 j y 1+,新加工点P(

i j+1x ,y )

的加工偏差为:

2222i,j+1i 0j 0F =x -x +(y +1)y -,展开上式,并整理得:

i,j+1ij F =F 21i y ++

综上所述可知:当 ij F ≥0时,应走—Δx ,新偏差为

i+1,j ij F =F 21i x -+,动

点(加工点)坐标为

i+1i x =x -1, j j y y =;当 ij F <0

时,应走+Δy ,新偏差为

i,j+1ij F =F 21i y ++,动点坐标为 j j y y =,

i+1i =y +1y 。

下面举例说明插补过程。设欲加工第Ⅰ象限逆时针走向的圆弧(见图2

—4),起点A 的坐标是 00x =4,y =3,终点E 的坐标是 e e x =0,y =5,终点判

别值:

0e e 0E=x -x +y -y 4053=-+-()()()()=6

O Y

图 2-3 圆 弧 实 际 轨 迹

图2-4 圆弧实际轨迹

图2-5 逐点比较法圆弧插补过程

加工过程的运算节拍见表2—3,插补后获得的实际轨迹如图2—3折线所示。

可见,圆弧插补偏差计算的递推公式也是比较简单的。但计算偏差的同时,

还要对动点的坐标进行加1、减1运算,为下一点的偏差计算做好准备。

和直线插补一样,除偏差计算外,还要进行终点判别计算。每走一步,都要从两坐标方向总步数中减去1,直至总步数被减为零(发终点到达信号)时为止,才终止计算。

表2-3 逐点比较法圆弧插补运算举例

逐点比较法插补第Ⅰ象限直线和第Ⅰ象限逆圆弧的计算流程图分别见图2—

4和图2—5。

图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四种线型都取相同的偏差运算公式,无须改变。

(a)

(b)

图2-6 直线和圆弧不同象限的走向

图2-6 直线和圆弧不同象限的走向

还可以看出,按NR1线型插补时,把运算公式的坐标x 和y 对调,以x 作y ,以y 作x ,那么就得到SR1的走向。按上述原理,应用SR1同一运算公式,适当改变进给方向也可获得其余线型SR3,NR2,NR4的走向。

这就是说,若针对不同象限建立类似于第Ⅰ象限的坐标,就可得到与第Ⅰ象限直线和第Ⅰ象限逆圆的类似情况,从而可以用统一公式作插补计算,然后根据象限的不同发出不同方向的脉冲。图2—6(a)、(b)分别为8种圆弧和4种直线的坐标建立情况,据此可以得到表2—3的进给脉冲分配类型。

表2-3 △x,△y脉冲分配的12种类型

从表2—3可以看出,对于直线(G01)来说,按照第Ⅰ象限直线偏差计算公式得到的Δx和Δy脉冲,根据不同的象限,分配到机床不同坐标(X,Y)的正负方向上。即若是第Ⅱ象限直线,则Δx应发往+Y坐标;若是第Ⅲ象限直线,则Δx应发往 X坐标,等等。由此表可以得到发往±X,±Y坐标方向的脉冲分配逻辑式为

+X=G02·Δy·Ⅰ+G01·Δx·Ⅰ+G02·Δx·Ⅱ+G03·Δx·Ⅲ

+G03·Δy·Ⅳ+G01·Δy·Ⅳ

-X=G03·Δx·Ⅰ+G03·Δy·Ⅱ+G01·Δy·Ⅱ+G02·Δy·Ⅲ

+G01·Δx·Ⅲ+G02·Δx·Ⅳ

+Y=G03·Δy·Ⅰ+G01·Δy·Ⅰ+G02·Δy·Ⅱ+G01·Δx·Ⅱ

+G02·Δx·Ⅲ+G03·Δx·Ⅳ

-Y=G02·Δx·Ⅰ+G03·Δx·Ⅱ+G03·Δy·Ⅲ+G01·Δy·Ⅲ

+G02·Δy·Ⅳ+G01·Δx·Ⅳ

2.逐点比较法的终点判别

逐点比较法的终点判别方法大致有下列几种:

(1)设置一个终点减法计数器J E,插补运算开始前记入该程序x及y坐标的加工总长(即x和y的位移总步数),在插补过程中,x或y向每走一步,就从总步数中减去1,直至J E中存数被减为零,表示到达终点。这种方法,前例已作介绍。

(2)设置两个计数器J EX及J EY,分别控制两个坐标轴的加工长度。若沿x 轴移动一步,从J EX中减1;同样,若沿y轴移动一步,从J EY中减1。当J EX及J EY中存数均被减为零时,表示到达终点。

(3)设置一个终点减法计数器J E,插补运算开始前记入该程序x坐标轴(或y轴)上的投影加工总长度E x(或E y)——应选取E x和E y中较大的坐标值作为终点判别坐标。在插补过程中,若J E中寄存的是E x,则每当沿x轴走一步,即从J E存数中减去1(若J E中寄存E y,则每当沿y轴走一步,即从J E中减去1),直至J E存数被减为零,表示到达终点。

逐点比较法除能插补直线和圆弧之外,还能插补椭圆、抛物线和双曲线等二次曲线。此法进给速度平稳,精度较高,无论是在普通NC系统还是在CNC系

统中都有着非常广泛的应用。下面就来分析逐点比较法插补时的进给速度问题。

四、逐点比较法的合成进给速度

从前面的讨论知道,插补器向各个坐标分配进给脉冲,这些脉冲造成坐标的移动。因此,对于某一坐标而言,进给脉冲的频率就决定了进给速度。以 x 坐

标为例,设

x f 为以“脉冲/s ”表示的脉冲频率, x v 为以“mm/min ”表示的

进给速度,它们有如下的比例关系:

60x x v f δ=

式中δ为脉冲当量,以“mm/脉冲”表示。

各个坐标进给速度的合成线速度称为合成进给速度或插补速度。对三坐标系统来说,合成进给速度 v 为

v =

式中

x y z v v v ,,分别为 x , y ,

z 三个方向的进给速度。

合成进给速度直接决定了加工时的粗糙度和精度。我们希望在插补过程中,合成进给速度恒等于指令进给速度或只在允许的范围内变化。但是实际上,合成进给速度 v 与插补计算方法、脉冲源频率及程序段的形式和尺寸都有关系。也就是说,不同的脉冲分配方式,指令进给速度 F 和合成进给速度 v 之间的换算

关系各不相同。

现在,我们来计算逐点比较法的合成进给速度。

我们知道,逐点比较法的特点是脉冲源每产生一个脉冲,不是发向 x 轴

( x ?),就是发向 y 轴( y ?)。令 g f 为脉冲源频率,单位为“个脉冲/s ”,

则有

g x y f f f =+

从而

x 和 y 方向的进给速度 x v 和 y v (单位为mm/min )分别为

60x x v f δ= 60y y v f δ=

合成进给速度 v 为

60v ==当

0x f =(或 0y f =)时,也就是进给脉冲按平行于坐标轴的方向分配

时有最大速度,这个速度由脉冲源频率决定,所以称其为脉冲源速度 g v (实质

是指循环节拍的频率,单位为mm/min )。

60g g v f δ=

合成进给速度 v 与

g v 之比为

g

g

v

v f x y ==

+

其插补速度 v 的变化范围为 ()10.707g v v =:,最大速度与最小速度之

比为

max

min

1.414

v v k v ==

这样的速度变化范围,对一般机床来说已可满足要求,所以逐点比较法的进给速度是较平稳的。

§2—3 数字积分法

一、 DDA 的基本原理 由高等数学可知,求函数

()y f t =对

t 的积分运算,从几何概念上讲,就

是求此函数曲线 所包围的面积

F (图2—7),即

()

110

lim n b

i i a

n i F ydt y t t -+→∞

===-∑?

O Y

图2-7 函数的积分

-t i

t n =b

0i i+1

若把自变量的积分区间[

a ,

b ]等分成许多有限的小区间 t ?(其中

1i i t t t +=-V ),这样,求面积可以转化成求有限个小区间面积之和,即

1

1

n n i i i i F F y t

--====∑∑V V

数字运算时,Δt 一般取最小单位“1”,即一个脉冲当量,则

1

n i

i F y -==∑

由此可见,函数的积分运算变成了变量的求和运算。当所选取的积分间隔Δt 足够小时,

则用求和运算代替求积运算所引起的误差可以不超过允许的值。

二、

D DA 直线插补

设我们要对 xy 平面上的直线进行脉冲分配,直线起点为坐标原点 O ,终

点为

()e e E x y ,,如图2-8所示。

插补运动(逐点比较法)

1、概述 在机床的实际加工中,被加工工件的轮廓形状千差万别,各式各样。严格说来,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成。然而,对于简单的曲线,数控装置易于实现,但对于较复杂的形状,若直接生成,势必会使算法变得很复杂,计算机的工作量也相应地大大增加。因此,在实际应用中,常常采用一小段直线或圆弧去进行逼近,有些场合也可以用抛物线、椭圆、双曲线和其他高次曲线去逼近(或称为拟合)。所谓插补是指数据密化的过程。在对数控系统输入有限坐标点(例如起点、终点)的情况下,计算机根据线段的特征(直线、圆弧、椭圆等),运用一定的算法,自动地在有限坐标点之间生成一系列的坐标数据,即所谓数据密化,从而自动地对各坐标轴进行脉冲分配,完成整个线段的轨迹运行,以满足加工精度的要求。 机床数控系统的轮廓控制主要问题就是怎样控制刀具或工件的运动轨迹。无论是硬件数控(NC)系统,还是计算机数控(CNC)系统或微机数控(MNC)系统,都必须有完成插补功能的部分,只是采取的方式不同而已。在CNC或MNC中,以软件(程序)完成插补或软、硬件结合实现插补,而在NC中有一个专门完成脉冲分配计算(即插补计算)的计算装置——插补器。无论是软件数控还是硬件数控,其插补的运算原理基本相同,其作用都是根据给定的信息进行数字计算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路线移动。 有关插补算法问题,除了要保证插补计算的精度之外,还要求算法简单。这对于硬件数控来说,可以简化控制电路,采用较简单的运算器。而对于计算机数控系统来说,则能提高运算速度,使控制系统较快且均匀地输出进给脉冲。 经过多年的发展,插补原理不断成熟,类型众多。从产生的数学模型来分,有直线插补、二次曲线插补等;从插补计算输出的数值形式来分,有基准脉冲插补(又称脉冲增量插补)和数据采样插补。在基准脉冲插补中,按基本原理又分为以区域判别为特征的逐点比较法插补,以比例乘法为特征的数字脉冲乘法器插补,以数字积分法进行运算的数字积分插补,以矢量运算为基础的矢量判别法插补,兼备逐点比较和数字积分特征的比较积分法插补,等等。在CNC系统中,除了可采用上述基准脉冲插补法中的各种插补原理外,还可采用各种数据采样插补方法。 本文将介绍在数控系统中常用的逐点比较法、数字积分法、时间分割法等多种插补方法以及刀具半径补偿计算原理。 2、逐点比较法 逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。

逐点比较法插补原理实验报告

南昌航空大学实验报告 年月日 课程名称:数控技术实验名称:逐点比较法插补原理 班级:姓名:同组人: 指导老师评定:签名: 一、实验的目的与要求 1.目的 ①掌握逐点比较法插补的原理及过程; ②掌握利用计算机高级语言,设计及调试“插补运算轨迹”模拟画图的程序设计方法; ③进一步加深对插补运算过程的理解; 二、实验仪器 计算机一台 三、实验原理 ①逐点比较法插补运算的原理 首先粗略的简单介绍一下机床是如何按照规定的图形加工出所需的工件的。例如,现在要加工一段圆弧(图2-1),起点为A,终点为B,坐标原点就是圆心,Y轴、X轴代表纵、横拖板的方向,圆弧半径为R。 如从A点出发进行加工,设某一时刻加工点在M1,一般来说M1和圆弧 有所偏离。因此,可根据偏离的情 况确定下一步加工进给的方向,使下 一个加工点尽可能向规定图形(即圆 弧)靠拢。 若用R M1表示加工点M1到圆心O 的距离,显然,当R M1

可以看出,加工的结果是用折线来代替圆弧,为了清楚起见,在图2-1中,每步的步长画的很大,因此加工出来的折线与所需圆弧的误差较大。 若步长缩小,则误差也跟着缩小,实际加工时,进给步长一般为1微米,故实际误差时很小的。 ②计算步骤 由上述可以看出,拖板每进给一步都要完成四个工作节拍。 偏差判别:判别偏差符号,确定加工点是在要求图形外还是在图形内。 工作台进给:根据偏差情况,确定控制X坐标(或Y坐标)进给一步,使加工点向规定的图形靠拢,以缩小偏差。 偏差计算:计算进给一步后加工点与要求图形的新偏差,作为下一步偏差判别的依据。 终点判断:判定是否到达终点,如果未达到终点,继续插补,如果以到达终点,停止插补。 计算步骤的框图如下所示: 图2-2 逐点比较法插补计算步骤 ③插补运算公式 插补运算公式表 四、实验内容及步骤 应用VB设计逐点比较法的插补运算程序,在计算机屏幕上画出轨迹图。 1 程序界面 采用图形显示方式,动态的显示出直线和圆弧的插补过程。

逐点比较法直线插补圆弧插补实例

逐点比较法直线插补 (1)偏差函数构造 对于第一象限直线OA上任一点(X,Y):X/Y = Xe/Ye 若刀具加工点为Pi(Xi,Yi),则该点的偏差函数Fi可表示为: 若Fi= 0,表示加工点位于直线上; 若Fi> 0,表示加工点位于直线上方; 若Fi< 0,表示加工点位于直线下方。 (2)偏差函数字的递推计算 采用偏差函数的递推式(迭代式):既由前一点计算后一点 Fi =Yi Xe -XiYe 若Fi>=0,规定向+X 方向走一步 Xi+1 = Xi +1 Fi+1 = XeYi –Ye(Xi +1)=Fi –Ye 若Fi<0,规定+Y 方向走一步,则有 Yi+1 = Yi +1 Fi+1 = Xe(Yi +1)-YeXi =Fi +Xe (3)终点判别 直线插补的终点判别可采用三种方法。 1)判断插补或进给的总步数:2)分别判断各坐标轴的进给步数;3)仅判断进给步数较多的坐标轴的进给步数。 (4)例 对于第一象限直线OA,终点坐标Xe=6 ,Ye=4,插补从直线起点O开始,故F0=0 。终点判别是判断进给总步数N=6+4=10,将其存入终点判别计数器中,每进给一步减1,若N=0,则停止插补。

逐点比较法圆弧插补(1)偏差函数构造 任意加工点Pi(Xi,Yi),偏差函数Fi可表示为 若Fi=0,表示加工点位于圆上;

若Fi >0,表示加工点位于圆外; 若Fi <0,表示加工点位于圆内 (2)偏差函数的递推计算 1) 逆圆插补 若F ≥0,规定向-X 方向走一步 若Fi<0,规定向+Y 方向走一步 2) 顺圆插补 若Fi ≥0,规定向-Y 方向走一步 若Fi<0,规定向+y 方向走一步 (3)终点判别 1)判断插补或进给的总步数: 2)分别判断各坐标轴的进给步数: (4)例 对于第一象限圆弧AB ,起点A (4,0),终点B (0,4) ???+-=-+-=-=++12)1(122211i i i i i i i X F R Y X F X X ???++=-++=+=++12)1(122211i i i i i i i Y F R Y X F Y Y ???+-=--+=-=++12)1(122211i i i i i i i Y F R Y X F Y Y ???++=-++=+=++12)1(122211i i i i i i i X F R Y X F X X b a b a Y Y X X N -+-=b a x X X N -= b a y Y Y N -=

基于FPGA的逐点比较圆弧插补算法设计

二○一三届毕业设计 基于FPGA逐点比较圆弧插补算法设计 学院:电子与控制工程学院 专业:电子科学与技术 姓名:…….. 学号:……… 指导教师:…….. 完成时间:2013年5月 二〇一三年五月

摘 要 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 摘 要 本课题主要是研究基于VHDL 实现数控系统中的逐点比较圆弧插补,要求圆弧运动过程平滑,在各象限能顺利过渡,并有较小的设计误差,能与运动控制部分很好的集成,实现较高的切割频率。 本课题采用QuartusII 软件来调试程序,并进行波形仿真。主要的工作如下: 1) 理解数控系统中逐点比较圆弧插补算法的原理及其实现方法; 2) 通过硬件描述语言VHDL 在FPGA 上实现上述算法; 3) 完成圆弧插补的仿真与测试。 关键词:VHDL ,FPGA ,逐点比较法,QuartusII

ABSTRACT ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ABSTRACT This topic mainly studies based on VHDL realization of point by point comparison circular arc interpolation in nc system, the movement for arc process smooth, in each quadrant can smooth transition, and a relatively small design error, can very good integration with motion control part, realize the high frequency of cutting. This subject adopts software QuartusII to debug program and waveform simulation. The main work is as follows: 1. Understand CNC system the principle of point by point comparison in circular arc interpolation algorithm and its realization method 2. Through the hardware description language VHDL FPGA to realize the above algorithms. 3. Finish arc interpolation of simulation and test KEY WORDS : VHDL, FPGA, point-by-point comparison, QUARTUS II

逐点比较法插补实验报告

实验报告 实验内容:逐点比较法直线和圆弧插补2011年9月25日 院系:物科院班级:085 学号:07080518 姓名:陈实 实验目的: 利用逐点比较法的插补原理,编写直角坐标系下的直线、圆弧插补程序,观察屏幕上仿真的运动轨迹,掌握逐点比较法的插补原理。 实验原理: 逐点比较发是基于动点与理想曲线院函数的比较来实现插补的。逐点比较法的插补过程,每走一步要进行一下四个步骤: 偏差判别:根据偏差值确定刀具相对加工曲线的位置 坐标进给:根据偏差判别的结果,决定控制线沿哪个坐标进给一步以接近曲线 偏差计算:计算新加工店相对曲线的偏差,作为下一步偏差判别的依据 终点判别:判别是否到达终点,未到达终点则返回第一步继续插补,到终点则停止 1、逐点比较法直线插补原理: 逐点比较法在第一象限的直线插补原理如下图所示,其他象限情况可依次类推。 现加工OE直线,如果刀具动点在OE直线上方或在线上,则令刀具沿X正方向进给一步;若刀具动点在OE直线下方,则令刀具沿Y轴正方向进给一步,如此循环直到加工到E点。判别刀具动点的位置根据偏差函数判别公式: 根据这个公式可以推到出两种不同情况下的地推公式:

对于插补终点的判别,可以采用单向的计数长度法,即:取计数长度M等于Xe、Ye中的大者,并设该坐标方向为计数方向。插补时,仅在该方向上产生进给时,计数长度减一。图1的逐点比较法中,工作循环的结束条件就是M减为0. 2、逐点比较法圆弧插补原理: 逐点比较法在第一象限的圆弧插补原理如图所示,其他象限可一次类推: 对于第一象限的逆圆弧,如果动点在圆弧的外侧则令刀具动点沿X轴负方向进给一步。如果动点在圆弧的内侧则令刀具沿Y轴正方向进给一步。 圆弧的偏差计算公式为: 根据这个公式同样可推导出圆弧插补的两种不同情况下的递推公式: 对于插补终点的判别,同样可以采用单向的计数长度法,不过对于圆弧,计数的方向并不取决于终点坐标中的大者,而是取决于圆弧终点处。 逐点比较法插补中需要编写插入部分流程图:

逐点比较法直线插补圆弧插补实例

逐点比较法直线插补(1)偏差函数构造 对于第一象限直线OA上任一点(X,Y):X/Y=Xe/Ye 若刀具加工点为Pi(Xi,Yi),则该点的偏差函数F i 可表示 为 : 若Fi=0,表示加工点位于直线上; 若Fi>0,表示加工点位于直线上方; 若Fi<0,表示加工点位于直线下方。 (2)偏差函数字的递推计算 采用偏差函数的递推式(迭代式):既由前一点计算后一点 Fi=YiXe-XiYe 若Fi>=0,规定向+X 方向走一步 Xi+1=Xi+1 Fi+1=XeYi–Ye(Xi+1)=Fi–Ye 若Fi<0,规定+Y方向走一步,则有 Yi+1=Yi+1 Fi+1=Xe(Yi+1)-YeXi=Fi+Xe (3)终点判别 直线插补的终点判别可采用三种方法。 1)判断插补或进给的总步数:2)分别判断各坐标轴的进给步数;3)仅判断进给步数较多的坐标轴的进给步数。(4)例 对于第一象限直线OA,终点坐标Xe=6,Ye=4,插补从直线起点O开始,故F0=0。终点判别是判断进给总步数 N=6+4=10,将其存入终点判别计数器中,每进给一步减1,若N=0,则停止插补。

逐点比较法圆弧插补 (1)偏差函数构造 任意加工点Pi(Xi,Yi),偏差函数Fi可表示为若Fi=0,表示加工点位于圆上; 若Fi>0,表示加工点位于圆外; 若Fi<0,表示加工点位于圆内 (2)偏差函数的递推计算 1)逆圆插补 若F≥0,规定向-X方向走一步 X i1X i1 F i1(X i1)2Y i 2R2F i2X i1 若Fi<0,规定向+Y方向走一步 Y i1Y i1 F i1X i2(Y i1)2R2F i2Y i1

直线及圆弧插补程序--逐点比较法

此程序是根据《微型计算机控制技术》(第二版)清华大学出版社 第三章数字控制技术——3.2插补原理中的3.2.1逐点比较法的直线插补,3.2.2逐点比较法圆弧插补编写的。其中的变量定义,原理依据均来源于此,如有疑问,请参考书中的讲解。尤其是例子,以下两个程序的第一个运行图均与例题中的一致。 一、四象限直线插补程序 分别加工第一、二、三、四象限直线,起点均为(0,0),终点坐标为(NX,NY),进行插补计算。 程序中(NX,NY)为终点坐标;NXY为总步数;XOY=1,2,3,4,分别为第一、二、三、四象限; ZF=1,2,3,4,分别代表+x,-x,+y,-y走步方向;FM为加工点偏差,初值为0。 源程序: # include "stdio.h" # include "string.h" # include "math.h" void main() { int NX,NY,NXY,BS,XOY,ZF; int FM=0; char a[10]="+X",b[10]="-X",c[10]="+Y",d[10]="-Y",e[10]; printf("\n\n请输入NX,NY\n"); scanf("%d %d",&NX,&NY); {if(NX>0) if(NY>0)

XOY=1; else XOY=4; else if(NY>0) XOY=2; else XOY=3;} printf("终点在第%d象限\n",XOY); printf("\n 步数坐标进给偏差计算终点判断\n\n"); BS=fabs(NX) + fabs(NY); for(NXY= fabs(NX) + fabs(NY)-1;NXY>=0;NXY--) { if(FM>=0) {if(XOY==1||XOY==4) { ZF=1; strcpy(e,a);} else { ZF=2; strcpy(e,b); } FM=FM-fabs(NY); printf(" %d %s FM=%d NXY=%d\n\n",BS-NXY,e,

逐点比较法直线插补

§2—1 逐点比较法 逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。 逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。 在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。 一、 逐点比较法直线插补 如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。 图 2-1 直 线 差 补 过 程 e ) O Y 图2-1 直线插补过程 点击进入动画观看逐点比较法直线插补

如图2—1所示,假定直线 OA 的起点为坐标原点,终点 A 的坐标为 e e i j A(x ,y ),P(x ,y )为加工点,若P 点正好处在直线 OA 上,那么下式成立: e j i e x y - x y 0= 若任意点 i j P(x ,y )在直线 OA 的上方(严格地说,在直线 OA 与y 轴 所成夹角区域内),那么有下述关系成立: j e i e y y x x > 亦即: e j i e x y - x y 0> 由此可以取偏差判别函数 ij F 为: ij e j i e F x y - x y = 由 ij F 的数值(称为“偏差” )就可以判别出P 点与直线的相对位置。即: 当 ij F =0时,点 i j P(x ,y )正好落在直线上; 当 ij F >0时,点 i j P(x ,y )落在直线的上方; 当 ij F <0时,点 i j P(x ,y )落在直线的下方。 从图2—1看出,对于起点在原点,终点为A ( e e x ,y )的第Ⅰ象限直线OA 来说,当点P 在直线上方(即 ij F >0)时,应该向+x 方向发一个脉冲,使机床 刀具向+x 方向前进一步,以接近该直线;当点P 在直线下方(即 ij F <0)时, 应该向+y 方向发一个脉冲,使机床刀具向+y 方向前进一步,趋向该直线;当点P 正好在直线上(即 ij F =0)时,既可向+x 方向发一脉冲,也可向+y 方向发一 脉冲。因此通常将 ij F >0和 ij F =0归于一类,即 ij F ≥0。这样从坐标原点开始,

逐点比较法直线插补圆弧插补实例

N=6+4=10,将其存入终点判别计数器中,每进给一步减 1,若N=0,则停止插补。 (1)偏差函数构造 对于第一象限直线 0A 上任一点(X,Y): X/Y = Xe/Ye Pi (Xi , Yi ),则该点的偏差函数 Fi 可表示为: (2 )偏差函数字的递推计算 采用偏差函数的递推式(迭代式):既由前一点计算后一点 Fi =Yi Xe -XiYe 若Fi>=0,规定向 +X 方向走 Xi+1 = Xi +1 Fi+1 = XeYi 讦e(Xi +1)=Fi 讦e 若Fi<0,规定+Y 方向走一步,则有 Yi+1 = Yi +1 Fi+1 = Xe(Yi +1)-YeXi =Fi +Xe (3 )终点判别 直线插补的终点判别可采用三种方法。 逐点比较法直线插补 若刀具加工点为 若 Fi= 0, 表示加工点位于直线上; 若 Fi> 0, 表示加工点位于直线上方; 若 Fi< 0, 表示加工点位于直线下方。

1)判断插补或进给的总步数:2)分别判断各坐标轴的进给步数;3)仅判断进给步数较多的坐标轴的进给步数。 (4)例 对于第一象限直线0A终点坐标Xe=6 ,Ye=4,插补从直线起点0开始,故F0=0。终点判别是判断进给总步数

10 4 逐点比较法圆弧插补(1)偏差函数构造 任意加工点Pi (Xi , Yi),偏差函数Fi可表示为 若Fi=0,表示加工点位于圆上; 若Fi >0,表示加工点位于圆外; 2

若Fi<0,表示加工点位于圆内 (2)偏差函数的递推计 算 1)逆圆插补 若F> 0,规定向-X方向走一步X i 1 X i 若Fi<0,规定向+Y方向走一步 2)顺圆插补 若Fi > 0,规定向-Y方向走一步若Fi<0,规定向+y方向走一步 (3 )终点判 别 1 )判断插补或进给的总步数: 2)分别判断各坐标轴的进给步数: (4)例F i Y i F i Y i F i X i 1 F i 1 N x 对于第一象限圆弧AB,起点A(4,0), (X i Y i X i2 Y i X i2 X i (X i X a X a 终点 1 1)2 (Y i (Y i 1 1)2 X b X b B (0, Y i2 1)2 1)2 Y i2 Y a R2 R2 R2 R2 Y b N y F i F i F i F i Y a 2X i 2Y i 2Y i 2X i Y b

VB软件_模拟逐点比较法逆圆弧插补的程序设计

宿迁学院 课程设计说明书 设计题目: 基于VB数字积分法一、二象限逆圆插补计算与仿真 系(部):机电工程系 专业:自动化(数控技术) 班级: 09数控本(2) 姓名:李伟 学号: 200907052 指导老师(签名):刘萍 起止时间:20 12年12月3日至2012年12月7 日共1周 20 12年12 月6 日

正文: 数控原理与系统课程设计说明书 一、课程设计的目的 1)了解连续轨迹控制数控系统的组成原理。 2) 掌握逐点比较法插补的基本原理。 3)握逐点比较法插补的软件实现方法。 二.课程设计的任务 逐点比较法插补是最简单的脉冲增量式插补算法之一,其过程清晰,速度平稳,但一般只用于一个平面内两个坐标轴的插补运算。其基本原理是在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进 给方向,使刀具向减小偏差的方向进给, 且只有一个方向的进给。也就是说,逐点 比较法每一步均要比较加工点瞬时坐标 与规定零件轮廓之间的距离,依此决定 下一步的走向。如果加工点走到轮廓外 面去了,则下一步要朝着轮廓内部走;如 果加工点处在轮廓的内部,则下一步要 向轮廓外面走,以缩小偏差,这样周而复 始,直至全部结束,从而获得一个非常接 近于数控加工程序规定轮廓的轨迹。逐 点比较法插补过程中的每进给一步都要 经过偏差判别、坐标进给、偏差计算和终点判别四个节拍的处理,其工作流程图如图所示。 三.逐点比较法基本原理 逐点比较法I象限逆圆插补

在加工圆弧过程中,人们很容易联想到使用动点到圆心的距离与该圆弧的名义半径进行比较来反映加工偏差。 假设被加工零件的轮廓为第Ⅰ象限逆走向圆弧SE,,圆心在O(0,0),半径为R,起点为S(XS,YS ),终点为E(Xe,Ye),圆弧上任意加工动点为N (X i,Yi)。当比较该加工动点到圆心的距离ON 与圆弧半径R的大小时,可获得刀具与圆弧轮廓之间的相对位置关系。 当动点N(Xi,Yi )正好落在圆弧上时,则有下式成立 22222R Y X Y X e e i i =+=+ 当动点N(Xi ,Y i)落在圆弧外侧时,则有下式成立 22222R Y X Y X e e i i =+>+ 当动点N (X i,Y i)落在圆弧内侧时,则有下式成立 22222R Y X Y X e e i i =+<+ 由此可见,取逐点比较法圆弧插补的偏差函数表达式为 222R Y X F i i -+= 当动点落在圆外时,为了减小加工误差,应向圆内进给,即向(-X )轴方向走一步;当动点落在圆内时,应向圆外进给,即向(+Y )轴方向走一步。当动点正好落在圆弧上且尚未到达终点时,为了使加工继续下去,理论上向(+Y)轴或(-X)轴方向进给均可以,但一般情况下约定向(-X )轴方向进给。 综上所述,现将逐点比较法第Ⅰ象限逆圆插补规则概括如下: 当F>0时,即2 22 R Y X F i i -+=>0,动点落在圆外,则向(-X )轴方向进给一 步; 当F=0时,即2 22 R Y X F i i -+==0,动点正好落在圆上,约定向(-X)轴方向

逐点比较法——直线插补

电 子 教 案 § 逐点比较法——直线插补 一、概述 二 、直线插补 偏差判别: (1)动点m 在直线上: (2)动点m 在直线上方: (3)动点m 在直线下方: 偏差判别函数 坐标进给 动点m 在直线上: ,可沿+⊿x 轴方向,也可沿+⊿y 方向; 动点m 在直线上方: ,沿+⊿x 方向; 动点m 在直线下方: ,沿+⊿y 方向。 m e m e 0 y x x y -=m e m e 0 y x x y ->m e m e 0 y x x y -

新偏差计算 +⊿x 轴方向进给 +⊿y 轴方向进给 终点比较:用Xe +Ye 作为计数器,每走一步对计数器进行减 1计算,直到计数器为零为止。 m 1m 1e m 1e m e F y x x y F y +++=-=-m 1m e F F x +=+

教学程序教学内容及教学双边活动与 教学方法 导入 新课讲授 探究总结 在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具 与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的 进给方向,使刀具向减小误差的方向进给。其算法最大偏差不会超 过一个脉冲当量δ。 §逐点比较法——直线插补 一、概述 初称区域判别法,又称代数运算法或醉步式近似法。这种方法 应用广泛,能实现平面直线、圆弧、二次曲线插补,精度高。 每进给一步需要四个节拍: (1)偏差判别:判别加工点对规定图形的偏离位置,决定拖 板进给的走向。 (2)坐标进给:控制某个坐标工作台进给一步,向规定的图 形靠拢,缩小偏差。 (3)偏差计算:计算新的加工点对规定图形的偏差,作为下 一步判别的依据。 (4)终点判断:判断是否到达终点。若到达则停止插补,若 介绍 讲授 图示 分析 讲授法 理解 记忆

逐点比较插补算法设计

学院 毕业论文(设计) 2015 届机械设计制造及其自动化专业 13 班级 题目逐点比较插补算法设计 姓名学号 1 指导教师职称教授 二О一五年五月二十一日

摘要 逐点比较法是数控加工中常用的插补方法,通过控制刀具每次移动的位置与理想位置的误差函数进而实现零件加工,鉴于VB编程简单、直观,采用VB可以实现逐点比较插补原理的相关程序设计及加工过程虚拟化。插补技术是机床数控系统的核心技术,逐点比较法可以实现直线和圆弧插补算法,其算法的优劣直接影响零件直线和圆弧轮廓的加工精度和加工速度。文章在传统的逐点比较直线插补与圆弧插补算法的基础上,提出以八方向进给取代传统的四方向进给,研究了偏差最小的走步方向的实现方法,同时研究了保证数控机床坐标进给连续的偏差递推计算过程。结果表明,新算法可以提高零件轮廓的逼近精度且减少了插补计算次数,从而提高了零件直线和圆弧轮廓的加工精度和加工速度。 关键词 数控;插补;逐点比较;逼近;偏差函数 The algorithm design of point-to-point comparison Author: LI Zhiyuan Tutor: Chen Liangji Abstract Abstract: The algorithm of point-to-point comparison is a typical plugging method in processing of numerical control,manufacturing parts by controlling error function between the position the cutting tool moves to and the perfect program is simple and visual,which can visualize the programming and processing of The algorithm of point-to-point comparison. Interpolation technology is the core technology of machine tool’s CNC system. The algorithm of point-to-point comparison can achieve the algorithms of linear and circular algorithm of point-to-point comparison

逐点比较法直线插补原理的实现

武汉理工大学华夏学院 课程设计报告书 题目: 系名: 专业班级: 姓名: 学号: 指导教师: 2011 年 6 月14 日

摘要 本文主要讨论利用逐点比较法实现第一象限的直线插补。所谓逐点比较插补,就是刀具或绘图笔每走一步都要和给点轨迹上的坐标值进行比较,看这点在给点轨迹的上方还是下方,从而决定下一步的进给方向。对于本设计所要求的直线轨迹,如果该点在直线的上方,则控制步进电机向+X方向进给一步,如果该点在直线的下方,那么控制步进电机向+Y轴方向进给一步。如此,走一步、看一看,比较一次,决定下一步的走向,以便逼近给定轨迹,即形成逐点比较插补。 插补计算时,每走一步,都要进行以下四个步骤的计算过程,即偏差判别、坐标进给、偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算出坐标进给后的偏差,若未到达终点,则返回偏差判别,如此循环。可以根据起点和终点的坐标位置,计算出总的进给步数Nxy,X或Y的坐标每进给一步,这个值就减一,若Nxy=0,就到达了终点,这就是终点判别的方法。

设计任务及要求 设计一个计算机控制步进电机系统,该系统利用PC 机的并口输出控制信号,其信号驱动后控制X 、Y 两个方向的三相步进电机转动,利用逐点比较法插补绘制出各种曲线。 1)设计硬件系统,画出电路原理框图; 2)定义步进电机转动的控制字; 3)推导出用逐点比较法插补绘制出下面曲线的算法; 4)编写算法控制程序线; 5)撰写设计说明书。 每人选一个曲线,曲线均为第一象限,屏幕左下角为坐标原点,箭头表示曲线绘制的方向,直线参数为:起点、终点坐标。圆弧参数为:起点、终点坐标和半径。 直线一: 直线二: 直线三 直线四 圆弧一 圆弧二 X Y O X Y O X Y O X Y O X Y O X Y O

逐点比较法直线插补代码VB

VB界面: 直线插补和圆弧插补的程序代码: Dim x1%, y1%, x2%, y2%, p! Dim Di As Integer Const PI = 3.14159 Private Sub cmdShow_Click() x1 = Val(Text1(0)): y1 = Val(Text1(1)) x2 = Val(Text1(2)): y2 = Val(Text1(3)) pic.Cls axis pic p = Val(Combo1.Text) cmdShow.Enabled = False If Option1.Value Then pic.Circle (x1, y1), 0.1, vbBlack pic.Circle (x2, y2), 0.1, vbBlack zhixian pic, x1, y1, x2, y2 ElseIf Option2.Value Then pic.Circle (x1, y1), 0.1, vbBlack

pic.Circle (x2, y2), 0.1, vbBlack If x1 ^ 2 + y1 ^ 2 = x2 ^ 2 + y2 ^ 2 Then yuanhu pic, x1, y1, x2, y2 Else MsgBox "ERROR!请重新输入!", vbCritical End If End If cmdShow.Enabled = True End Sub Private Sub zhixian(obj As Object, xi%, yi%, xj%, yj%) Dim x!, y! f = 0 x = xi: y = yi obj.Line (xi, yi)-(xj, yj), vbBlack obj.CurrentX = x obj.CurrentY = y n = (Abs(xj - xi) + Abs(yj - yi)) / p While n <> 0 If f >= 0 Then If xj <> xi Then x = x + (xj - xi) / Abs(xj - xi) * p Else y = y + (yj - yi) / Abs(yj - yi) * p End If f = f - Abs(yj - yi) Else If yj <> yi Then y = y + (yj - yi) / Abs(yj - yi) * p End If f = f + Abs(xj - xi) End If obj.Line -(x, y), vbRed n = n - 1 DoEvents For i = 1 To 2000000 * p Next i Wend End Sub Private Sub Form_Load() If App.PrevInstance Then End Combo1.Text = Combo1.List(6) pic.Height = 460 pic.Width = 460

逐点比较法第一象限直线圆弧插补

逐点比较法第一象限直线,圆弧插补编程 逐点比较法是以折线来逼近给定的轨迹,就是每走一步控制系统都要将加工点与给定的图形轨迹相比较,以决定下一步进给的方向,使之逼近加工轨迹。逐点比较法以折线来逼近直线或圆弧,其最大的偏差不超过一个最小设定单位。只要将脉冲当量取得足够小,就可以达到精度要求。逐点比较插补法在脉冲当量为0.01mm,系统进给速度小于3000mm/min时,能很好的满足要求。 一、逐点比较法直线插补 如下图所示设直线 oA 为第一象限的直线,起点为坐标原点o (0 , 0) ,终点坐标为, A( ) , P() 为加工点。 若 P 点正好处在直线 oA 上,由相似三角形关系则有

即 点在直线 oA 上方 ( 严格为直线 oA 与 y 轴正向所包围的区域 ) ,则有 即 若 P 点在直线 oA 下方 ( 严格为直线 oA 与 x 轴正向所包围的区域 ) ,则有图 3 — 1 逐点比较法第一象限直线插补 即 令 则有: ①如 ,则点 P 在直线 oA 上,既可向 +x 方向进给一步,也可向 +y 方 向进给一步;

②如,则点 P 在直线 oA 上方,应向 +x 方向进给一步,以逼近oA直线; ③如,则点 P 在直线 oA 下方,应向 +y 方向进给一步,以逼近 oA直 线一般将及视为一类情况, 即时,都向 +x 方向进给一步。 当两方向所走的步数与终点坐标相等时,停止插补。这即逐点比较法直线插补的原理。 对第一象限直线 oA 从起点 ( 即坐标原点 ) 出发,当 F 时, +x 向走一步;当 F<0 时,y 向走一步。 特点:每一步都需计算偏差,这样的计算比较麻烦。 递推的方法计算偏差: 每走一步后新的加工点的偏差用前一点的加工偏差递推出来。 采用递推方法,必须知道开始加工点的偏差,而开始加工点正是直线的起点,故。下面推导其递推公式。 设在加工点 P( ) 处,,则应沿 +x 方向进给一步,此时新加工点的坐标值为

数控原理第四象限逐点比较法直线插补程序

Private Sub Command1_Click() Picture1.ForeColor = vbBlack Picture1.DrawWidth = 2 Picture1.Line (500, 500)-(500, 5500) '坐标系 Picture1.Line (500, 500)-(5500, 500) Picture1.Line (500, 5500)-(460, 5400) '箭头 Picture1.Line (500, 5500)-(540, 5400) Picture1.Line (5500, 500)-(5400, 460) Picture1.Line (5500, 500)-(5400, 540) Picture1.Line (5850, 550)-(5750, 450) Picture1.Line (5850, 450)-(5750, 550) Picture1.Line (500, 5800)-(450, 5750) Picture1.Line (500, 5800)-(550, 5750) Picture1.Line (500, 5800)-(500, 5900) Picture1.Line (430, 5800)-(380, 5800) Picture1.ForeColor = vbRed Picture1.DrawWidth = 4 Picture1.Line (500, 500)-(500 + 400 * Int(Text3), 500 - 400 * Int(Text4)) Command2.Enabled = True 100 Text1.SetFocus End Sub Private Sub Command2_Click() Form1.Cls Dim k, m, j, l, n, F(20) As Integer m = 0 l = 0 k = 0 F(m) = 0 Picture1.ForeColor = vbGreen Picture1.DrawWidth = 3 j = Abs(Int(Text3)) + Abs(Int(Text4)) '总步数 Form1.CurrentX = 200 Form1.CurrentY = 200 Print "初始:进给方向" & "F(m)=0" & " Xe=" & Int(Text3) & " Y e=" & Int(Text4) & " ∑= " & j For n = 1 To j If F(m) >= 0 And j > 0 Then 'X方向进给 m = m + 1 '序号 l = l + 1 'X方向进给l加1 F(m) = F(m - 1) - Abs(Int(Text4)) Picture1.Line (500 + 400 * (l - 1), 500 + k * 400)-(500 + 400 * (l), 500 + k * 400)

VB软件-模拟逐点比较法逆圆弧插补的程序设计

xxxx 学院 课程设计说明书 设计题目: 逐点比较法逆圆弧插补的程序设计 系(部):机电工程系 专业:自动化(数控技术) 班级:08数控本(1)班 姓名: 学号: 指导老师(签名): 起止时间:20 11年12月5 日至20 11年12月9 日共 1 周 20 11 年12 月11 日

目录 一.课程设计的目的 (1) 二.课程设计的任务 (1) 三.逐点比较法基本原理 (1) 四.算法描述 (6) 五.具体算法程序 (10) 六.各象限选例展示 (17) 七.心得体会 (19) 八.参考文献 (19)

正文: 数控原理与系统课程设计说明书 一、课程设计的目的 1)了解连续轨迹控制数控系统的组成原理。 2) 掌握逐点比较法插补的基本原理。 3)握逐点比较法插补的软件实现方法。 二.课程设计的任务 逐点比较法插补是最简单的脉冲增量式插补算法之一,其过程清晰,速度平稳,但一般只用于一个平面内两个坐标轴的插补运算。其基本原理是在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进 给方向,使刀具向减小偏差的方向进给, 且只有一个方向的进给。也就是说,逐 点比较法每一步均要比较加工点瞬时坐 标与规定零件轮廓之间的距离,依此决 定下一步的走向。如果加工点走到轮廓 外面去了,则下一步要朝着轮廓内部走; 如果加工点处在轮廓的内部,则下一步 要向轮廓外面走,以缩小偏差,这样周 而复始,直至全部结束,从而获得一个 非常接近于数控加工程序规定轮廓的轨 迹。逐点比较法插补过程中的每进给一 步都要经过偏差判别、坐标进给、偏差计算和终点判别四个节拍的处理,其工作流程图如图所示。 三.逐点比较法基本原理 逐点比较法I象限逆圆插补 在加工圆弧过程中,人们很容易联想到使用动点到圆心的距离与该圆弧的名

第02章 逐点比较法直线插补原理

第2章直线插补原理 2.1 插补的基本概念 2.2 逐点比较法插补原理(重点)习题

2.1 插补的基本概念 2.1.1 什么是插补? 思考:数控机床为什么能加工出较为复杂的曲线?——通过插补把单个坐标轴的运动组合成需要的曲线。 插补:就是指在一条已知起点和终点的曲线上进行数据密化的过程。

◆即:在对数控系统输入有点坐标点(起点、终点)的情况下,计算机根据线段的特征(直线、圆弧、椭圆等),运用一定的算法,自动地在有限坐标点之间生成一系列的坐标数据,从而自动地对各坐标轴进行脉冲分配,完成整个线段的轨迹运行,以满足加工精度的要求。 ◆插补的任务就是根据进给速度的要求,在一段零件轮廓的起点和终点之间“插入”和“补上”运动轨迹中各个中间点的坐标。

◆插补的两层含义: ?用小线段逼近产生基本线型(如直线、圆弧等)?用基本线型拟合成零件的轮廓曲线 ◆插补运算具有实时性,直接影响刀具的运动。插补运算的速度和精度是数控装置的重要指标。五坐标插补加工仍是国外对我国封锁的技术。 ◆插补原理也叫轨迹控制原理。

2.1.2 插补的运算原理 ——根据给定的信息进行数字计算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路线移动。 2.1.3 插补要解决的问题 ●让单独的坐标分别运动合成理想的轨迹,还是几个坐 标同时进给? ●判断往哪一个坐标方向进给,使下一步误差更小? ●进给多少?

●如果同时进给,各个坐标进给的比例是多少? ●选用什么样的实际轨迹合成后与理想轨迹误差最小? 2.1.4 插补的实质 曲线方程:Y=F(X) 函数关系表示X与Y一一对应,对于曲线上的某一点的邻域,其坐标增量关系也是确定的,即给X1一个增量△X存在一个△Y使Y1+△Y=F(X1+△X)这使△X与△Y之间有一种制约,那就是由△X找到一个△Y使F (X1+△X)等于或接近于Y1+△Y,插补就是这种寻找△X与△Y之间制约的方法。

相关文档
最新文档