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

合集下载

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

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

第三四象限直线插补计算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
数字程序控制主要应用于机床的 自动控制,如用于铣床、车床、加工 中心、线切割机以及焊接机、气割机 等的自动控制系统中。
数字程序控制系统组成
  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:八、课程小节通过此次课程设计,使我更好的掌握了有关数字积分法三四象限逆圆插补计算方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考和询问,终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。

相关文档
最新文档