数字积分法三、四象限顺圆插补

合集下载

第三四象限数字积分法插补计算报告

第三四象限数字积分法插补计算报告

第三四象限直线插补计算1. 引言随着微电子技术,计算机技术的发展,数控机床的性能不断完善,其应用范围也不断增大。

而数控技术作为数控机床的关键技术,越来越得到更多高校的重视。

2.数字积分法直线插补原理设将要加工的直线XOY 平面内第一象限直线OE ,如图.一所示,直线起点在坐标原点,终点为E (Xe ,Ye )。

同样,假设坐标值均为以脉冲当量为单位的整数。

图.一若此时刀具在两坐标轴上的进给速度分量分别是Vx ,Vy ,则刀具在X 轴,Y 轴方向上位移增量分别是△X = Vx △t 式一a△ Y = Vy △t 式一b由图.一 所示的几何关系可得V/OE=Vx/Xe=Vy/Ye=K (常数) 式二将式二中的Vx ,Vy 分别代入式一 可得:△X = KXe △t 式三a△ Y = KYe △t 式三b可见刀具由原点O 走向E 的过程,可以看作式每经过一个单位时间间隔△t ,就分别以增量[KXe],[ KYe]同时在两个坐标轴累加的结果。

也可以这样认为,数字积分法插补实际上就是利用速度分量,进行数字积分来确定刀具在各坐标轴上位置的过程,即XO当取△ti=“1”(一个单位时间间隔)则X = nKXe 式五aY = nKYe 式五b设经过n 次累加后,刀具正好到达终点E(Xe,Ye),则要求式五中常量满足 下式nK=1 式六n 是累加次数必须取整数,所有K 取小数。

为了保证每次分配给坐标轴的进给脉冲不超过一个单位,则△ X=KXe<1 式七a△ Y=KYe<1 式七b上式中Xe ,Ye 的最大允许值受系统中相应寄存器容量的限制。

现假设寄存器 为N 位则容量为2N ,对应存储的最大允许数字量为(2N - 1)将其带入式七得 K<=1/(2N - 1) 式八现不妨取 K =1/2N 式九显然它满足式七,式八的约束条件,再将K 值代入式六可得累加次数为 n =2N 式十如果将n ,K,值代入式五则动点坐标为X = nKXe =Xe 式十一aY = nKYe =Ye 式十一b根据以上分析,在进行直线插补时,先开辟两个被积函数寄存器Jvx ,Jvy 分别存放终点坐标值Xe ,Ye ,还有两个余数寄存器Jrx ,Jry 。

直线插补数字积分法第三、第四象限汇编

直线插补数字积分法第三、第四象限汇编

目录一、课程设计目的 (3)二、课程设计使用的主要仪器及软件设备 (3)三、课程设计题目描述和要求 (3)四、课程设计报告内容 (3)4.1数字积分法直线插补的基本原理 (4)4.1.1从几何角度来看积分运算 (4)4.1.2数字积分法在轮廓插补中的具体应用(数字积分法直线插补) (5)4.2插补终点判别的具体实现 (7)4.3插补器的组成 (7)4.4提高插补精度的措施 (7)4.5减少误差的方法 (7)4.6数字积分法直线插补框图 (7)4.7 数字积分法直线(第三四象限)插补程序 (9)五结论 (13)六实验总结 (13)七程序运行图 (15)一、课程设计目的1)了解连续轨迹控制数控系统的组成原理。

2) 掌握数字积分法(DDA)插补的基本原理。

3)掌握数字积分法(DDA)插补的软件实现方法。

二、课程设计使用的主要仪器及软件设备Pc计算机一台Vb三、课程设计的任务题目描述和要求数字积分法又称数字微分分析法DDA(Digital Differential Analyzer)。

数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。

其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。

由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。

本次课程设计具体要求如下:(1)掌握数字积分插补法基本原理(2)设计出数字积分(DDA)插补法插补软件流程图(3)编写出算法程序清单算法描述(数字积分法算法在VB中的具体实现)(4)要求软件能够实现第一第二象限直线插补计算(5)软件运行仿真效果插补结果要求能够以图形模式进行输出四、课程设计报告内容插补运算就是运用特定的算法对工件加工轨迹进行运算并根据运算结果向相应的坐标发出运动指令的过程。

插补运算可以采用数控系统硬件或数控系统软件来完成。

硬件插补器:速度快,但缺乏柔性,调整和修改都困难。

软件插补器:速度慢,但柔性高,调整和修改都很方便。

数字积分圆弧第一二三四象限顺逆插补计算

数字积分圆弧第一二三四象限顺逆插补计算

数控技术课程设计说明书设计题目:数字积分法圆弧插补计软件设计指导老师:专业:机械设计制造及其自动化班级:机姓名:学号:目录一、课程设计题目 (1)二、课程设计的目的 (1)三、课程设计使用的主要仪器设备 (1)四、课程设计的任务题目描述和要求 (1)五、数字积分法插补原理 (2)5.1从几何角度来看积分运算 (2)5.2数字积分圆弧插补 (3)5.3数字积分法圆弧插补程序流程图 (5)5.4插补实例 (6)六、程序清单 (7)七、软件运行效果仿真 (18)八、课程小节 (21)九、参考文献 (22)一、课程设计题目数字积分法第一、二、三、四象限顺、逆圆插补计算二、课程设计的目的《数控原理与系统》是自动化(数控)专业的一门主要专业课程,安排课程设计的目的是通过课程设计方式使学生进一步掌握和消化数控原理基本内容,了解数控系统的组成,掌握系统控制原理和方法,通过设计与调试,掌握各种功能实的现方法,为今后从事数控领域的工作打下扎实的基础。

