基于VB的数字积分直线插补设计Word下载.docx

上传人:b****5 文档编号:18313248 上传时间:2022-12-15 格式:DOCX 页数:26 大小:166.75KB
下载 相关 举报
基于VB的数字积分直线插补设计Word下载.docx_第1页
第1页 / 共26页
基于VB的数字积分直线插补设计Word下载.docx_第2页
第2页 / 共26页
基于VB的数字积分直线插补设计Word下载.docx_第3页
第3页 / 共26页
基于VB的数字积分直线插补设计Word下载.docx_第4页
第4页 / 共26页
基于VB的数字积分直线插补设计Word下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于VB的数字积分直线插补设计Word下载.docx

《基于VB的数字积分直线插补设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于VB的数字积分直线插补设计Word下载.docx(26页珍藏版)》请在冰豆网上搜索。

基于VB的数字积分直线插补设计Word下载.docx

 

签字:

签字:

主任委员签字:

主任(院长)签字:

摘要数控技术是数控机床的关键,而机床数控系统的核心技术是插补。

在所需的路径或轮廓上的两个已知点间,根据某一数学函数确定其中多个中间点位置的运动过程称为插补。

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

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

本论文介绍了插补的基本原理和分类;

主要说明了数字积分法的直线插补原理,将其插补过程和算法进行了更进一步的讨论。

通过对VisualBasic语言特点的分析,鉴于VB操作的可视化开发环境等优点,故本文采用了VB设计语言进行DDA直线插补过程的模拟。

关键词数控技术数字积分软件插补VB

毕业设计说明书中文摘要

毕业设计说明书外文摘要

VB-BasedDesignforDigitalIntegrationStraightLineInterpolation

Abstract

CNCtechnologyisthekeytoCNCmachinetools,andthecoretechnologyofCNCsystemisinterpolation.Betweenthetwoknownpointsintherequiredpathorcontour,themovementthatnumbersofintermediatepositionsdetermined,accordingtoamathematicalfunctioniscalledinterpolation.Digitalintegralinterpolationisakindofincrementalinterpolation.Itcalculatedthemobilecontentalongtheaxisofthecuttingtoolusingdigitalintegration.Sothatthetoolmovealongthecurveset.Thedeviceknownasadigitalintegratorordigitaldifferentiatorareusedfordigitalintegralinterpolationcomputing.Digitalintegratorcanbeachievedwithsoftware.

Thispaperintroducesthebasicprinciplesandclassificationofinterpolation,mainlyshowstheLinearinterpolationtheoryofDigitalIntegration,anddiscussedtheinterpolationprocessandthealgorithmfurther,accordingtotheanalysisofVisualBasiclanguagefeatures,andthevisualdevelopmentenvironmentofVBvisual’soperation.Therefore,thispapersimulatedtheDDAlinearinterpolationprocessbytheVBlanguage.

keywords:

CNCTechnologyDigitalIntegrationSoftwareinterpolationVB

1引言

数控的广泛含义是指对流程工业的过程控制和对离散工业运动控制而言的,机床数控仅仅是运动控制中的一种类型。

数控技术的问世已有40多年的历史,它是由机械学、控制论、电子学、计算机科学四大基础学科发展起来的一门综合性的新型学科。

数控技术是数控机床的关键,而机床数控系统的核心技术是插补。

在数控加工中,数控系统要解决控制刀具与工件运动轨迹的问题。

在所需的路径或轮廓上的两个已知点间,根据某一数学函数确定其中多个中间点位置的运动过程称为插补[1]。

插补的任务就是根据进给速度的要求,完成轮廓起点和终点之间中间点的坐标值计算。

对于轮廓控制系统来说,插补运算是最重要的运算任务。

插补对机床控制必须是实时的。

插补运算速度直接影响系统的控制速度,而插补计算精度又影响到整个CNC系统的精度。

