1、逐点比较法的概念基本原理及特点 早期数控机床广泛采用的方法,又称代数法、醉步伐,适 用于开环系统。 1.插补原理及特点 原理:每次仅向一个坐标轴输出一个进给脉冲,而每走一步都要通过偏差函数计算,判断偏差点的瞬时坐标同规定加工轨迹之间的偏差,然后决定下一步的进给方向。每个插补循环由偏差判别、进给、偏差函数计算和终点判别四个步骤组成。 逐点比较法可以实现直线插补、圆弧插补及其它曲安插补。 特点:运算直观,插补误差不大于一个脉冲当量,脉冲输出均匀,调节方便。 逐点比较法直线插补 (1)偏差函数构造 对于第一象限直线OA上任一点(X,Y):X/Y = Xe/Y
2、e 若刀具加工点为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
3、 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,则停止插补。 逐点比较法圆弧插补 3.逐点比较法圆弧插补 (1)偏差函数 任意加工点P
4、i(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) 判断插补或进给的总步数:
5、 2) 分别判断各坐标轴的进给步数; (4)逐点比较法圆弧插补举例 对于第一象限圆弧AB, 起点A(4,0),终点B(0,4) 4.逐点比较法的速度分析 式中:L —直线长度; V —刀具进给速度; N —插补循环数; f —插补脉冲的频率。 所以: 刀具进给速度与插补时钟频率f 和与X轴夹角α有关 5.逐点比较法的象限处理 (1)分别处理法 四个象限的直线插补,会有4组计算公式,对于
6、4个象限的逆时针圆弧插补和4个象限的顺时针圆弧插补,会有8组计算公式 (2)坐标变换法 用第一象限逆圆插补的偏差函数进行第三象限逆圆和第二、四象限顺圆插补的偏差计算,用第一象限顺圆插补的偏差函数进行第三象限顺圆和第二、四象限逆圆插补的偏差计算。 逐点比较法圆弧插补原理 逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差的方向进给(始终只有一个方向)。 一般地,逐点比较法插补过程有四个处理节拍
7、如图4-1: (1)偏差判别。判别刀具当前位置相对于给定轮廓的偏差状况; (2)坐标进给。根据偏差状况,控制相应坐标轴进给一步,使加工点向被加工轮廓靠拢; (3)重新计算偏差。刀具进给一步后,坐标点位置发生了变化,应按偏差计算公式计算新位置的偏差值; (4)终点判别。若已经插补到终点,则返回监控,否则重复以上过程。 图4-1 处理节拍 圆弧插补 图4-4为第一象限逆圆,现分析其插补规律。 刀尖点位置不外乎3种情况:轮廓线外面(点A),轮廓线上(B点),轮廓线里面(点C)。显然,在点A处,为使刀尖点向轮廓圆弧靠拢,应-X向走一步;C点处,应+Y向走一步;至于B点,看
8、来两个方向均可以,但考虑汇编编程时的方便,现规定往-X向走一步。 A(X,Y)点处有:X2+Y2>R2 X2+Y2-R2>0 B(X,Y)点处有:X2+Y2=R2 X2+Y2-R2=0 C(X,Y)点处有:X2+Y2<R2 X2+Y2-R2<0 原始的偏差计算公式为:F=X2+Y2-R2(X,Y为当前插补点动态坐标)。 图4-4 第一象限逆圆插补规律 图4-5 逐点比较法第一象限逆圆插补软件框图 显然,F<0时,须+Y向走一步;F≥0时,须-X向走一步。为
9、方便汇编编程和提高计算速度,对偏差F的计算公式加以简化: 插补点位于A、B点时,走完下一步(-X):动态坐标变为(X=X-1,Y=Y),新偏差变为F=(X-1)2+Y2-R2=F-2X+1。 它比公式F=X2+Y2-R2计算要方便很多。 插补点位于C点时,走完下一步(+Y):动态坐标变为(X=X,Y=Y+1),新偏差变为F=X2+(Y+1)2-R2=F+2Y+1。 因此, 走完-X后:偏差计算公式为F=F-2X+1,动态坐标修正为X=X-1; 走完+Y后:偏差计算公式为F=F+2Y+1,动态坐标修正为Y=Y+1。 图4-5为逐点比较法第一象限逆圆插补软件框图。 逐点比较法圆弧插
10、补汇编语言程序(MCS-8031) 根据该插补软件框图(参见 RP:MOV SP,#60H MOV 4AH,#00H F单元清零 MOV 49H,#00H MOV 48H,#01H X电动机初始化 MOV 47H,#02H Y电动机初始化 MOV DPTR,#0030H MOV A,#03H XY电动机上电 MOVX @DPTR,A CLR C 计算终判值 MOV A,52H 低位X、Xe相减,得a SUBB A,4EH MOV 54H,A 保存结果于终判值单元低位字节
11、 MOV A,51H 高位X、Xe相减,得b SUBB A,4DH MOV 53H,A 保存结果于终判值单元高位字节 CLR C 低位Ye、Y相减,得c MOV A,4CH SUBB A,50H MOV 20H,C 暂存Ye、Y低位相减产生的借位位 ADD A,54H 计算d=a+c,d为低位终判值 MOV 54H,A 保存d于终判值单元低位字节 MOV 21H,C 暂存d=a+c产生的进位位 MOV A,4BH MOV C,20H 恢复Ye、Y低位
12、相减产生的借位位 SUBB A,4FH 高位Ye、Y相减,得e MOV C,21H 恢复d=a+c产生的进位位 ADDC A,53H 计算f=b+e,f为高位终判值 MOV 53H,A 保存f于终判值单元高位字节 RP2:ACALL DL0 延时子程序 MOV A,49H 取F高位字节 JB ACC.7,RP6 高位=1,F<0,去RP6 ACALL XMM 高位=0,F>0,X反转一步 CLR C 计算新偏差F=F-2X+1 MOV A,4AH 计算g=F-X低位 SUBB A,52H X
13、CH A,B g存入B寄存器 MOV A,49H 计算h=F-X高位 SUBB A,51H XCH A,B 低位存A,高位存B。BA内容为F-X CLR C 计算i=g-X=F-2X低位 SUBB A,52H XCH A,B B内容为F-2X低位,A内容为F-X高位 SUBB A,51H A内容为F-2X高位 XCH A,B BA内容为F-2X ADD A,#01H 计算F-2X+1 MOV 4AH,A 4A内容为F-2X+1低位 XCH A,B B内容为F-2X+
14、1低位,A内容为F-2X高位 ADDC A,#00H 考虑F-2X+1的进位 MOV 49H,A 49H的内容为F-2X+1高位 CLR C 计算X=X-1 MOV A,52H 低位 SUBB A,#01H MOV 52H,A MOV A,51H 高位 SUBB A,#00H MOV 51H,A RP4:CLR C 终判值减1 MOV A,54H SUBB A,#01H MOV 54H,A MOV A,53H SUBB A,#00H MOV 53H,A OR
15、L A,54H JNZ RP2 插补没结束,转至RP2 LJMP 0000H RP6:ACALL YMP Y电动机正转 MOV R6,#02H 此处“2”,为“F+2Y+1”的“2” RP7:MOV A,4AH F+2Y+1 ADD A,50H MOV 4AH,A MOV A,49H ADDC A,4FH MOV 49H,A DJNZ R6,RP7 MOV A,4AH ADD A,#01H MOV 4AH,A
16、 MOV A,49H ADDC A,#00H MOV A,50H ADD A,#01H MOV 50H,A MOV A,4FH ADDC A,#00H MOV 4FH,A AJMP RP4 说明:1)数据存放格式同前; 2)各变量地址分配如下:47H-4EH,存放数据方式同直线,4FH50H-Y,51H52H-X,53H54H-终判值 逐点比较法插补原理 逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差
17、的方向进给(始终只有一个方向)。 一般地,逐点比较法插补过程有四个处理节拍,如图4-1: (1)偏差判别。判别刀具当前位置相对于给定轮廓的偏差状况; (2)坐标进给。根据偏差状况,控制相应坐标轴进给一步,使加工点向被加工轮廓靠拢; (3)重新计算偏差。刀具进给一步后,坐标点位置发生了变化,应按偏差计算公式计算新位置的偏差值; (4)终点判别。若已经插补到终点,则返回监控,否则重复以上过程。 图4-1 处理节拍 图4-2 第一象限直线插补规律 1.直线插补 图4-2为第一象限直线,其终点坐标为(Xe,Ye),现分析其插补规律。 刀尖点位置不外乎3种情况:轮廓线上
18、方(点A),轮廓线上(B点),轮廓线下方(点C)。显然,在点A处,为使刀尖点向轮廓直线靠拢,应+X向走一步;C点处,应+Y向走一步;至于B点,看来两个方向均可以,但考虑汇编编程时的方便,现规定往+X向走一步。 A(X,Y)点处有:Y/X>Xe/Ye XeY-XYe > 0 B(X,Y)点处有:Y/X=Xe/Ye XeY-XYe = 0 C(X,Y)点处有:Y/X<Xe/Ye XeY-XYe < 0 F=XeY-XYe为原始的偏差计算公式(X,Y为当前插补点动态坐标),F称为偏差,每走一步到达新位置点,就要计算相
19、应这个F值。 显然,F≥0时,须+X向走一步;F<0时,须+Y向走一步。为方便汇编编程和提高计算速度,现对偏差F的计算公式加以简化: 插补点位于A、B点时,走完下一步(+X):动态坐标变为(X=X+1,Y=Y),新偏差变为F=XeY-(X+1)Ye=XeY-XYe-Ye=F-Ye。这个公式比F=XeY-XYe计算要方便。 图4-3 逐点比较法第一象限直线插补软件框图 插补点位于C点时,走完下一步(+Y):动态坐标变为(X=X,Y=Y+1),新偏差变为F=Xe(Y+1)-XYe=XeY-XYe+Xe=F+Xe。 因此, 走完+X后:偏差计算公式为F=F-Ye; 走完+Y后:偏差
20、计算公式为F=F+Xe。 图4-3为逐点比较法第一象限直线插补软件框图。 逐点比较法直线插补汇编语言程序(MCS-8031) 根据该插补软件框图(参见 LP:MOV SP,#60H 定义堆栈指针 MOV 4AH,#00H 偏差单元清零 MOV 49H,#00H MOV 48H,#01H 初始化XY电动机 MOV 47H,#02H MOV A,4EH 计算终点判别,Xe+Ye之低位 ADD A,4CH MOV 50H,A MOV A,4DH Xe+Ye之高位 ADDC A,4BH
21、低位相加,可能产生进位 MOV 4FH,A MOV A,#03H XY电动机上电 MOV DPTR,#0030H MOVX @DPTR,A LP2:ACALL DL0 延时子程序 MOV A,49H 取偏差F的高8位 JB ACC.7,LP4 偏差F< 0,去LP4 ACALL XMP F>=0,调X电动机正转子程序 CLR C 计算新偏差F值,F=F-Ye MOV A,4AH SUBB A,4CH 可向高位字节借位 MOV 4AH,A MOV
22、A,49H SUBB A,4BH MOV 49H,A LP3:CLR C 终判值减1 MOV A,50H SUBB A,#01H 可向高位字节借位 MOV 50H,A MOV A,4FH SUBB A,#00H 考虑低位字节借位 MOV 4FH,A 终判值判零 ORL A,50H JNZ LP2 终判值不为零,去LP2,否则插补结束 LJMP 0000H LP4:ACALL YMP 调Y电动机正转子程序 MOV A,4A
23、H 计算新偏差F值,F=F+Xe ADD A,4EH MOV 4AH,A MOV A,49H ADDC A,4DH MOV 49H,A SJMP LP3 XMP:MOV A,48H 取X电动机当前状态字 CLR C 移位法 RRC A RRC A RRC A XMP2:CPL A ANL A,#49H 屏蔽无关位 MOV 48H,A 保存X电动机状态字,作为下次转动的基准 ORL A,47H 保存Y电动机原状态不变 XMP4:M
24、OV DPTR,#0030H MOVX @DPTR,A RET XMM:MOV A,48H CLR RLC A RLC A RLC A SJMP XMP2 YMP:MOV A,47H CLR C RRC A RRC A RRC A YMP2:CPL A ANL A,#92H MOV 47H,A ORL A,48H SJMP XMP4 YMM:MOV A,47H CLR C RLC A RLC A RLC A SJMP YMP2 说明:1)黑体字模块为软件环形分配器; 2)各变量地址分配如下:4FH50H-终判值,4DH4EH-Xe,4BH4CH-Ye,49H4AH-偏差值F,47H-Y电动机状态字,48H-X电动机状态字;以大地址格式(最低字节地址单元存放最高位数据)存放各种数据; 3)口地址0030H与XY三相步进电动机相线关系如下:






