逐点比较法的象限处理
插补运动(逐点比较法)

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

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

逐点比较法的概念基本原理及特点早期数控机床广泛采用的方法,又称代数法、醉步伐,适用于开环系统。
1.插补原理及特点原理:每次仅向一个坐标轴输出一个进给脉冲,而每走一步都要通过偏差函数计算,判断偏差点的瞬时坐标同规定加工轨迹之间的偏差,然后决定下一步的进给方向。
每个插补循环由偏差判别、进给、偏差函数计算和终点判别四个步骤组成。
逐点比较法可以实现直线插补、圆弧插补及其它曲安插补。
特点:运算直观,插补误差不大于一个脉冲当量,脉冲输出均匀,调节方便。
逐点比较法直线插补(1)偏差函数构造对于第一象限直线OA上任一点(X,Y):X/Y = Xe/Ye若刀具加工点为Pi(X i,Y i),则该点的偏差函数F i可表示为若F i= 0,表示加工点位于直线上;若F i> 0,表示加工点位于直线上方;若F i< 0,表示加工点位于直线下方。
(2)偏差函数字的递推计算采用偏差函数的递推式(迭代式)既由前一点计算后一点Fi =Yi Xe -XiYe若F i>=0,规定向+X 方向走一步Xi+1 = Xi +1Fi+1 = XeYi –Ye(Xi +1)=Fi –Ye若F i<0,规定+Y 方向走一步,则有Yi+1 = Yi +1Fi+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,则停止插补。
逐点比较法圆弧插补3.逐点比较法圆弧插补(1)偏差函数任意加工点P i(X i,Y i),偏差函数F i可表示为若F i=0,表示加工点位于圆上;若F i>0,表示加工点位于圆外;若F i<0,表示加工点位于圆内(2)偏差函数的递推计算1)逆圆插补若F≥0,规定向-X方向走一步若F i<0,规定向+Y方向走一步2)顺圆插补若F i≥0,规定向-Y方向走一步若F i<0,规定向+y方向走一步(3)终点判别1)判断插补或进给的总步数:⎩⎨⎧+-=-+-=-=++12)1(122211iiiiiiiXFRYXFXX⎩⎨⎧++=-++=+=++12)1(122211iiiiiiiYFRYXFYY⎩⎨⎧+-=--+=-=++12)1(122211iiiiiiiYFRYXFYY⎩⎨⎧++=-++=+=++12)1(122211iiiiiiiXFRYXFXXbabaYYXXN-+-=baxXXN-=bayYYN-=2) 分别判断各坐标轴的进给步数;(4)逐点比较法圆弧插补举例对于第一象限圆弧AB ,起点A (4,0),终点B (0,4)4.逐点比较法的速度分析fN V L式中:L —直线长度;V —刀具进给速度;N —插补循环数;f —插补脉冲的频率。
逐点比较法第一象限直线插补

逐点比较法第一象限直线插补编程逐点比较法是以折线来逼近给定的轨迹,就是每走一步控制系统都要将加工点与给定的图形轨迹相比较,以决定下一步进给的方向,使之逼近加工轨迹。
逐点比较法以折线来逼近直线或圆弧,其最大的偏差不超过一个最小设定单位。
只要将脉冲当量取得足够小,就可以达到精度要求。
逐点比较插补法在脉冲当量为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 方向进给一步,此时新加工点的坐标值为新加工点的偏差为即若在加工点 P( ) 处,,则应沿 +y 方向进给一步,此时新加工点的坐标值为,新加工点的偏差为即综上所述,逐点比较法直线插补每走一步都要完成四个步骤 ( 节拍 ) ,即:(1) 位置判别根据偏差值大于零、等于零、小于零确定当前加工点的位置。
(二)逐点比较法圆弧插补PPT课件