人们一直在努力探求计算速度快且计算精度高的插补算法[2]。

  传统的机械加工都是用手工操作普通机床作业的,加工时用手摇动机械刀具切削金属,靠眼睛用卡尺等工具测量产品的精度的。

现代工业早已使用电脑数字化控制的机床进行作业了,数控机床可以按照技术人员事先编好的程序自动对任何产品和零部件直接进行加工了。

这就是我们说的“数控加工”。

数控加工广泛应用在所有机械加工的任何领域,更是模具加工的发展趋势和重要和必要的技术手段。

数控机床是按照事先编制好的加工程序,自动地对被加工零件进行加工。

我们把零件的加工工艺路线、工艺参数、刀具的运动轨迹、位移量、切削参数(主轴转数、进给量、背吃刀量等)以及辅助功能(换刀、主轴正转、反转、切削液开、关等),按照数控机床规定的指令代码及程序格式编写成加工程序单,再把这程序单中的内容记录在控制介质上(如穿孔纸带、磁带、磁盘、磁泡存储器),然后输入到数控机床的数控装置中,从而指挥机床加工零件。

  这种从零件图的分析到制成控制介质的全部过程叫数控程序的编制。

数控机床与普通机床加工零件的区别在于控机床是按照程序自动加工零件,而普通机床要由人来操作,我们只要改变控制机床动作的程序就可以达到加工不同零件的目的。

因此,数控机床特别适用于加工小批量且形状复杂要求精度高的零件。

1.1插补概述

机床数控系统的核心技术是插补。

数控系统根据这些坐标值控制刀具或工件的运动,实现数控加工。

插补的实质是根据有限的信息完成“数据密化”的工作[3]。

数控加工程序提供了刀具运动的起点、终点和运动轨迹,而刀具怎么从起点沿运动轨迹走向终点则有主控系统的插补装置或插补软件来控制。

实际加工中,被加工零件的轮廓种类很多,严格来说,为了满足加工要求,刀具轨迹应该准确的按零件的轮廓形状生成。

然而,对于复杂的曲线轮廓,直接计算刀具运功轨迹非常复杂,计算工作量很大,不能满足数控加工的实时控制要求。

因此,在实际应用中,使用一小段直线或圆弧去逼近(或称为拟合)零件的轮廓曲线,即通常所说的直线和圆弧插补。

某些高性能的数控系统中,还具有抛物线、螺旋线插补功能。

1.2插补方法的分类

在早期的数控系统中,插补是由专门设计的硬件数字电路完成的。

而在现代计算机数控(ComputerizedNumericalControl,CNC)系统中,常用的插补实现方法有两种:

一种有硬件和软件的组合来实现;

另一种全部采用软件实现。

数控系统中完成插补运算的装置或程序称为插补器,根据插补器的结构可分为硬件插补器、软件插补器和软、硬件结合插补器二种类型[2]。

早期NC系统的插补运算由硬接线的数字电路装置来完成,称为硬件插补,其结构复杂,成本较高。

在CNC系统中插补功能一般由计算机程序来完成,称为软件插补。

由于硬件插补具有速度高的特点,为了满足插补速度和精度的要求,现代CNC系统也采用软件与硬件相结合的方法,由软件完成粗插补,由硬件完成精插补。

由于直线和圆弧是构成零件轮廓的基本线型,因此CNC系统一般都具有直线插补和圆弧插补两种基本类型,在二坐标以上联动的CNC系统中,一般还具有螺旋线插补和其它线型插补。

为了方便对各种曲线、曲面的直接加工,人们一直研究各种曲线的插补功能,在一些高挡CNC系统中,己经出现了抛物线插补、渐开线插补、弦线插补、样条曲线插补、球面螺旋线插补以及曲面直接插补等功能。

图1.1插补的类型及采用的计算方法

人们一直在努力探求计算速度快且计算精度高的插补算法。

目前普遍应用的插补算法分为两大类,如图1.1,如下做简要介绍。

1)基准脉冲插补

基准脉冲插补又称为脉冲增量插补或行程标量插补,其特点是每次插补结束仅向各运动坐标轴输出一个控制脉冲,因此各坐标仅产生一个脉冲当量或行程的增量。

脉冲序列的频率代表坐标运动的速度,而脉冲的数量代表运动位移的大小。

这类插补运算简单,容易用硬件电路来实现,早期的硬件插补都是采用这类方法,在日前的CNC系统中原来的硬件插补功能可以用软件来实现,但仅适用于一些中等速度和中等精度的系统,便要用于步进电机驱动的开环系统。

也有的数控系统将其用做数据采样插补中的精插补。

基准脉冲插补的方法很多,主要有逐点比较法、数字积分法、脉冲乘法器等等。

应用较多的是逐点比较法和数字积分法。

2)数据采样插补

数据采样插补又称数字增量插补、时间分割插补或时间标量插补,其运算采用时间分割思想,根据编程的进给速度将轮廓曲线分割为每个插补周期的进给直线段(又称轮廓步长),以此来逼近轮廓曲线。

数控装置将轮廓步长分解为各坐标轴的插补周期进给量,作为命令发送给伺服驱动装置。

伺服系统按位移检测采样周期采集实际位移量,并反馈给插补器进行比较完成闭环控制。

伺服系统中指令执行过程实质也是数据密化工作。

闭环或半闭环控制系统都采用数据采样插补方法,它能满足控制速度和精度的要求。

数据采样插补方法很多,主要有时间分割法、扩展DDA等。

但都基于的思想。

2设计思想

2.1设计方法的选择

数字积分器直线插补装置需要五条寄存器,其寄存器的内容是:

JVX寄存x坐标终点值;

JVy寄存y坐标终点值;

JRx寄存x坐标余数;

JRy寄存y坐标余数;

Jz寄存总步数。

下图为数字积分法直线插补逻辑图。

图2.1数字积分法直线插补逻辑图

MF—进给脉冲发生器;

SB—时序脉冲发生器;

Jz—总步数寄存器;

Cyk—运算开关;

Q1~Q2—全加器;

Tc1~Tc2—进位触发器;

JVX—被积函数;

JVy—被积函数;

JRx—x累加寄存器;

JRy—y累加寄存器;

Y1~Y3—与门。

初始状态时将xz,存放于JVx和JVy中,其余寄存器清0。

当接到运算指令后,使运算开关Cyk置1,与门Y1开放,进给脉冲发生器MF没发出一个脉冲,累积运算一次.每一个进给脉冲通过Y1使时序脉冲发生器SB启动一次,将位移脉冲Pt4(脉冲数目由寄存器位数决定)送到有关位移寄存器中,一方面使JRx及JRy完成累加xz及yz的加法运算;

另一方面又将JVx及JVy中溢出的数通过自循环线重新寄存于JVx及JVy中。

各坐标每次累加后其和大于2n或等于2n时便有溢出,溢出的标志是将累加器送入进位触发器Tc1中存1。

在时序脉冲Pt3出现时,通过与门Y2或Y3分别发出进给脉冲△x或△y,使机床相应的坐标位移一步累加结果超过2n部分自动丢失,余下的小于2n部分保留在累加寄存器中,留待下一次累加运算。

数字积分器直线插补的终点判断比较简单,因为每段程序需进行m=2n次累加运算,进行2n次累加运算后就一定达到终点,故可设置一字长为n位的计数器Jz,累加运算前首先清0,此后每累加运算一次,计数器加1,当记满2n时Jz的最高位即有溢出,使运算开关Cyk置0,关闭与门Y1停止运算,插补完毕。

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

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

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

所以本论文选择用软件对数字积分法的直线插补进行了实现。

2.2设计语言的选择

VB是VisualBasic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。

它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。

在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统[5]。

以下是本设计选择该语言的原因:

1)可视化开发环境

BASIC(BeginnersAll-PurposeSymbolicInstructionCode)语言是计算机发展史上应用最为广泛的计算机语言。