1)了解连续轨迹控制数控系统的组成原理。

2) 掌握数字积分法(DDA)插补的基本原理。

3)掌握数字积分法(DDA)插补的软件实现方法。

三、课程设计使用的主要仪器设备1、PC计算机一台2、数控机床实验装置一台3、支持软件若干(选用VB环境)四、课程设计的任务题目描述和要求数字积分法又称数字微分分析法DDA(Digital Differential Analyzer)。

数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。

其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。

由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。

本次课程设计具体要求如下:(1)掌握数字积分插补法基本原理(2)设计出数字积分(DDA)插补法插补软件流程图(3)编写出算法程序清单算法描述(数字积分法算法在VB中的具体实现)(4)要求软件能够实现第一、二、三、四象限顺、逆圆插补计算(5)软件运行仿真效果插补结果要求能够以图形模式进行输出五、数字积分法插补原理数字积分法又称数字积分分析法DDA(Digital differential Analyzer),简称积分器,是在数字积分器的基础上建立起来的一种插补算法。

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧
3.1 程序开始运行时显示介面
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'));

数字积分法插补

数字积分法插补

数字积分法插补前面提到过数字积分法插补是脉冲增量插补的一种,它是用数字积分的方法计算刀具沿各坐标轴的移动量,从而使刀具沿着设定的曲线运动。

实现数字积分插补计算的装置称为数字积分器,或数字微分器(Digital Differential Analyzer, DDA),数字积分器可以用软件来实现。

数字积分器具有运算速度快,脉冲分配均匀,可以实现一次、二次曲线的插补和各种函数运算,而且易于实现多坐标联动,但传统的DDA 插补法也有速度调节不方便,插补精度需要采取一定措施才能满足要求的缺点,不过目前CNC 数控系统中多采用软件实现DDA 插补时,可以很容易克服以上缺点,所以DDA 插补是目前使用范围很广的一种插补方法。