同理,对于第一象限顺圆加工时,即B→A,当Fi≥0时, 应向-Y方向进给一步,当Fi<0时,应向+X方向进给 一步。
Y
B(Xe,Ye)
Pi(Xi,Yi)
A(Xo,Yo)
O
X
6
当Fi≥0时,向-Y方向进给一步,动点由Pi(Xi,Yi) 移动到 Pi+1(Xi,Yi +1),则新动点的坐标为 Yi+1=Yi -1
偏差计算
终点判别
0
F0=0,Xo=5,Yo=0 ∑=10
1 F0=0 -X F1=F0-2Xo+1= -9,X1=4,Y1=0∑=9
2 F1=-9 +Y F2=F1+2Y1+1= -8,X2=4,Y2=∑1=8
3 F2=-8 +Y F3=F2+2Y2+1= -5,X3=4,Y3=∑2=7
4 F3= -5 +Y F4=F3 +2Y3+1 =0, X4=4,Y4=3∑=6
2 F1=-5 +Y F2=F1+2Y1+1= -4,X2=2,Y2=∑1=4
3 F2=-4 +Y 4 F3= -1 +Y 5 F4=4 -X
F3=F2+2Y2+1= -1,X3=2,Y3=∑2=3 F4=F3 +2Y3+1 =4, X4=2,Y4=3∑=2 F5=F4-2X4+1 =1, X5=1,Y5=3∑=1
Y
Fi<0
Fi≥0
Fi≥0 Fi<0
Fi<0
O Fi≥0
X
Fi<0 Fi≥0
17
2、圆弧插补的象限处理
前面的圆弧插补(顺圆、逆圆)只限于第一象限,其他 情况如图所示: Y
数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

3.2 执行计算
在右侧面板中有参数输入区,方式选择区以及执行按钮等操作。
若输入参数和符合要求则出现错误对话框;“参数有误”
若不选择插补对象为‘直线’或‘圆弧’直接按下‘复位’按钮会出现警示对话框提示“请选择插补对象”
注:在直线插补中,对起始点坐标和终点坐标不作要求,但步长必须不能为0;在圆弧插补中,起始点坐标必须为二三象限的点,且终止点必须在起始点下侧,这事保证圆弧为劣弧的条件之一。步长在任何情况下不能为0 。
4.2 主要算法的实现
4.2.1参数声明
起点坐标(sx,sy);终点坐标(ex,ey);
圆心坐标(cx,cy);步长bc;
4.2.2复位操作程序:
functionfw_Callback(hObject, eventdata, handles)
globalsx sy ex ey cx cy bc m vx1 vy1 rx1 ry1
3.2 执行计算……………………………………………………………5
3.3DDA法直线插补实例………………………………………………6
3.4逐点比较法插补第二三象限逆时针圆弧…………………………7
四、主要算法及源程序
4.1 程序设计概述………………………………………………………8
set(gca,'YTick',[-10:1:10]);
axis([-10 10 -10 10]);
axismanual;
ifs_1==0&&s_2==0
warndlg('请选择插补对象');
else
ifget(handles.zx,'value')
m=str2double(get(handles.m,'String'));
2--插补象限、圆弧走向处理以及逐点比较法合成进给速度