VisualBasic是在原BASIC语言的基础上发展起来的。

Visual是指开发图形用户界面GUI(GraphicsUserInterface)的方法。

1998年Microsoft公司推出了Windows操作系统。

其开发的图形用户界面,给用户使用计算机带来了极大的方便,用户可以用鼠标单击或拖动相应的图标,即可完成各种操作。

这些有点很快赢得用户的青睐。

在VisualBasic集成开发环境中,程序员可以完成设计界面、编写代码和调试程序这三个程序步骤。

同时它还可以把应用程序编译成可执行文件,直至把所开发的应用程序制作成安装光盘,以便能够在安装VisualBasic系统的Windows环境中运行,因此使用VisualBasic开发应用程序的效率很高。

2)事件驱动的编程机制

传统的程序设计语言采用面向过程的方法,其特点是采用事先设计的顺序进行工作,只有当程序满足某些特定的条件时,才改变执行程序,程序执行过程中用户无权干预程序的执行。

这种方式有时给设计和应用带来很大不便。

VisualBasic采用了面向“对象”的设计思想。

所谓“对象”就是一个可以操作的实体,如窗体和窗体中的控件,如:

按钮文、本框等控件。

每个对象都能响应多个不同的事件,如:

按钮事件、键盘事件等。

每个事件都可以驱动一段代码,该段代码用于执行用户的某种任务,我们称这种机制为事件驱动。

这些引发某个事件来驱动的子程序,在VisualBasic中称为“过程”。

由于这样的应用程序代码较短,使得程序既易于编程又易于维护。

3)高度的可扩充性

VisualBasic是一种高度可扩充性语言,除自身强大的功能外,还支持第三方软件商为扩充功能而开发的可视化控件;

支持访问动态链接库DLL(DynamicLinkLibrary)、以改善VisualBasic在对硬件控制和低级方面的不足;

支持访问应用程序接口(ApplicationProgramInterface,简称API)。

在Windows操作系统中,包含了1000多个功能强大、经过严格测试的API函数,供程序员编程时直接调用。

VisualBasic提供了访问和调用这些API函数的能力,充分利用这些API函数,可以大大提高VisualBasic的功能,并可实现VisualBasic语言本身不能实现的特殊功能。

4)开放的数据库功能

VisualBasic除上述主要功能外,还有强大的数据库管理功能,利用数据库控件不仅可以访问MSAccess还可以访问VF、Paradox等。

利用VisualBasic的开放式数据连接ODBC(OpenDatabaseConnectivity),可以通过直接访问或简历连接的方式使用并操作后台大型网络数据库,如SQLServer等。

5)网络开发功能

VisualBasic提供了DHTML(DynamicHTML)设计工具,可动态的创建和编辑Web页面,使用户能够开发多功能的网络应用软件。

3插补原理

3.1数字积分法插补

数字积分法插补是增量插补的一种,它是用数字积分的方法计算刀具沿各坐标轴的移动量,从而使刀具沿着设定的曲线运动[6]。

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

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

它的基本原理可以用图3.1所示的函数积分表示,从微分几何概念来看,从时刻0到时刻t求函数y=f(t)曲线所包围的面积时,可用积分公式:

如果将0~t的时间划分成时间间隔为Δt的有限区间,当Δt足够小时,可得近似公式:

式中yi-1为t=ti-1时f(t)的值,此公式说明:

积分可以用数的累加来近似代替,其几何意义就是用一系列小矩形面积之和来近似表示函数f(t)下面的面积,

图3.1数字积分原理

如果在数字运算时,用取Δt为基本单位“1”,则上式可以简化为:

如果系统的基本单位Δt设置得足够小,那么就可以满足我们所需要的精度。

一般地,每个坐标方向需要一个被积函数寄存器和一个累加器,它的工作过程可:

图3.2一个坐标方向上的积分器示意图

被积函数寄存器用以存放坐标值f(t),累加器也称余数寄存器用于存放坐标的累加值。