它的基本原理可以用图4.1所示的函数积分表示,从微分几何概念来看,从时刻0到时刻t 求函数y=f(t)曲线所包围的面积时,可用积分公式: (4.1)如果将0~t 的时间划分成时间间隔为Δt 的有限区间,当Δt 足够小时,可得近似公式:(4.2)式中y i-1为t=t i-1时f(t)的值,此公式说明:积分可以用数的累加来近似代替,其几何意义就是用一系列小矩形面积之和来近似表示函数f(t)下面的面积,t y d t f S ni i t t ∆==∑⎰=-110)(⎰=t t d t f S 0)(如果在数字运算时,用取Δt 为基本单位“1”,则4.2式可以简化为:∑=-=n i i y S 11(4.3)如果系统的基本单位Δt 设置得足够小,那么就可以满足我们所需要的精度。

一般地,每个坐标方向需要一个被积函数寄存器和一个累加器,它的工作过程可用图4.2表示:图 4.2 一个坐标方向上的积分器示意图Fig 4.2 Sketch of DDA in one coordinate direction图4.1 数字积分原理Fig 4.1 Principle of DDA被积函数寄存器用以存放坐标值f(t),累加器也称余数寄存器用于存放坐标的累加值。

逐点比较法的性能和数字积分法

逐点比较法的性能和数字积分法

的速度分量为Vx,Vy,
则有
Y
V Vx Vy k OE X e Ye
Vy V E(Xe,Ye)
(k为常数) (3-16)
各坐标轴的位移量为
Vx
X Vxdt kXedt
O
X
Y Vydt kYedt (3-17)
图3-19 DDA直线插补
数字积分法是求式(3-17)从 O到E区间的定积分。此积分值等 于由O到E的坐标增量,因积分是 从原点开始的,所以坐标增量即是 终点坐标。
1. 数字积分法直线插补 例子:
若要产生直线OE,其起点为坐标原点O, 终点坐标为E(7,4)。设寄存器和累加 器容量为1,将Xe=7,Ye=4分别分成8
段,每一段分别为7/8,4/8,将其存入
X和Y函数寄存器中。
第一个时钟脉冲来到时,累加器里 的值分别为7/8,4/8,因不大于累加器 容量,没有溢出脉冲。
停止插补。
例题
设欲加工第一象限直线OE,起点在原点,终点坐标Xe=5, Ye=4,试写出插补计算过程并绘制插补轨迹。
步数 偏差判别 坐标进给
偏差计算
终点判别
1 F0=0 2 F1<0 3 F2>0 4 F3<0 5 F4>0 6 F5<0 7 F6>0 8 F7<0 9 F8>0
F0=0
+X
F1.= F0 - Ye =0-4=-4
Ⅱ Ⅲ
-X -X
+Y -Y
Fm1 Fm Ye Fபைடு நூலகம்1 Fm Xe

+X
-Y
不同象限直线的逐点比较插补
二、圆弧插补 1.偏差计算公式
因为
Rm2
X
2 m
Ym2

数控技术第3章(2)

数控技术第3章(2)

动点从原点出发走向终点的过程,可以看作是各坐 标轴每经过一个单位时间间隔t,分别以增量kXe及kYe 同时累加的结果。
X Y
X kX t
i e i 1 m i=1 m i e i i 1 i 1
m
m
i
Y kY t
取 ti 1(一个单位时间间隔),则 m
0.100 1 0.100 1 0.100 1 0.100 1 0.100 1 0.100 1 0.100 1 0.100
100 0.100 100+100=1 000 0.100+0.100=1.000 100+000=100 0.100+0.000=0.100 100+ 100=1 000 0.100+0.100=1.000 100+ 000=100 0.100+0.000=0.100 100+ 100=1 000 0.100+0.100=1.000 100+ 000= 100 0.100+0.000=0.100 100+ 100=1 000 0.100+0.100=1.000
(二) 数字积分法
数 字 积 分 法 又 称 数 字 微 分 分 析 法 DDA(Digital differential Analyzer),是在数字积分器的基础上建立起 来的一种插补算法。数字积分法的优点是,易于实现 多坐标联动,较容易地实现二次曲线、高次曲线的插 补,并具有运算速度快,应用广泛等特点。 如图3-15所示,设有一函数Y=f(t),求此函数在 t0~tn区间的积分,就是求出此函数曲线与横坐标t在区 间(t0,tn)所围成的面积。如果将横坐标区间段划分 为间隔为t的很多小区间,当t取足够小时,此面积 可近似地视为曲线下许多小矩形面积之和。

逐点比较法数字积分法等插补原理

逐点比较法数字积分法等插补原理
Fm+1=Fm-2ym+1 若 Fm < 0 , 则 沿 +x 方 向 进 给 一 步 至 (m+1) 点 , 新 加 工 点 的 坐 标 将 是 (xm+1,ym),
Fm+1=Fm+2xm+1
(2)四个象限的圆弧插补
其它象限的圆弧插补可与第一象限的情况相比较而得出,因 为其它象限的所有圆弧总是与第一象限中的逆圆弧或顺圆弧互 为对称。
所谓二次曲线插补是指在给定的两个基点之间 用一条近似曲线来逼近,也就是实际的中间点连线 是一条近似于曲线的折线弧。常用的二次曲线有圆 弧、抛物线和双曲线等。
⑷ 将插补运算过程中定出的各中间点,以脉冲信号的形式去 控
制x和y方向上的步进电机,带动刀具或绘图笔,从而加工或绘
制出符合要求的零件轮廓。
每个脉冲驱动步进电机走一步(即刀具或绘图笔在x或y方向上 移动一个位置),称为步长。常用Δx和Δy来表示,通常取 Δx=Δy。
下面推导简化的偏差计算的递推公式:
①设加工点正处于m(xm,ym)点,当Fm≥0时,应沿-x方向进给 一步至(m+1)点,其坐标值为 : xm+1=xm-1
ym+1=ym 新的加工点的偏差为
2xm+1
Fm+1=xm+12+ym+12-R2=(xm-1)2+ym2-R2=Fm-
②设加工点正处于m(xm,ym)点,当Fm<0时,应沿+y方向进 给一步至(m+1)点,其坐标值为: xm+1=xm
数字程序控制主要应用于机床的 自动控制,如用于铣床、车床、加工 中心、线切割机以及焊接机、气割机 等的自动控制系统中。
数字程序控制系统组成

第三节 数字积分法插补

第三节  数字积分法插补

第三节 数字积分法插补一、数字积分法的基本原理数字积分法又称数字微分分析法(Digital Differential Analyzer )。

这种插补方法可以实现一次、二次、甚至高次曲线的插补,也可以实现多坐标联动控制。

只要输入不多的几个数据,就能加工出圆弧等形状较为复杂的轮廓曲线。

作直线插补时,脉冲分配也较均匀。

从几何概念上来说,函数)(t f y =的积分运算就是求函数曲线所包围的面积S (图3-10所示)。

图3-10 函数)(t f y =的积分S=⎰tydt 0(3-9)此面积可以看作是许多长方形小面积之和,长方形的宽为自变量t ∆,高为纵坐标i y 。

则 S=⎰tydt 0=t y ni i ∆∑=0(3-10)这种近似积分法称为矩形积分法,该公式又称为矩形公式。

数学运算时,如果取t ∆=1,即一个脉冲当量,可以简化为:S=∑=ni iy(3-11)由此,函数的积分运算变成了变量求和运算。

如果所选取的脉冲当量足够小,则用求和运算来代替积分运算所引起的误差一般不会超过容许的数值。

二、DDA 直线插补 1.DDA 直线插补原理图3-11 直线插补设xy 平面内直线OA ,起点(0,0),终点为(e x ,e y ),如图3-11所示。

若以匀速V 沿OA 位移,则V 可分为动点在x 轴和y 轴方向的两个速度x V 、y V ,根据前述积分原理计算公式,在x 轴和y 轴方向上微小位移增量x ∆、y ∆应为⎩⎨⎧∆=∆∆=∆t V y tV x y x (3-12) 对于直线函数来说,x V 、y V ,V 和L 满足下式⎪⎪⎩⎪⎪⎨⎧==L y VV Lx V V e y e x 从而有⎩⎨⎧==e yex ky V kx V (3-13) 其中:LVk =因此坐标轴的位移增量为⎩⎨⎧∆=∆∆=∆tky y tkx x e e (3-14) 各坐标轴的位移量为⎪⎪⎩⎪⎪⎨⎧∆==∆==⎰∑⎰∑==tn i e e t n i e e ty k dt ky y t x k dt kx x 0101(3-15) 所以,动点从原点走向终点的过程,可以看作是各坐标轴每经过一个单位时间间隔t ∆,分别以增量e kx 、e ky 同时累加的过程。

2--插补象限、圆弧走向处理以及逐点比较法合成进给速度

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)
第一象限顺圆弧的插补问题可转换为第一象限逆圆弧的插补问题,转换方 法如下。

5.3 数字积分法插补原理

5.3 数字积分法插补原理

主讲人:罗福源原理利用数字积分的原理,计算各坐标轴的位移,形成插补轨迹。

在计算机里,积分即是求和,也就是累加。