于是,X轴方向和Y轴方向的进给速度为
vx 60 f X
v
y
60
fY
刀具的合成进给速度为
v vx2 vy2 60 f X 2 fY 2
当刀具沿着平行于坐标轴的方向进行切削时,其进给速度最大,该速度 称为脉冲源进给速度。
vMF 60 fMF 60 ( f X fY ) vx vy
② |Y|=|Y|-1
② |X|=|X|-1 ② |Y|=|Y|+ 1
② |X|=|X|+1
Y SR3、NR4
N +Y -Y
Y SR2、NR3
N
+X
-X
Y SR2、NR1
N +Y -Y
Y SR1、NR4
N
+X
-X
∑= ∑-1
∑= 0
N
Y
结束
(三)圆弧过象限 直线只可能处于一个象限中,因此不存在过象限问题。但是圆弧有可能 跨越几个象限,这时需要在两象限的交接处做相应的处理,此即圆弧过象限 问题。 当圆弧过象限时,具有如下特点: ① 在过象限前后,动点坐标的符号会发生改变; ② 在过象限后,圆弧的走向不变。 逆圆弧过象限的顺序为:NR1 → NR2 → NR3 → NR4 → NR1 →• • • 顺圆弧过象限的顺序为:SR1 → SR4 → SR3 → SR2 → SR1 →• • • ③ 过象限圆弧与坐标轴必有交点,当动点处在坐标轴上时必有一个坐 标值为零。此点可以作为过象限的标志。 ④ 终点判别不能简单地直接使用前述的三种方法,否则将丢失一部分 圆弧轮廓。
Y (0,5)
(3,4) (4,3)
X (5,0)
第一象限顺圆弧的插补问题可转换为第一象限逆圆弧的插补问题,转换方 法如下。
逐点比较法三、四象限逆圆插补计算