每当Δt出现一次,被积函数寄存器中的f(t)值就与累加器中的数值相加一次,并将累加结果存放于累加器中,如果累加器的容量为一个单位面积,被积函数寄存器的容量与累加器的容量相同,那么在累加过程中每超过一个单位面积累加器就有溢出,当累加次数达到累加器的容量时,所产生的溢出总数就是要求的总面积,即积分值[6]。

我们知道,数字积分器溢出脉冲的频率与被积函数寄存器中的存数即溢出基值成正比,也就每个程序段都要完成同样的次数的累加运算,所以不论加工行程长短每个程序段所用的时间都是固定不变的。

因此,各个程序段的进给速度就不一致了,这样影响了加工的表面质量,特别是行程短的程序段生产率低,为了克服这一缺点,使溢出脉冲均匀、溢出速度提高,通常采用左移规格化处理[7]。

所谓“左移规格化”是当被积函数值较小时,如被积函数寄存器有i个前零时,若直接迭代,那么至少需要2i次迭代,才能输出一个溢出脉冲,致使输出脉冲速率下降,因此在实际的数字积分器中,需把被积函数寄存器中的前零移去即对被积函数实现“左移规格化”处理。

经过左移规格化处理后,积分器每累加两次必有一次溢出,因此不仅提高了溢出速度还使溢出脉冲变得比较均匀。

目前的CNC数控系统一般采用软件来实现数字积分插补,这样就可以完全抛开硬件数字积分的左移规格化的概念及由于进位而产生进给脉冲的概念。

因为在软件数字积分里,我们可以很方便地设置一个基值,在完成被积函数值与累加值的加法运算后,把累加结果与基值进行比较,通过比较指令判断在哪个坐标轴方向上有脉冲输出。

3.2数字积分法直线插补的基本原理

设将要加工的直线为XOY平面内第Ⅰ象限直线

,直线的起点在坐标原点,终点为E(Xe,Ye)。

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

若此时刀具在两坐标轴上的进给速度分量分别为VX、VY,则刀具在X轴、Y轴方向上位移增量分别为

ΔX=VXΔtΔY=VYΔt

由几何关系可以看出

(常数)

现将式中的VX、VY分别代入式可得

ΔX=KXeΔtΔY=KYeΔt

可见,刀具由原点O走向终点E的过程,可以看作是每经过一个单位时间间隔Δt,就分别以增量[KXe]、[KYe]同时在两个坐标轴累加的结果。

也可以这样认为,数字积分法插补实际上就是利用速度分量,进行数字积分来确定刀具在各坐标轴上位置的过程,即

当取Δti=“1”(一个单位时间间隔),则式将演变为

设经过n次累加后,刀具正好到达终点E(Xe,Ye),即要求式中常量满足下式

nK=1或n=1/K

从上式可以看出,比例常数K和累加次数n之间的关系是互为倒数,即两者相互制约,不能独立自由选择。

也就是说只要选定了其中一个,则另一个随之确定了。

由于式中n是累加次数,必须取整数,这样K就必须取小数。

为了保证每次分配给坐标轴的进给脉冲不超过1个单位(一般指1个脉冲当量),则

ΔX=KXe<1ΔY=KYe<1

上式中Xe、Ye的最大允许值受系统中相应寄存器的容量限制。

现假设寄存器为N位,则其容量为2N,对应存储的最大允许数字量为(2N-1),将其代入式中Xe、Ye,则可得到K<1/(2N-1)

现不妨取K=2N,显然它满足式和式的约束条件,再将K值代入式,可得累加次数为

n=1/K=2N

也就是说,经过n=2N次累加后,动点(刀具)将正好到达终点E。

事实上,如果将n、K值代入式,则动点坐标为

X=KXen=(1/2N)Xe2N=XeY=KYen=(1/2N)Ye2N=Ye

根据前面的分析,在进行直线插补时,先开辟两个被积函数寄存器JVX、JVY分别存放终点坐标值Xe、Ye

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1