那么加数是什么?是微位移(Δx、Δy、......),因此数字积分法又称为DDA法,(Digital Differential Analyzer),即数字微分分析器法。

特点允许多个坐标轴同时输出脉冲。

优点运算速度快、脉冲分配均匀,易于实现多坐标联动。

X Δx01234取微位移Δx(<1个脉冲当量)进行累加运算。

随着累加次数逐渐增加,对应动点的x坐标也不断增大。

当完成若干次累加后,位移之和已经超出1个脉冲当量。

此时,利用这个溢出信号让数控系统向x坐标轴发出一个控制脉冲,使之产生一个脉冲当量的位移。

如此不断累加,每当位移之和超出1个脉冲当量,就向x 坐标轴发出一个控制脉冲,直至到达终点,插补结束。

保证Δx 与Δy 符合斜率关系即可:DDA法直线插补e ex y x y =∆∆⎪⎪⎩⎪⎪⎨⎧<=∆<=∆11m y y m x x e e设经累加m 次到达终点,则若取m =2n ,(n 为累加器位数),则易于计算机实现。

因为Δx=x e •2-n 与x e 相比,只是小数点位置不同,不影响累加运算后的有效数位与溢出的判别。

这样,把对Δx 、Δy的累加转变为对x e 与y e 的累加。

Y XA(x e ,y e )Δx2ΔxΔy 2Δy OX -Y平面第一象限直线DDA插补器的示意图:Δt Y轴溢出脉冲X轴溢出脉冲+Y 积分累加器J RYX积分累加器J RX被积函数寄存器J VX (x e )+控制脉冲被积函数寄存器J VY (y e )其它象限的直线DDA插补,参照前述逐点比较法,对终点坐标进行取绝对值并按实际方向进给即可。

累加次数m JVX(存xe)JRX(∑xe)△x JVY(存ye)JRY(∑ye)△y0100000011000 11000001100 20000111000 31000000101 40000110000 51000011100 60000101001 71000010100 80000100001 91000001100 100000111000 111000000101 120000110000 131000011100 140000101001 151000010000 160000100001A (8,6)插补轨迹理想轨迹8756123456O1234YX以第一象限逆圆弧为例V yV x VARYOXP (x i ,y j )B (x e ,y e )DDA法圆弧插补222x y R+=等式两边同时对时间参数t 求导,可得220dx dy x dy dxx y dt dt dt dty+=⇒=-由此可导出第一象限逆圆弧加工时动点沿坐标轴方向的速度分量为=x j y i dx V ky ky dt dy V kx kx dt ⎧==--⎪⎪⎨⎪===⎪⎩在一个单位时间Δt 内,X 和Y 方向上的移动距离微小增量Δ x 、Δ y 为:⎪⎩⎪⎨⎧∆=∆=∆∆=∆=∆tkx t V y t ky t V x i y j x -⎪⎩⎪⎨⎧=∆=∆=∆=∆n --n22--i i j j x t kx y y t ky x 令Δt =1,取k=2-n ,得:插补时寄存的是动点坐标x i 或y j ,是变量。

二、数字积分法插补

二、数字积分法插补

O ∆t
t T
若∆t取最小基本单位“1”,则上式可简化为: n-1 S=∑ Yi
i=0
(累加求和公式或矩形公式)
这种累加求和运算,即积分运算可用数字积分器来实现, 被积函数寄存器 ∆t 存放Y值
+ ∆Y
累加器(余数寄存器)
若求曲线与坐标轴所包围的面积,求解过程如下: 被积函数寄存器用以存放Y值,每当∆t 出现一次,被积函 数寄存器中的Y值就与累加器中的数值相加一次,并将 累加结果存于累加器中,如果累加器的容量为一个单 位面积,则在累加过程中,每超过一个单位面积,累 加器就有溢出。当累加次数达到累加器的容量时,所 产生的溢出总数就是要求的总面积,即积分值。 被积函数寄存器 ∆t 存放Y值
110 110 110 110 110 110 110 110
000 110 100 1 010 1 000 1 110 100 1 010 1 1
000 初始状态 111 第一次累加 110 JRy有进位, ∆Y溢出 101 JRy有进位, ∆Y溢出 100 ∆X,∆Y同时溢出 011 ∆X,∆Y同时无溢出 ∆Y溢出 010 ∆Y溢出 001 000
1
010 001
无溢出 1 000 ∆X∆Y同时溢出
,Y到终点停止迭代
∆X溢出修正Xi
插补计算过程如下:
累加 次数 (∆t) Y终 X积分器 X终 Y积分器 JVx JRy 溢出 点计 Jvy JRx 溢出 点计 数器 (Yi) ∆X 数器 (Xi) ∆Y
备注
∆X溢出修正Xi
12 101 001 1 001 010 001 13 101 110 001 001 14 101 011 1 000 001 000
二、数字积分法插补

3.5.2 直线和圆弧DDA法插补原理