逐点比较法三、四象限逆圆插补计算第三象限第四象限Private Sub Command1_Click()Picture1.ForeColor = vbBlackPicture1.DrawWidth = 2Picture1.Line (500, 1000)-(8500, 1000) '画直线坐标轴Picture1.Line (4500, 1000)-(4500, 5000)Picture1.CurrentX = 230 '当前位置Picture1.CurrentY = 900Picture1.Print "-X" '坐标轴标注Picture1.CurrentX = 4300Picture1.CurrentY = 800Picture1.Print "(0,0)"Picture1.CurrentX = 8650Picture1.CurrentY = 900Picture1.Print "X"Picture1.CurrentX = 4400Picture1.CurrentY = 5100Picture1.Print "-Y"Picture1.Line (500, 1000)-(600, 950) '箭头Picture1.Line (500, 1000)-(600, 1050)Picture1.Line (8500, 1000)-(8400, 950)Picture1.Line (8500, 1000)-(8400, 1050)Picture1.Line (4500, 5000)-(4450, 4900)Picture1.Line (4500, 5000)-(4550, 4900)End SubPrivate Sub 坐标判别_Click()If Not (Option1.V alue = True Or Option2.V alue = True) Thenans = MsgBox("出错了,请选择象限", 48, "提示信息")End IfDim a, b, c, d, n, m As IntegerDim r As Singlea = V al(Text1.Text)b = V al(Text2.Text)c = V al(Text3.Text)d = V al(Text4.Text)n = a * a + b * bm = c * c + d * dr = Sqr(n)If Option1.V alue = True ThenIf Not (a <= 0 And b <= 0 And c <= 0 And d <= 0) ThenGoTo wwElseIf Not (a < c And b > d) ThenGoTo ww1ElseIf n <> m ThenGoTo ww2End IfEnd IfIf Option2.V alue = True ThenIf Not (a >= 0 And b <= 0 And c >= 0 And d <= 0) ThenGoTo wwElseIf Not (a < c And b < d) ThenGoTo ww1ElseIf n <> m ThenGoTo ww2End IfEnd IfGoTo ww4ww: ans = MsgBox("出错了,逆圆弧起点、终点不在该象限,请重新输入", 48, "提示信息")GoTo ww3ww1: ans = MsgBox("出错了,逆圆弧起点、终点位置错误,请重新输入", 48, "提示信息") GoTo ww3ww2: ans = MsgBox("出错了,该象限所绘圆弧不以原点为圆心,请重新输入", 48, "提示信息")ww3: Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text1.SetFocusGoTo ww4ww4:End SubPrivate Sub Command4_Click()If Not (Option1.V alue = True Or Option2.V alue = True) Thenans = MsgBox("出错了,请选择象限", 48, "提示信息")End IfDim a, b, c, d, n, m As IntegerDim r As Singlea = V al(Text1.Text)b = V al(Text2.Text)c = V al(Text3.Text)d = V al(Text4.Text)n = a * a + b * bm = c * c + d * dr = Sqr(n)If Option1.V alue = True ThenIf Not (a <= 0 And b <= 0 And c <= 0 And d <= 0) ThenGoTo wwElseIf Not (a < c And b > d) ThenGoTo ww1ElseIf n <> m ThenGoTo ww2End IfEnd IfIf Option2.V alue = True ThenIf Not (a >= 0 And b <= 0 And c >= 0 And d <= 0) ThenGoTo wwElseIf Not (a < c And b < d) ThenGoTo ww1ElseIf n <> m ThenGoTo ww2End IfEnd IfPicture1.ForeColor = vbBluePicture1.DrawWidth = 2If Option1.V alue = True ThenIf b = 0 ThenIf c = 0 ThenPicture1.Circle (4500, 1000), r * 300, , 3.14159, 3 * 3.14159 / 2ElsePicture1.Circle (4500, 1000), r * 300, , 3.14159, Atn(d / c) + 3.14159End IfElseIf c = 0 ThenPicture1.Circle (4500, 1000), r * 300, , Atn(b / a) + 3.14159, 3 * 3.14159 / 2 ElsePicture1.Circle (4500, 1000), r * 300, , Atn(b / a) + 3.14159, Atn(d / c) + 3.14159 End IfEnd IfIf Option2.V alue = True ThenIf a = 0 ThenIf d = 0 ThenPicture1.Circle (4500, 1000), r * 300, , 3 * 3.14159 / 2, 2 * 3.14159ElsePicture1.Circle (4500, 1000), r * 300, , 3 * 3.14159 / 2, Atn(d / c) + 3.14159 * 2 End IfElseIf d = 0 ThenPicture1.Circle (4500, 1000), r * 300, , Atn(b / a) + 3.14159 * 2, 2 * 3.14159 ElsePicture1.Circle (4500, 1000), r * 300, , Atn(b / a) + 3.14159 * 2, Atn(d / c) + 3.14159 * 2End IfEnd IfGoTo ww4ww: ans = MsgBox("出错了,逆圆弧起点、终点不在该象限,请重新输入", 48, "提示信息")GoTo ww3ww1: ans = MsgBox("出错了,逆圆弧起点、终点位置错误,请重新输入", 48, "提示信息") GoTo ww3ww2: ans = MsgBox("出错了,该象限所绘圆弧不以原点为圆心,请重新输入", 48, "提示信息")ww3: Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text1.SetFocusGoTo ww4ww4:End SubPrivate Sub Command2_Click()Dim k, m, j, l, n, F(30), X(30), Y(30) As Integer, a As Integer, b As Integer, c As Integer, d As Integera = Int(Text1)b = Int(Text2)c = Int(Text3)d = Int(Text4)m = 0l = 0k = 0F(m) = 0X(m) = aY(m) = bPicture1.ForeColor = vbGreenPicture1.DrawWidth = 3j = Abs(Abs(a) - Abs(c)) + Abs(Abs(b) - Abs(d))Form1.CurrentX = 200Form1.CurrentY = 200Print "初始", "进给方向", "F(0)=0", " X(0) =" & Int(Text1), " Y(0)=" & Int(Text2), " Xe = " & Int(Text4), "Y e = " & Int(Text3), " ∑= " & jIf Option1.V alue = True Then '第三象限插补For n = 1 To jIf F(m) >= 0 And j > 0 Thenm = m + 1l = l + 1F(m) = F(m - 1) - 2 * Abs(X(m - 1)) + 1X(m) = X(m - 1) + 1Y(m) = Y(m - 1)Picture1.Line (4500 + 300 * (a + l - 1), 1000 - 300 * (b - k))-(4500 + 300 * (a + l), 1000 - 300 * (b - k))Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print "第" & m & "步", " -△X ", "F(" & m & ")=" & F(m), " X(" & m & ")=" & X(m), " Y(" & m & ")=" & Y(m), " Xe = " & Int(Text4), " Y e = " & Int(Text3), " ∑= " & j - nElsek = k + 1m = m + 1F(m) = F(m - 1) + 2 * Abs(Y(m - 1)) + 1Y(m) = Y(m - 1) - 1X(m) = X(m - 1)Picture1.Line (4500 + 300 * (a + l), 1000 - 300 * (b - k + 1))-(4500 + 300 * (a + l), 1000 - 300 * (b - k))Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print "第" & m & "步", " +△Y", "F(" & m & ")=" & F(m), "X(" & m & ")=" & X(m), " Y(" & m & ")=" & Y(m), " Xe = " & Int(Text4), "Y e = " & Int(Text3), " ∑= " & j - n; ""End IfNext nElseIf Option2.V alue = True Then '第四象限插补For n = 1 To jIf F(m) >= 0 And j > 0 Thenm = m + 1k = k + 1F(m) = F(m - 1) - 2 * Abs(Y(m - 1)) + 1X(m) = X(m - 1)Y(m) = Y(m - 1) + 1Picture1.Line (4500 + 300 * (a + l), 1000 - 300 * (b + k - 1))-(4500 + 300 * (a + l), 1000 - 300 * (b + k))Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print "第" & m & "步", " -△Y", "F(" & m & ")=" & F(m), "X(" & m & ")=" & X(m), " Y(" & m & ")=" & Y(m), " Xe = " & Int(Text4), " Y e = " & Int(Text3), " ∑= " & j - nElsel = l + 1m = m + 1F(m) = F(m - 1) + 2 * Abs(X(m - 1)) + 1Y(m) = Y(m - 1)X(m) = X(m - 1) + 1Picture1.Line (4500 + 300 * (a + l - 1), 1000 - 300 * (b + k))-(4500 + 300 * (a + l), 1000 - 300 * (b + k))Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print "第" & m & "步", " +△X ", "F(" & m & ")=" & F(m), " X(" & m & ")=" & X(m), " Y(" & m & ")=" & Y(m), " Xe = " & Int(Text4), " Y e = " & Int(Text3), " ∑= " & j - nEnd IfNext nEnd IfEnd SubPrivate Sub Command3_Click() '清除Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Picture1.ClsForm1.ClsText1.SetFocus。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018/12/24
数控技术 12
第 3章
例:
计算机数控装置的插补原理
对于第一象限直线OA,终点 坐标Xa=6 ,Ya=4,插补从直 线起点O开始,故F0=0 。终 点判别是判断进给总步数 N=6+4=10,将其存入终点判 别计数器中,每进给一步减 1,若N=0,则停止插补。
Y 10 A
4
8 5 3 4 6 7
第三章
长春工业大学机电学院
2018/12/24 1
第 3章 主要内容
概述
计算机数控装置的插补原理
基准脉冲插补 数据采样插补
2018/12/24
数控技术 2
第 3章
3.1 概 述
3.1.1
计算机数控装置的插补原理
插补的基本概念
数控系统根据零件轮廓线型的有限信息,计算出刀具 的一系列加工点、完成所谓的数据“密化”工作。 插补有二层意思: 一是用小线段逼近产生基本线型(如直线、圆弧等); 二是用基本线型拟和其它轮廓曲线。 插补运算具有实时性,直接影响刀具的运动。插补运算 的速度和精度是数控装置的重要指标。插补原理也叫轨迹 控制原理。五坐标插补加工仍是国外对我国封锁的技术。 下面以基本线型直线、圆弧生成为例,论述插补原理。
计算机数控装置的插补原理
(3)终点判别 终点判别可采用与直线 插补相同的方法 1)判断插补或进给的总步数: N=|Xa-Xb|+|Ya-Yb|; 2)分别判断各坐标轴的进给步数: Nx=|Xa-Xb| Ny=|Ya-Yb| 例:对于第一象限圆弧AB,起点A(4, 0),终点B(0,4),如右图所示。要求 采用逆圆插补方法,其运算过程如表所 示,插补轨迹如右图所示。
F1=F0-ye=0-4=-4 F2=F1+xe=-4+6=2 F3=F2-ye=2-4=-2 F4=F3+xe=-2+6=4 F5=F4-ye=4-4=0
6
7 8 9 10
F5=0
F6<0 F7>0 F8<0 F9>0
+X
+Y +X +Y +X
F6=F5-ye=0-4=-4
F7=F6+xe=-4+6=2 F8=F7-ye=2-4=-2 F9=F8+xe=-2+6=4 F10=F9-ye=4-4=0
开始
初始Xe, Ye , F, N=Xe+Ye
Y
F 0 ?
N
+X走一步 F=F-Ye N = N-1
N
+Y走一步 F=F+Xe
N=0?
Y
结束
数控技术 16
2018/12/24
第 3章
计算机数控装置的插补原理
3、逐点比较法直线插补的其他象限情况
2018/12/24
数控技术 17
第 3章
计算机数控装置的插补原理
直线插补象限及坐标变换说明
前面所述为第一象限直线的插补方 法。为了实现各个象限的直线插补, 一般采用象限变换方法。对于如图 所示的不同象限的直线,在偏差计 算时,均按第一象限的直线进行计 算,也就是运算时坐标值均取绝对 值,这样偏差计算公式不变。但在 进给方向上,按不同的象限进行转 换。
2018/12/24
i
l2 l1 Δyi
li
ห้องสมุดไป่ตู้Δxi
l0
L
T
设加工 li 的时间为 t i ,则当 ti 0时,各 微线段之和接近于曲线 L。即:
O
x
2018/12/24
数控技术 5
第 3章
计算机数控装置的插补原理
3.1.2 插补方法的分类 一、对插补器的基本要求 硬件插补器 完成插补运算的装置或程序称为插补器 软件插补器 软硬件结合插补器 对插补器的基本要求 1、插补所需原始数据较少 2、有较高的插补精度,插补结果没有累计误差,局部偏差 不超过允许误差。 3、沿着进给路线,进给速度恒定且符合加工要求。 4、硬件线路简单可靠,软件插补算法简捷,计算速度快。
Y
F>0
E(Xe,Ye) F<0
a
Pi(Xi ,Yi)
O
X
数控技术 10
2018/12/24
第 3章
计算机数控装置的插补原理
(2)偏差函数的递推计算 采用偏差函数的递推式(迭代式)
由前一点计算后一点
若Fi>=0,规定向 +X 方向走一步 Xi+1 = Xi +1 Fi+1 = XeYi –Ye(Xi +1)=Fi –Ye
刀具进给速度是插补方法的主要性能指标,也是选择插补 方法的重要依据。 (1)直线插补的速度分析 直线加工时,有 L/v=N/f (式中:L一直线长度;v一刀具进给速度;N一 插补循环数;f一插补脉冲的频率。)
2018/12/24
数控技术 25
第 3章
计算机数控装置的插补原理
式中说明刀具进给速度与插补脉冲频率f和与X轴夹角α 有关。若保持f不变,加工0度和90度倾角的直线时刀具 进给速度最大(为f),加工45度倾角直线时速度最小(为 0.707f),如图所示。
2018/12/24
数控技术 21
第 3章
计算机数控装置的插补原理
2018/12/24
数控技术 22
第 3章
计算机数控装置的插补原理
F>0 沿-X方向走一步 Xi+1= Xi -1 Fi+1= Fi -2 Xi +1 F<0 沿+Y方向走一步 Yi+1= Yi +1 Fi+1 = Fi +2 Yi +1
2018/12/24
数控技术 6
第 3章
计算机数控装置的插补原理
二、插补方法的分类
1、基准脉冲插补 每走一“步”的行程是固定的,每走一“步”的时间由 系统控制,从而控制系统的运行速度。多用于步进电机系 统中。 每次插补结束仅向各运动坐标轴输出一个控制脉冲,各坐
标仅产生一个脉冲当量或行程的增量。脉冲序列的频率代
∑=5-1=4
∑=4-1=3 ∑=3-1=2 ∑=2-1=1 ∑=1-1=0
2018/12/24
数控技术 14
第 3章
计算机数控装置的插补原理
例: 现要加工 第一象限直线 OA,终点坐标 为X=4,Y=5。 画出插补轨迹并 绘制出工作节拍 表。
2018/12/24
数控技术 15
第 3章
流程图:
计算机数控装置的插补原理
2018/12/24
数控技术 30
第 3章
计算机数控装置的插补原理
3.2.2 数字积分法
1.插补原理及其特点 数字积分法又称DDA法,是利用数字积分 的方法,计算刀具沿各坐标轴的位移,以 便加工出所需要的线型。若加工如图所示 的圆弧AB,刀具在X、y轴方向的速度必 须满足:
2018/12/24
数控技术 8
第 3章
计算机数控装置的插补原理
3.2 基准脉冲插补
3.2.1 逐点比较法
早期数控机床广泛采用的方法,又称代数法、醉步法,适 用于开环系统。 1.插补原理及特点 原理:每次仅向一个坐标轴输出一个进给脉冲,而每走一步都要 通过偏差函数计算,判断偏差点的瞬时坐标同规定加工轨迹之间 的偏差,然后决定下一步的进给方向。每个插补循环由偏差判别、 进给、偏差函数计算和终点判别四个步骤组成。 逐点比较法可以实现直线插补、圆弧插补及其它曲线插补。 特点:运算直观,插补误差不大于一个脉冲当量,脉冲输出均匀, 调节方便。
数控技术 18
第 3章
计算机数控装置的插补原理
4.逐点比较法圆弧插补
(1)偏差函数构造 若加工半径为R的圆弧AB,将坐标原点定在圆心 上,如图所示。对于任意加工点 Pi(Xi,Yi),其偏差函数Fi可表 示为: Pi/ Y Fi=Xi² + Yi²-R² (XB,YB) 显然,若Fi=0,表示加工点 Pi (Xi,Yi) B 位于圆上;若Fi>0,表示加 Pi// F>0 工点位于圆外;若Fi< 0,表 F<0 R 示加工点位于圆内。 (XA,YA)
A
X (2)偏差函数的递推计算 需采用其递推式(或迭代式)。圆弧加工可 分为顺时针加工或逆时针加工,与此相对应的便有逆圆插补和 顺圆插补两种方式,下面就第一象限圆弧,对其递推式公式加 以推导。 数控技术 19
O
2018/12/24
第 3章
计算机数控装置的插补原理
2018/12/24
数控技术 20
第 3章
2018/12/24
数控技术 27
第 3章
计算机数控装置的插补原理
2018/12/24
数控技术 28
第 3章
计算机数控装置的插补原理
2018/12/24
数控技术 29
第 3章
计算机数控装置的插补原理
(2)坐标变换法 通过进行分析,可以发现能通过坐标变换 减少偏差函数计算公式。若将原坐标系 OXY变换为 O′X′Y′,且 X=︱X′︱ Y=︱Y′︱ 则可用第一象限的直线插补的偏差函数完成其余三个象 限直线插补的偏差计算,用第一象限逆圆插补的偏差函 数进行第三象限逆圆和第二、四象限顺圆插补的偏差计 算,用第一象限顺圆插补的偏差函数进行第三象限顺圆 和第二、四象限逆圆插补的偏差计算。
2018/12/24
数控技术 26
第 3章
计算机数控装置的插补原理
6.逐点比较法的象限处理
(1)分别处理法 对于其它象限的圆弧插补,可根据上面的分析方法,分别 建立其偏差函数的计算公式, ,对于4个象限的逆时针圆弧 插补和4个象限的顺时针圆弧插补,会有8组计算公式,其 刀具的偏差和进给方向可用简图加以表示。