3.5.2 直线和圆弧DDA法插补原理
0+1=1 1+1=2 2+1=3 3+1=4 4+1=5 5 5
JY-1 JY 5
5 5 5 5-1=4 4-1=3 3-1=2 2-1=1
终点判 别 NX NY
+Y +Y +Y -X,+Y 10-8=2 -X,+Y 10-8=2 -X -X 12-8=4 9-8=1
10-8=2 12-8=4 9-8=1 11-8=3 11-8=3
2012-5-30
数字积分法直线插补运算过程(前五步)
累加 次数 X积分器 Y积分器 终点计 数 器 JE 000
JRX+JVX
1 0+101=101
溢出 △X 0 1
0 1 1
JRY+JVY
0+010=010
溢 出 △Y 0 0
0 1 0
2
3 4 5
101+101=010
010+101=111 111+101=100 100+101=001
一 插补的基本概念; 二 插补方法的分类; 三 逐点比较法; 四 数字积分法; 五 数据采样法(时间分割法); 六 插补算法中的速度处理。
2012-5-30
四 数字积分法插补
特点:
易于实现多坐标联动插补 Y 1 数字积分法的工作原理 如右图,函数在[t0 , tn ]的定 积分,即为函数在该区间 的面积: O t0 t1 t2 如果从t=0开始,取自变量 t的一系列等间隔值为△t, 当△t足够小时,可得
2 设圆弧AB为第一象限逆圆弧,起点A (3,0),终点为B(0,3),用DDA法加工圆弧 AB。
2012-5-30

7.数字积分法圆弧插补

7.数字积分法圆弧插补
t
X函数寄存器JVX
Y函数寄存器JVY
与门
Y
X累加器JRX
与门
X
Y累加器JRY
图5-23 第一象限顺圆弧插补器
机电工程学院
DDA圆弧插补与直线插补的主要区别为:
(1)圆弧插补中被积函数寄存器寄存的坐标值与对应坐标轴积分 器的关系恰好相反。 (2)圆弧插补中被积函数是变量,直线插补的被积函数是常数。 (3)圆弧插补终点判别需采用两个终点计数器。对于直线插补,
圆弧插补时要求刀具沿圆弧切线作等速运动设圆弧上某一点pxy的速度为v则在两个坐标方向的分速度为vxvy根据图中几何关系有如下关系式
7.数字积分法圆弧插补
第一象限顺圆如右图,圆弧的圆心在坐标原点O,起点为A(Xa,Ya), 终点为B(Xb,Yb)。圆弧插补时,要求刀具沿圆弧切线作等速运动,设圆 弧上某一点P(X,Y)的速度为 V,则在两个坐标方向的分速度为Vx,Vy, 根据图中几何关系,有如下关系式:
V Vx Vy k RY X
对于时间增量而言,在X,Y坐标
轴的位移增量分别为:
X Vxt kYt
Y Vyt kXt
由于第一象限顺圆对应Y坐标值逐渐
减小,所以式(3-21)中表达式中取负号,
图5-22 DDA圆弧插补
即Vx,Vy均取绝对两个积分器来实现圆弧插补,如下图所示。
如果寄存器位数为n,无论直线长短都需迭代2n次到达终点。
有缘学习更多+谓ygd3076或关注桃报:奉献教育(店铺)
机电工程学院

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧

数控机床DDA数字积分法插补第⼀象限直线,逐点⽐较法插补⼆三象限顺圆弧⽬录⼀、课程设计介绍1.1 任务说明 (3)1.2要求 (3)⼆、程序操作及算法流程图2.1 DDA法插补直线流程 (3)2.2逐点⽐较法插补逆时针圆弧流程 (4)三、⽤户使⽤说明3.1 程序开始运⾏时显⽰介⾯ (5)3.2 执⾏计算 (5)3.3 DDA法直线插补实例 (6)3.4 逐点⽐较法插补第⼆三象限逆时针圆弧 (7)四、主要算法及源程序4.1 程序设计概述 (8)4.2 主要算法的实现 (8)4.2.1 参数声明 (8)4.2.2复位操作 (9)4.2.3单步操作 (11)4.2.4 连续插补 (11)4.2.5 辅助操作 (13)五、本设计的特点 (13)六、课程设计的感想 (13)七、主要参考⽂献 (14)⼀、课程设计介绍1.1、任务说明:(1)直线插补:DL1, DDA 法第⼀象限直线插补。

(2)圆弧插补:PA23,逐点⽐较法⼆三象限顺圆弧插补。

1.2、要求:(1)具有数据输⼊界⾯,如:起点,终点,圆⼼,半径及插补步长。

(2)具有插补过程的动态显⽰功能,如:但单步插补,连续插补,插补步长可调。

本课程设计的题⽬要求是DDA数字积分法插补第⼀象限直线,逐点⽐较法插补⼆三象限顺圆弧。

由于本课设要求只为⼆三象限,故默认为劣弧插补。

此外,对于两种插补对象均可根据需要改变插补步长,以表现不同的插补效果。

在插补显⽰过程中,有两种插补显⽰⽅式,即⼿动单步插补和⾃动连续插补动态显⽰。

⼆、程序操作及算法流程图 2.1 DDA 法插补直线流程初始化sx sy ex ey 步长bc 寄存器vx1 vy1 累加器 rx1 ry1rx1=rx1+vx1 ry1=ry1+vy1ry1是否溢出rx1是否溢出是否到达终点结束 +x ⾛⼀个步长 +y ⾛⼀个步长NY NYNY开始DDA 插补第⼀象限的直线流程图2.2逐点⽐较法插补逆时针圆弧流程逐点⽐较法插补⼆三象限逆圆弧参数说明:sx 、sy 为起点坐标ex 、ey 为终点坐标开始初始化sx ex sy sy bc 弧半径平⽅rY21>=0r>=0r>=0向—y ⾛⼀步向x ⾛⼀步向—y ⾛⼀步向—x ⾛⼀步是否到达终点结束yyynnnn yn为进给总次数cx、cy为圆⼼坐标bc为步长m为寄存器位数s_1表⽰按下直线选项,s_2表⽰按下圆弧按钮三、⽤户使⽤说明——软件运⾏说明及结果显⽰3.1 程序开始运⾏时显⽰介⾯3.2 执⾏计算在右侧⾯板中有参数输⼊区,⽅式选择区以及执⾏按钮等操作。

机电一体化-插补原理

机电一体化-插补原理
Interpolation

8
当偏差值F<0时 CNC向Y正方向发出一进给脉冲指令 刀具从所在点(Xi,Yi)走向新加工点(Xi+1,Yi+1) 则新加工点偏差值为 Fi+1,i+1= Fi,i+1=XeYi+1-XiYe =Xe(Yi+1)-XiYe =XeYi+Xe-XiYe 即 Fi,i+1=F+Xe
F9=F8-2X0+1 =0-2×8+1= -15
X9=X8-1=7
Y9=Y8=6
Y10=Y9+1=7 Y11=Y10+1=8
J=3
J=2 J=1 J=0
F10=F9+2Y9+1 X10=X9=7 =-19+2×6+1= -2 F11=F10+2Y10+1 =-2+2×7+1=13 F12=F11-2X11+1 =13-2×7+1=0 X11=X10=7
P(Xi,Yi) O X
2. 若P在直线OA上方时(在OA与Y 轴所夹角区域内),则下式成立
2016/12/28
Yi Ye X Y X Y 0 => e i i e Xi Xe
Interpolation
F> F<
6
3. 若P在直线OA下方时(在OA与X轴所夹角区域 内), 则下式成立
Yi Ye Xi Xe
X12=X11-1=6 Y12=Y11=8
逆圆弧插补过程步骤
Y 8 6 4 2 2
2016/12/28
⑿ B(6,8) ⑾ ⑩ ⑨ ⑧ ⑦ ⑥ ⑤ ④ ③ ②
4
6
A(10,0) X 8 ①10

数控技术-学习指南

数控技术-学习指南

数控技术-学习指南一、填空题(每空1分)1.数控是数字操纵的简称,是用对机床的运动及加工过程进行操纵的自动操纵技术。

2.只在写有该代码的程序段中才有效的代码为代码。

3.数控编程一般分为和两种。

4.常用的坐标平面选择指令为、、。

5.刀具补偿功能是数控系统所具有的为方便用户精确编程而设置的功能,它可分为补偿和补偿。

6.M代码是操纵数控机床功能的指令,要紧用于完成加工操作时的一些辅助动作。

7.在一个程序段中差不多指定,直到出现同组另一个代码才失效的代码称为_。

,与主轴重合或平行于主轴的轴为轴,轴通常是水平的,且平行于工件装夹外表。

数控机床某一移动坐标的正方向是指增大_和_之间距离的方向。

9.数控机床按照操纵系统功能分类,能够分为数控机床、直线操纵数控机床、数控机床。

10.在数控编程时,使用__指令后,就能够按工件的轮廓尺寸进行编程,而不需按照刀具的中心线运动轨迹来编程。

11.数控机床一般是由、、、机床本体和测量反响装置组成。

12.是首先要确定的坐标轴,是沿提供切削功率的主轴轴线方向。

13.数控机床按照伺服操纵方式分类,能够分为数控机床、数控机床和数控机床。

14.指令是使数控机床预备好某种运动方式的指令;指令要紧用于数控机床的开关量操纵。

15.数控机床坐标系,以平行于机床主轴的刀具运动坐标轴为轴,以刀具远离工件方向为该坐标方向。

16.数控技术中常用的插补算法有和插补法两大类。

17.程序编制可分为手工编程和。

18.G代码中,代码表示在程序中一经被应用,直到出现同组的任一G代码时才失效;代码表示只在本程序段中有效。

19.数控机床常用的位置检测装置有:、、等。

和。

21.三相步进电机的转子上有40个齿,假设采纳三相六拍通电方式,那么步进电机的步距角为。

、、、和机床本体组成。

、、。

C系统软件按照功能分为软件和软件。

25.数控机床坐标系确实定:X、Y、Z的正向是工件尺寸增加的方向,通常平行于主轴的轴线为Z坐标,而坐标方向是水平的,同时平行于工件装卡面,而Y向坐标是按照来确定的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XX 学院课程设计说明书设计题目:数字积分法三、四象限顺圆插补计算系 (部): xxx专业: xxx班级: xxx姓名: xxx学号: xxx指导老师(签名): xxx起止时间:2012年12月 24 日至2012年12月 29 日共 1 周20 12 年 12 月 26 日目录一、课程设计题目 (1)二、课程设计的目的 (1)三、课程设计使用的主要仪器设备 (1)四、课程设计的任务题目描述和要求 (1)五、数字积分法插补原理 (2)从几何角度来看积分运算 (2)数字积分圆弧插补 (3)数字积分法圆弧插补程序流程图 (5)插补实例 (6)六、程序清单 (8)七、软件运行效果仿真 (14)八、课程小节 (20)九、参考文献 (20)一、课程设计题目数字积分法第三四象限顺圆插补计算二、课程设计的目的《数控原理与系统》是自动化(数控)专业的一门主要专业课程,安排课程设计的目的是通过课程设计方式使学生进一步掌握和消化数控原理基本内容,了解数控系统的组成,掌握系统控制原理和方法,通过设计与调试,掌握各种功能实的现方法,为今后从事数控领域的工作打下扎实的基础。

1) 了解连续轨迹控制数控系统的组成原理。

2) 掌握数字积分法(DDA)插补的基本原理。

3)掌握数字积分法(DDA)插补的软件实现方法。

三、课程设计使用的主要仪器设备1、PC计算机一台2、数控机床实验装置一台3、支持软件若干(选用VB环境)四、课程设计的任务题目描述和要求数字积分法又称数字微分分析法DDA(Digital Differential Analyzer)。

数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。

其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。

由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。

本次课程设计具体要求如下:(1)掌握数字积分插补法基本原理(2)设计出数字积分(DDA)插补法插补软件流程图(3)编写出算法程序清单算法描述(数字积分法算法在VB中的具体实现)(4)要求软件能够实现第三第四象限顺圆插补计算(5)软件运行仿真效果插补结果要求能够以图形模式进行输出五、数字积分法插补原理数字积分法又称数字积分分析法DDA(Digital differential Analyzer),简称积分器,是在数字积分器的基础上建立起来的一种插补算法。

具有逻辑能力强的特点,可实现一次、两次甚至高次曲线插补,易于实现多坐标联动。

只需输入不多的几个数据,就能加工圆弧等形状较为复杂的轮廓曲线。

直线插补时脉冲较均匀。

并具有运算速度快,应用广泛等特点。

从几何角度来看积分运算如下图所示,从时刻到t 求函数曲线所包围的面积时,可用积分公式表示,如果将0~t 的时间划分成时间间隔为的有限区间,当足够小时,可得近似公式 :若△t 取“1”,上式简化为:这种累加求和运算,即积分运算可用数字积分器来实现,若求曲线与坐标轴所包围的面积,求解过程如下:被积函数寄存器用以存放Y 值,每当Δt 出现一次,被积函数寄存器中的Y 值就与累加器中的数值相加一次,并将累加结果存于累加器中,如果累加器的容∑⎰⎰=∆===ni i ttty dt t y dt t f S 1)()(∑==ni iy S 1∑∑⎰===∆−−→−∆==ni in i t i ty t y dt t y S 111)(量为一个单位面积,则在累加过程中,每超过一个单位面积,累加器就有溢出。

当累加次数达到累加器的容量时,所产生的溢出总数就是要求的总面积,即积分值。

被积函数寄存器与累加器相加的计算方法:例:被积函数寄存器与累加器均为3位寄存器,被积函数为5,求累加过程。

101 101 101 101 +)000 +)101 +)010 +)111 101 010 111 100101 101 101 101 +) 100 +)001 +)110 +) 011 001 110 011 000经过2^3 = 8次累加完成积分运算,因为有5次溢出,所以积分值等于5。

数字积分圆弧插补圆心为坐标原点的圆弧方程式为: 可得圆的参数方程为:对t 微分得、方向上的速度分量为:用累加器来近似积分为:如图所示,设加工半径为R 的第一象限逆时针圆弧AB ,坐标原点定在圆心上,A(Xo,Yo)为圆弧起点,B(Xe,Ye)为圆弧终点,Pi(Xi,Yi)为加工动点。

222x y r+=t r x cos =sin y r t=y d cos d y v r t xt===x d sin d x v r t y t==-=-i1ni x y t ==-∆∑i1ni y x t ==∆∑如下图所示,可以得到:V/R = Vx/Yi = Vy/Xi = K即Vx=K Yi,Vy=K Xi因而可以得到坐标微小位移增量为:ΔX=VxΔt = KYiΔt ΔY=VyΔt = KXiΔt设Δt=1,K=1/2 则有:可看出,用DDA法进行圆弧插补时,是对加工动点的坐标Xi和Yi的值分别进行累加,若积分累加器有溢出,则相应坐标轴进给一步,则圆弧积分插补器如图所示:数字积分法圆弧插补程序流程图DDA法插补不同象限圆弧时,算法也有所不同。

当采用软件插补时,如果参与积分运算的寄存器均采用绝对值数据,则DDA法插补的积分累加过程完全相同,即JR+JV→JR,只是进给脉冲分配方向和圆弧插补动点坐标的修正有所不同。

插补实例设有第Ⅰ象限逆圆弧SE,起点为S(4,0),终点为E(0,4),且寄存器位数N=3。

试用DDA法对该圆弧进行插补,并画出插补轨迹。

解:插补开始时,被积函数寄存器初值分别为JVX=YS=0,JVY=XS=4,终点判别寄存器JSX=|Xe-XS|=4,JSY=|Ye-YS|=4。

该圆弧插补运算过程见下表,插补轨迹如下图所示的折线。

六、程序清单Private Sub 建立坐标系_Click()= vbBlack= 2(500, 1000)-(8500, 1000) '画直线坐标轴 (4500, 1000)-(4500, 5000)= 230 '当前位置= 900"-X" '坐标轴标注= 4300= 800"(0,0)"= 8650= 900"X"= 4400= 5100"-Y"(500, 1000)-(600, 950) '箭头(500, 1000)-(600, 1050)(8500, 1000)-(8400, 950)(8500, 1000)-(8400, 1050)(4500, 5000)-(4450, 4900)(4500, 5000)-(4550, 4900)End SubPrivate Sub 画圆弧_Click()Dim a, b, c, d, n, m As IntegerDim r As Singlea = Valc = Vald = Valn = a * a + b * bm = c * c + d * dr = Sqr(n)= vbRed= 4If = True ThenConst PI =(4500, 1000), 300 * r, , PI, -3 * -PI / 2 End IfIf = True Then(4500, 1000), 300 * r, , -3 * -PI / 2, 0 * PI End IfEnd SubPrivate Sub 清除_Click()= ""= ""= ""= ""= ""= False= FalsePrivate Sub 插补计算_Click()If Not = True Or = True) Thenans = MsgBox("出错了,请选择象限", 48, "提示信息")End IfDim a, b, c, d, ni, mi, ai, bi, ci, k, f, g, m, n, l, i, xs, yx, xe, ye, jvx, jvy, xi, yi As IntegerDim r As Singlea = Valb = Valc = Vald = Valni = a * a + b * bmi = c * c + d * dr = Sqr(ni)ci = 2f = 1g = 1k = 0 '正X进给标志 1 正向 -1负向m = 0 '负Y进给标志 1 正向 -1负向n = 0 '累加次数i = CInt(Text5) '寄存器位数赋给il = 2 ^ ixs = CInt(Text1)ys = CInt(Text2)xe = CInt(Text3)ye = CInt(Text4)jvx = Abs(CInt(Text2))jvy = Abs(CInt(Text1))jrx = 0jry = 0xi = Abs(CInt(Text3) - CInt(Text1)) 'X方向总步yi = Abs(CInt(Text4) - CInt(Text2)) 'Y方向总步长ai = xsbi = ys= vbGreen= 3= 200= 200Print " " & " X积分器 " & " Y 积分器 " = 100= 400Print "累加次数 n" & " jvx " & "Jrx=Jrx+Jvx" & " △X " & "J∑x" & " Jvy" & " Jry=Jry+Jvy" & " △Y " & " J∑y "= 100= 600Print " 开始 " & " " & jvx & " " & jrx & " " & k & " " & xi & " " & jvy & " " & jry & " " & m & " " & yiwz: k = 0 'X方向进给标志 1 X正向进给 -1负向进给m = 0 'Y方向进给标志 1 Y正向进给 -1负向进给If xi > 0 Then 'X方向判断jrx = jrx + jvxIf jrx >= l Then '判断寄存器是否溢出 jrx = jrx - l '溢出修正If jrx >= l Then '寄存器位数判断GoTo ww5End Ifk = -1 '负X方向进给xi = xi - 1 'X方向总步长减1End IfEnd IfIf yi > 0 Then 'Y方向判断jry = jry + jvyIf jry >= l Then '判断寄存器是否溢出 jry = jry - l '溢出修正If jry >= l Then '寄存器位数判断GoTo ww5End IfIf = True Then '第三象限m = 1 '正Y方向进给ElseIf = True Then '第四象限m = -1 '负Y方向进给End Ifyi = yi - 1 'Y方向总步长减1End IfEnd Ifn = n + 1 '累加次数加1= 100= 600 + n * 200If xi = 0 Or yi = 0 ThenIf xi = 0 And yi <> 0 And f = 0 ThenPrint " " & n & " " & jvx & " " & "停止" & " " & ""& " " & "" & " " & jvy & " " & jry & " " & m & " " & yiGoTo wz2End IfIf xi = 0 And yi <> 0 And f < 0 ThenPrint " " & n & " " & jvx & " " & " " & " " & ""& " " & "" & " " & jvy & " " & jry & " " & m & " " & yiGoTo wz2End IfIf xi <> 0 And yi = 0 And g = 0 ThenPrint " " & n & " " & jvx & " " & jrx & " " & k & " " & xi & " " & jvy & " " & "停止"GoTo wz2End IfIf xi <> 0 And yi = 0 And g < 0 ThenPrint " " & n & " " & jvx & " " & jrx & " " & k & " " & xi & " " & jvyGoTo wz2End IfIf xi = 0 And yi = 0 And f = 1 And g < 0 ThenPrint " " & n & " " & jvx & " " & jry & " " & k & " " & xi & " " & jvyGoTo wz2End IfIf xi = 0 And yi = 0 And f < 0 And g = 1 ThenPrint " " & n & " " & jvx & " " & " " & " " & "" & " " & "" & " " & jvy & " " & jry & " " & m & " " & yi GoTo wz2End IfIf xi = 0 And yi = 0 And f = 0 And g = 0 ThenPrint " " & n & " " & jvx & " " & "停止" & " " & "" & " " & "" & " " & jvy & " " & "停止"GoTo wz2End IfIf xi = 0 And yi = 0 And f = 0 And g < 0 ThenPrint " " & n & " " & jvx & " " & "停止" & " " & k & " " & xi & " " & jvy & " "GoTo wz2End IfIf xi = 0 And yi = 0 And f < 0 And g = 0 ThenPrint " " & n & " " & jvx & " " & " " & " " & "" & " " & "" & " " & jvy & " " & "停止"GoTo wz2End IfEnd IfPrint " " & n & " " & jvx & " " & jrx & " " & k & " " & xi & " " & jvy & " " & jry & " " & m & " " & yiwz2: If xi = 0 Thenf = f - 1End IfIf yi = 0 Theng = g - 1End IfIf xi = 0 And yi = 0 Thenci = ci - 1If ci = 0 ThenGoTo wz3End IfEnd IfIf = True ThenIf k = -1 Then '负X方向进给jvy = jvy + 1End IfIf m = 1 Then '正Y方向进给jvx = jvx - 1End IfEnd IfIf = True ThenIf k = -1 Then '负X方向进给jvy = jvy - 1End IfIf m = -1 Then '负Y方向进给jvx = jvx + 1End IfEnd If(4500 + 300 * ai, 1000 - bi * 300)-(4500 + 300 * (ai + k), 1000 - (bi + m) * 300) ai = ai + kbi = bi + mGoTo wzww3: = ""= ""= ""= ""= ""ww5:ans = MsgBox("出错了,寄存器位数偏小,请输入", 48, "提示信息") = ""ww4:wz3:End Sub七、软件运行效果仿真界面设计第三象限—寄存器位数为4:第四象限—寄存器位数为4:第三象限—寄存器位数为3:第四象限—寄存器位数为3:八、课程小节通过此次课程设计,使我更好的掌握了有关数字积分法三四象限逆圆插补计算方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考和询问,终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。

相关文档
最新文档