逐点比较法插补程序程序设计与运行模拟毕业论文

上传人:痛*** 文档编号:149441543 上传时间:2022-09-07 格式:DOC 页数:33 大小:285.53KB
收藏 版权申诉 举报 下载
逐点比较法插补程序程序设计与运行模拟毕业论文_第1页
第1页 / 共33页
逐点比较法插补程序程序设计与运行模拟毕业论文_第2页
第2页 / 共33页
逐点比较法插补程序程序设计与运行模拟毕业论文_第3页
第3页 / 共33页
资源描述:

《逐点比较法插补程序程序设计与运行模拟毕业论文》由会员分享,可在线阅读,更多相关《逐点比较法插补程序程序设计与运行模拟毕业论文(33页珍藏版)》请在装配图网上搜索。

1、大 连 民 族 学 院 本 科 毕 业 设 计(论 文)逐点比较法插补程序程序设计与运行模拟学 院(系): 机电信息工程学院_ 专 业: 机械设计制造及其自动化_ 学 生 姓 名: _ 学 号: 200902220 _ 指 导 教 师: _ 评 阅 教 师:_ 完 成 日 期:_ 大连民族学院摘 要在数控编程时,一般仅提供描述该线形所必须的相关参数,但为了满足几何零件尺寸精度要求,必须在刀具(或工件)运动过程中实时计算出满足线形和进给速度要求的在起点和终点之间的若干中间点,所以就有了插补。本设计主要阐述了逐点比较法的基本原理,在四个象限直线、圆弧插补的插补原理以及如何实现。重点研究了逐点比较法

2、的基本算法,控制程序的原理框图,对逐点比较法做了详细的研究,掌握基本的G代码的内容与运用,编写插补程序,并且基于vb平台演示插补过程。从调试结果来看,本文所提供的运算与编程能够通过简洁的“输入/输出”界面,较好的实现了计算机屏幕模拟。 关键词:简易数控;逐点比较法插补;G代码;VB;计算机屏幕模拟AbstractBy-point comparison interpolation program design and run the simulation programIn NC programming, generally only provide a description of the r

3、elevant parameters necessary for linear, but in order to meet the accuracy requirements of the geometric part size must be in the tool (or workpiece) during exercise to meet the real-time calculation and linear feed rate required at the start and some intermediate point between the endpoints, so the

4、re will be interpolated. The design is mainly explained by-point comparison of the basic principles in the four quadrants linear and circular interpolation interpolation theory and how to implement. Focus on a point by point comparison of the basic algorithm, a block diagram of the control program,

5、right by-point comparison method to do a detailed study and master the basic content and the use of G-code, write interpolation procedures, and is based on interpolation vb platform demo process. From the debugging results, provided herein computing and programming through simple input / output inte

6、rface, to achieve a better simulation of the computer screenKeywords: Simple numerical control; interpolation point by point comparison;G code;VB;Computersimulationonthescreen 目 录摘 要IABSTRACTII目 录III1 绪 论- 1 -1.1课题的背景- 1 -1.2课题的主要研究内容- 3 -1.3课题的研究方案- 3 -2 数控加工基本原理- 4 -2.1概述- 4 -2.2数控编程内容- 4 -2.3逐点比较

7、法直线插补原理- 5 -2.3.1偏差计算公式- 6 -2.3.2插补计算过程- 6 -2.3.3终点判别- 6 -2.3.4不同象限的直线插补计算- 7 -2.4逐点比较法圆弧插补原理- 7 -2.4.1偏差计算公式- 7 -2.4.2终点判别法- 8 -2.5 VB基本原理- 8 -3 逐点比较法总体方案设计- 10 -3.1程序设计简介- 10 -3.2逐点比较法直线插补框图- 11 -3.3逐点比较法圆弧插补框图- 12 -4 逐点比较法方案的程序设计- 14 -4.1逐点比较法直线插补运算- 14 -4.2逐点比较法圆弧插补运算- 14 -4.3准备功能G代码- 16 -4.4插补界

8、面设计- 16 -5 VB调试- 17 -5.1直线插补vb调试- 17 -5.2圆弧插补VB调试- 17 -参考文献- 20 -附录A 直线和圆弧插补象限区分程序- 21 -致 谢- 28 -IV1 绪 论1.1课题的背景数字控制简称数控,是由数字指令控制对象的一种自动控制技术。有早期使用的普遍数控系统和目前广泛使用的计算机数控系统,采用数控技术的自动控制系统称为数控系统。装备了数控系统能实现运动和加工过程自动控制的机床称为数控机床。随着生产的发展,数控技术已经广泛应用于金属切削机床、三坐标测量机、数控雕刻机等机械设备上。数控机床起源于美国,先后经历了两个阶段六个时代的发展:电子管、晶体管、

9、集成电路、小型计算机、微处理器以及基于pc机的通用CNC系统。前三代称为一个阶段称为普通数控系统(NC系统),主要由电路的硬件和连线组成,其特点是具有很多硬件和连接特点,电路复杂,可靠性不好。后三代称为第二个阶段,称为计算机数控系统(CNC系统)主要由计算机硬件和软件组成,其突出特点是利用存储器里的软件控制系统工作,这种系统容易扩展功能,柔性好,可靠性高。现在,开放式数控系统正在快速发展。近几年的国际、国内机床展都表明,数控机床正朝着高速度、高精度、复合化的方向发展。在第八届中国国际机床展览会,国内外厂商都推出了以先进的直线电机驱动机床、五轴联动加工机床和复合加工机床作为主打参展产品。展品的另

10、一个惊喜是加工中心的主轴转速和精度都有了显著提高。高速度和高精度是现代数控伺服驱动的要求及发展趋势,当前世界先进的交直流伺服系统性能己经大大改进,但由于受传统机械结构(即旋转电动机十滚珠丝杠)进给传动模式的限制,伺服性能指标很难有突破性的提高。但由于受传统机械结构(即旋转电动机十滚珠丝杠)进给传动模式的限制,伺服性能指标很难有突破性的提高。直线电机高速进给单元的应用使得进给传动链及其传动结构发生了深刻的变化,当代机床的高速进给系统形成了以直线电动机直接驱动工作台为主的发展方向。提高生产率是用户永无止境的追求目标,加工中心不仅加工时间短、精度高,而且可以大大缩短生产周期,实现精益生产,满足了用户

11、需要。高速加工中心的主轴最高转速可达到40000:/min,快速移动速度可达到60m/min。复合加工,即工序复合和工种复合,在一次安装情况下完成零件的全部加工,将会是今后制造技术发展的又一个趋势。“五轴联动加工机床是加工复杂曲面的先进手段,是航空、航天、船舶等工业的重要加工设备。国际上把五轴联动数控技术作为衡量一个国家生产设备自动化水平新的标志”3。智能化、开放性、柔性化和集成化智能化人工智能技术的发展与计算机技术相结合后,极大地推进了数控系统的智能化程度,进一步改善了系统的性能、功效和可操作性。智能化运用体现在数控系统以下几个方面:追求加工效率和加工质量方面的智能化,如前馈控制、电机参数的

12、自适应运算、自动识别负载、自动选定模型、自整定等;操作方面的智能化,如智能化的自动编程、智能化的人机界面等;智能诊断、智能监控方面的内容,方便系统的诊断及维护等。开放性,按照IEEE(Institute of Electrical and Electronics Engineers美国电气及电子工程师学会)的定义:“开放性控制系统应能提供这样的能力:来自不同厂商的各种平系统上实现,并能和其他系统应用相互操作,且具有一致性的用户界面。”由此定义可知,开放性CNC系统是一个模块化的体系结构,由系统平台和面向应用的功能模块所构成,其特点是:互操作性;可移植性;可扩展性;互换性。对于开放性控制系统,由

13、于标准的系统平台提供了统一的接口规范,因而不同的数控系统提供商开发的功能模块只要遵守这一规范,就能在不同的控制平台上运行,而各个功能单元在整个系统中是相对独立的。这种结构特点使得数控系统开发商在各自功能单元的开发过程中,只要考虑本身的性能,发挥各自优势并能进行广泛的合作即可;机床制造厂可以不依赖某个数控系统开发商,而是根据需要自由的配置各种功能模块,组成最适合的控制系统;而最终用户也可以任意选择不同的供应商提供的不同的功能模块单元来构筑自己所需要的控制系统,达到最优化、最合理的系统配置。数控系统体系结构的开放性主要是为了满足数控联网、普及型个性化、多品种、小批量、柔性化及数控技术迅速发展的要求

14、。比如美国的NGC和OMAC计划,欧共体的OSA以计划以及日本的OSEC计划等。柔性化和集成化数控机床向柔性自动化系统发展的趋势是:一方面从点(数控单机、加工中心和数控复合加工机床)、线(FMC、FMS、FTL、FML)向面(工段车l司独立制造、FA)、体 (CIMS、分布式网络集成制造系统)的方向发展;另一方面注重向应用性和经济性方向发展。柔性化技术是制造业适应市场动态需求及产品迅速更新的主要手段,是各国制造业发展的主流趋势是先进制造领域的基础技术,其重点是以提高系统的可靠性、实用性为前提,以易于实现联网和集成为目标,注重加强单元技术的开拓、完善,使CNC单机易于向高精度、高速度和高柔性方向

15、发展;使数控机床及其构成的柔性制造系统能方便地与CAD、CAM、CAPP、MTS联结,向信息集成方向发展。数控机床有很多优点,例如具有高度柔韧性,在数控机床上加工零件,主要取决于加工程序,它与普通机床不同,不必制造、更换许多工具、夹具,不需要经常调整机床。因此,数控机床适用于零件频繁更换的场合。也就是适合单件、小批生产及新产品的开发,缩短了生产准备周期,节省了大量工艺设备的费用。加工质量可靠,加工同一批零件,在同一机床,在相同加工条件下,使用相同刀具和加工程序,刀具的走刀轨迹完全相同,零件的一致性好,质量稳定。加工精度高,数控机床的加工精度,一般可达到0.0050.1mm,数控机床是按数字信号

16、形式控制的,数控装置每输出一个脉冲信号,则机床移动部件移动一个脉冲当量(一般为0.001mm),而且机床进给传动链的反向间隙与丝杠螺距平均误差可由数控装置进行补偿,因此,数控机床定位精度比较高。而且生产率高利于生产管理现代化,机床一般是封闭式加工,清洁又安全。总体来说就是具有高质量高效率高柔性和负责形状加工能力这四个特点。数控机床适应的零件有:加工精度要求高、形状负责、用通用机床无法加工或虽然能加工但很难保证产品质量要求的零件,用数学模型描述的复杂曲线或曲面轮廓的零件,具有难测量、难控制进给、难控制尺寸的不开敞内腔的壳体或盒形零件,必须在一次夹装中合并并完成铣、镗、铰或攻螺纹等多工序零件。现代

17、制造业对数控技术提出了更高的要求,当前数控技术以及装备发展趋势主要体现在七个方面,下面一一列出,运行高速化加工高精化,功能复合化,控制智能化,体系开放化,驱动并联化,交互网络化和造型宜人化。1.2课题的主要研究内容用逐点比较法设计开放式数控技术插补运算的控制程序,绘制插补控制程序的原理框图,用Vb编写并调试其控制程序。首先要明白逐点插补基本原理,会插补算法,然后逐点插补的程序的编程,最后调试,看是否能在各自象限演示插补过程。1.3课题的研究方案首先原理分析了解逐点比较法的基本原理,逐点比较法的基本原理是刀具(或工件)每走一步控制系统都要将加工点与给定的图形轨迹相比较,以决定下一步进给的方向,使

18、之逼近加工轨迹,向减小偏差的方向进给。然后偏差判别,坐标进给偏差计算 终点判别,画出逐点插补程序的原理框图。其次通过加工程序,分析判断圆弧插补还是直线插补,在第几象限内的插补,顺时针还是逆时针插补等,然后调用前面编制好的子程序。最后编写插补控制程序区域判别法插补原理G00、G01、G02、G03等代码程序,逐点插补程序的调试查找总控程序相关语法、算法错误,运行查看与预想结果之区别,调试相关程序段,编程时注重对模块化和子程序的应用。2 数控加工基本原理2.1概述实际加工中零件的轮廓形状是由各种线形(如直线、圆弧、螺旋线、抛物线、自由曲线)构成的。其中最主要的是直线和圆弧。数控编程时,一般仅提供描

19、述该线形所必须的相关参数,为满足零件几何尺寸要求必须在刀具运动中实时计算出满足线形和进给速度要求的起点和终点之间的若干个中间点,称为插补。插补的结果是输出运动轨迹的中间点坐标值,机床伺服系统根据此坐标值控制个坐标轴协调运动,走出预定轨迹。数控系统中,完成插补运算的装置称为插补器。插补运算可由硬件或软件来完成,早期的NC系统完全由硬件(即逻辑电路)来实现插补,在计算机数控(CNC)系统中,由软件(即程序)完成插补,具有结果简单、灵活多变、可靠性好等优点。现代计算机数控系统为了满足插补精度和插补速度,采用软件与硬件相结合的办法,由软件完成插补,硬件完成精插。2.2数控编程内容数控编程是指从零件图纸

20、到获得数控加工程序的全部工作过程。分析零件图样和制定工艺方案 ,这项工作的内容包括:对零件图样进行分析,明确加工的内容和要求;确定加工方案;选择适合的数控机床;选择或设计刀具和夹具;确定合理的走刀路线及选择合理的切削用量等。这一工作要求编程人员能够对零件图样的技术特性、几何形状、尺寸及工艺要求进行分析,并结合数控机床使用的基础知识,如数控机床的规格、性能、数控系统的功能等,确定加工方法和加工路线。数学处理,在确定了工艺方案后,就需要根据零件的几何尺寸、加工路线等,计算刀具中心运动轨迹,以获得刀位数据。数控系统一般均具有直线插补与圆弧插补功能,对于加工由圆弧和直线组成的较简单的平面零件,只需要计

21、算出零件轮廓上相邻几何元素交点或切点的坐标值,得出各几何元素的起点、终点、圆弧的圆心坐标值等,就能满足编程要求。当零件的几何形状与控制系统的插补功能不一致时,就需要进行较复杂的数值计算,一般需要使用计算机辅助计算,否则难以完成。编写零件加工程序,在完成上述工艺处理及数值计算工作后,即可编写零件加工程序。程序编制人员使用数控系统的程序指令,按照规定的程序格式,逐段编写加工程序。程序编制人员应对数控机床的功能、程序指令及代码十分熟悉,才能编写出正确的加工程序。下面简单介绍一下程序编写过程中经常使用的字和字的功能: (1)字符与代码 字符是用来组织、控制或表示数据的一些符号,如数字、字母、标点符号、

22、数学运算符等。数控系统只能接受二进制信息,所以必须把字符转换成8BIT信息组合成的字节,用“0”和“1”组合的代码来表达。国际上广泛采用两种标准代码: ISO国际标准化组织标准代码 ;EIA美国电子工业协会标准代码。这两种标准代码的编码方法不同,在大多数现代数控机床上这两种代码都可以使用,只需用系统控制面板上的开关来选择,或用G功能指令来选择。(2)字 在数控加工程序中,字是指一系列按规定排列的字符,作为一个信息单元存储、传递和操作。字是由一个英文字母与随后的若干位十进制数字组成,这个英文字母称为地址符。如:“X2500”是一个字,X为地址符,数字“2500”为地址中的内容。 (3)字的功能

23、组成程序段的每一个字都有其特定的功能含义,以下是以FANUC-0M数控系统的规范为主来介绍的,实际工作中,请遵照机床数控系统说明书来使用各个功能字。 (4)准备功能字G 准备功能字的地址符是G,又称为G功能或G指令,是用于建立机床或控制系统工作方式的一种指令。后续数字一般为13位正整数.(5)尺寸字 尺寸字用于确定机床上刀具运动终点的坐标位置。其中,第一组 X,Y,Z,U,V,W,P,Q,R 用于确定终点的直线坐标尺寸;第二组 A,B,C,D,E 用于确定终点的角度坐标尺寸;第三组 I,J,K 用于确定圆弧轮廓的圆心坐标尺寸。在一些数控系统中,还可以用P指令暂停时间、用R指令圆弧的半径等。(6

24、)程序检验 将编写好的加工程序输入数控系统,就可控制数控机床的加工工作。一般在正式加工之前,要对程序进行检验。通常可采用机床空运转的方式,来检查机床动作和运动轨迹的正确性,以检验程序。在具有图形模拟显示功能的数控机床上,可通过显示走刀轨迹或模拟刀具对工件的切削过程,对程序进行检查。对于形状复杂和要求高的零件,也可采用铝件、塑料或石蜡等易切材料进行试切来检验程序。通过检查试件,不仅可确认程序是否正确,还可知道加工精度是否符合要求。若能采用与被加工零件材料相同的材料进行试切,则更能反映实际加工效果,当发现加工的零件不符合加工技术要求时,可修改程序或采取尺寸补偿等措施。2.3逐点比较法直线插补原理逐

25、点比较法就是刀具(或工件)每走一步控制系统都要将加工点与给定的图形轨迹相比较,以决定下一步进给的方向,使之逼近加工轨迹。逐点比较法是以折线来逼近直线或圆弧,其最大误差不超过一个设定单位(脉冲当量),它运算直观,输出脉冲均匀,而且输出脉冲的速度变化小,调节方便,在两坐标数控机床中应用较为普遍。2.3.1偏差计算公式假设加工如图所示第一象限的直线OA,Y AMYM MO X图2.1逐点比较法直线插补直线的起点O为坐原点,终点A坐标为(XE,YE)。设M(XN,YM)为任意一加工点。若M在直线OA上,则根据相似三角形的关系可得出 YM/XM =YE/XE取FM=YMXE-XMYE作为直线插补的偏差判

26、别式。若M在OA直线上,则YM/XM =YE/XE,Fm=0;若M在OA直线的上方处,则YM/XM YE/XE,Fm0;若M在OA直线的下方处,则YM/XM YE/XE,Fm0;设在某加工点处,有Fm0时,为了逼近给定的轨迹,应沿+X方向进给一步,走一步后新的坐标值为 Xm+1=XM+1,YM+1=YM新的偏差为 FM+1= YM+1XE- XM+1YE= FM-YE若FM0时进给方向FM0时 FM+1= FM- YEFM0,表明加工点在圆弧外;若Fm0,表明加工点在圆弧内。设加工点正处于M点,若Fm0,对于第一象限的逆圆,为了逼近圆弧,应沿-X方向进给一步,到m+1点,其坐标值为Xm+1=X

27、m-1,Ym+1= Ym。新加工点的偏差应为 Fm+1= X2m+1+ Y2m+1-R2=Fm-2Xm+1若Fm0,为了逼近圆弧,应沿+Y方向进给一步,到m+1点,其坐标值为Xm+1= Xm,Ym+1= Ym+1,新加工点的偏差为 Fm+1= X2m+1+ Y2m+1-R2=Fm+2Ym+1因为加工是从圆弧的起点开始,起点的偏差F0=0,所以新加工点的偏差总可以根据前一点的数据来计算出来。2.4.2终点判别法圆弧插补的终点判别方法和直线插补基本相同,可将起点到达终点X、Y轴所所走步数的总和存入一个计数器,即 =Xe-X0+Ye-Y0无论是X轴还是Y轴每进给一步,从中减去1,当=0时,便发出终点

28、到达信号。四个象限圆弧插补计算公式表2.2四个象限的圆弧插补计算线 形Fm0时,进给方向Fm0时,进给方向偏差计算公式SR1 -Y +XFm0, Fm+1=Fm-2Ym+1 Ym+1= Ym-1 Fm0,Fm+1= Fm+2Xm+1 Xm+1=Xm+1SR3 +Y -XNR2 +Y -XNR4 +Y +XSR2 +X +YFm0, Fm+1= Fm-2Xm+1 Xm+1=Xm+1Fm0,Fm+1=Fm+2Ym+1 Ym+1= Ym+1SR4 -X -YNR1 -X +YNR3 +X -Y2.5 VB基本原理Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何

29、标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量,它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件,程序员可以轻松的使用VB提供的组件快速建立一个应用程序。VB 使得大量的外界控件有了自己的生存空间,大量的第三方控件针对 VB 提供。VB 也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。使用Visual Basic 解决编程问题时已经可以用到其他一些Visual Studio开发工具了

30、。Visual Basic 6.0作为Visual Studio开发工具组件,不但为程序设计提供了一个可视的程序开发环境,还提供了与其他工具集成的可能性。利用这个编程环境,单个程序开发人员可以快速的创建出一个简单的应用程序,而一个开发小组则可以创建出一个复杂的、分布式的应用程序。VB 的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI 系统,但是又可以开发相当复杂的程序,VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法,因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过

31、去的版本里面 VB 程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。3 逐点比较法总体方案设计3.1程序设计简介1、代码编译程序的设计,设计程序之前除了要掌握数控代码的含义和数控基本知识,还要掌握VB 程序设计的基本知识和软件的基本操作,然后才能进行设计。“代码编译程序即数控代码编译程序。编译程序是把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言的目标程序的翻译程序”8。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经

32、历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。功能:编译程序的基本功能是把源程序翻译成目标程序。此外,还要具备语法检查、调试措施、修改手段、覆盖处理、目标程序优化、不同语言合用以及人机联系等具有实际应用价值的重要功能。语法检查。检查源

33、程序是否合乎语法 。调试措施。检查源程序是否合乎用户的设计意图。修改手段。为用户提供简便的修改源程序的手段。覆盖处理。主要为处理程序较长、数据量较大的大型问题程序而设置。基本思想是让一些程序段和数据公用某些存储区,其中只存放当前要用的程序段或数据,其余暂时不用的程序段和数据均存放在磁盘等辅助存储器中,待需要时动态地调入存储区中运行。目标程序优化。提高目标程序的质量,即使编译出的目标程序运行时间短、占用存储少。不同语言合用 。便于用户利用多种程序设计语言编写应用程序或套用已有的不同语言书写的程序模块。最为常见的是高级语言和汇编语言的合用。人机联系。便于用户在编译和运行阶段及时了解系统内部工作情况

34、,有效地监督、控制系统的运行。 早期编译程序的实现方案,是把上述各项功能完全收纳在编译程序之中 。后来的习惯方法是在操作系统的支持下,配置编辑程序、调试程序、连接装配程序等实用程序或工具软件,目的是创造一个良好的开发环境和运行环境,便于应用软件的编程、修改、调试、集成以及报表生成、界面设计等工作。但编译程序设计者设计编译方案时,仍需精心考虑上述各项功能,较好地解决目标程序与这些实用程序或软件工具之间的配合与衔接等问题。 工作过程:编译程序必须分析源程序,然后综合成目标程序。为达到这个目的,编译程序要在分析阶段建立一些表格,改造源程序为中间语言形式,以便在分析和综合时易于引用和加工。 数据结构:

35、分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示以及分配给它们的目标程序地址。中间语言程序是将源程序翻译成目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用它和如何加工它。常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。 分析部分:源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。词法分析由词法分析程

36、序(又称为扫描程序)完成,其任务是识别单词(即标识符、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。语法分析程序是编译程序的核心部分,其主要任务是根据语言的语法规则,检查源程序是否合乎语法,并分解源程序。如果不合乎语法,则输出语法出错信息;如果合乎语法,则分解源程 序的语法结构, 构造中间语 言形式的内部程序。语法分析的目的是掌握单词是怎样组成语句的,以及语句又是如何组成程序的。语义分析程序进一步检查合法程序结构的语义正确性,其目的是保证标识符和常数的正确使用,把必要的信息收集和保存到符号表或中间语言程序中,并进行相应的语义处

37、理。 综合部分:综合阶段根据符号表和中间语言程序产生出目标程序,其主要工作包括代码优化、存储分配和代码生成。代码优化是通过重排和改变程序中的某些操作,以产生更加有效的目标程序。存储分配是为程序和数据分配运行时的存储单元。 代码生成是产 生与中间语 言程序等价的目标程序,亦即,顺序加工中间语言程序,利用符号表和常数表中的信息生成一系列的汇编语言或机器语言指令。2、象限区分程序,利用VB编程语言编写一段程序使运行时可以使某些操作进行相应的象限区分,以达到顺利运行和模拟的目的,为模拟部分打好基础。3、坐标变换程序。3.2逐点比较法直线插补框图根据插补的要求,该程序首先要G代码,然后再进行现象的区分,

38、来为模拟做好准备。当在VB界面输入一段数控G代码时,VB是无法识别数控系统的G代码的,这就需要编写VB代码来识别G代码,这就是代码编译。以下是直线插补的代码编译象限区分过程和设计的程序。根据数控代码流程图编写如下图入口代码分类G代码坐标(起点和终点)G00G01G01的象限的判定G01的象限区分程序识别G代码G00、G01代码编译程序图3.1代码编写流程图3.3逐点比较法圆弧插补框图应用VB 编程,圆弧插补代码编译程序的编写过程与直线插补的代码编译程序类似,以顺圆弧为例流程图如下图入口代码分类G代码坐标(起点和终点)G00G02G02的象限的判定G02的象限区分程序识别G代码G00、G02代码

39、编译程序图3.2 顺圆弧插补代码编写流程图4 逐点比较法方案的程序设计4.1逐点比较法直线插补运算第一象限逐点比较法直线插补运算如图直线插补轨迹,设起点为原点,终点(4,3)插补完这段直线,刀具沿X、Y轴应走的总步数为:= Xe+ Ye=4+3=7开始时刀具在直线起点,故F0=0,插补运算过程见下表,插补轨迹如下表所示。表4.1直线插补运算过程序号偏差进给进给偏差计算终点判别1F0=0+XF1= F0-Ye=0-3=-31=0-1=7-1=62F1=-30+XF3= F2-Ye=1-3=-23=2-1=5-1=44F3=-20+XF5= F4-Ye=2-3=-15=4-1=3-1=26F5=-

40、10+XF7= F6-Ye=5-3=07=6-1=1-1=0,到终点 4.2逐点比较法圆弧插补运算设第一象限圆弧AE,圆弧起点A(6,0),终点E(0,6),用逐点比较法对该段圆弧插补。加工完这段圆弧,刀具沿X、Y轴应走的总步数为=6+6=12开始时刀具在起点A,即在圆弧上,F0=0,插补运算过程见下表,插补轨迹如下表所示。表4.2圆弧插补运算过程序号偏差判别进给偏差计算坐标计算终点判别1F0=0-XF1= F0-2X2+1=0-2*6=11X1=6-1=5Y1=01=0-1=12-1=112F1=-110+YF2= F1-2Y1+1=-11+2*0+1=11X2=5Y2=0+1=12=1-1

41、=11-1=103F2=-100+YF3= F2+2Y2+1=-10+2*1+1=-7X3=5Y3=1+1=23=2-1=10-1=94F3=-70+YF4= F3-2Y3+1=-7+2*2+1=-2X4=5Y4=2+1=34=5-1=9-1=85F4=-20-XF6= F5-2X5+1=5-2*5+1=-4X6=5-1=4Y6=46=5-1=7-1=67F6=-40-XF8= F7-2X3+1=5-2*4+1=-2X8=4-1=3Y8=58=7-1=5-1=49F8=-20-XF10= F9-2X9+1=-9-2*3+1=4X10=5-1=2Y10=610=8-1=3-1=211F10=40

42、-XF11= F10-2X10+1=4-2*2+1=1X11=2-1=1Y11=611=10-1=2-1=112F11=10-XF12= F11-2Y11+1=1-2*2+1=0X12=1-1=0Y12=612=11-1=0 4.3准备功能G代码所谓程序段格式,是指程序段书写规则,它包括机床所要求执行的功能和运动所需要的所有几何数据和工艺数据。一个零件加工程序是由若干以段号大小次序排列的程序段组成,每个程序段一般由程序号、顺序号、准备功能、坐标字、进给速度、主轴功能、刀具功能、辅助功能等组成。准备功能字的地址符是G,又称为G功能或G指令,是用于建立机床或控制系统工作方式的一种指令。后续数字一般

43、为13位正整数.将编写好的加工程序输入数控系统,就可控制数控机床的加工工作。一般在正式加工之前,要对程序进行检验。通常可采用机床空运转的方式,来检查机床动作和运动轨迹的正确性,以检验程序。在具有图形模拟显示功能的数控机床上,可通过显示走刀轨迹或模拟刀具对工件的切削过程,对程序进行检查。对于形状复杂和要求高的零件,也可采用铝件、塑料或石蜡等易切材料进行试切来检验程序。通过检查试件,不仅可确认程序是否正确,还可知道加工精度是否符合要求。若能采用与被加工零件材料相同的材料进行试切,则更能反映实际加工效果,当发现加工的零件不符合加工技术要求时,可修改程序或采取尺寸补偿等措施。4.4插补界面设计操作平台

44、:开发工具本软件采用Microsoft公司的通用软件开发平台Visual Basic,该软件支持可视化编程和面向对象技术界面设计:界面是用户与应用程序进行交互时的可视部分,在VB程序设计中,利用窗体设计器进行窗体设计可以得到很好的界面。NC图形仿真系统的界面主要包括:标题栏、菜单栏、NC程序编辑区和模拟区,可分别通过VB程序中的菜单编辑器,Text与Picture控件Label等控件进行创建,绘图区用picture-scale()函数建立。5 VB调试5.1直线插补vb调试图5.1逐点比较法直线第一象限插补5.2圆弧插补VB调试图5.2逐点比较法圆弧第一象限顺圆弧插补 结 束 语数控插补方法有

45、多种, 通过在屏幕上动态显示插补轨迹,可以对比各种插补方法的优劣, 对已有的插补方法进行改进和创新, 有利于数控插补技术的提高。本文提出了一种用计算机来模拟数控插补的方法,在充分利用VB 设计语言简单、直观的基础上,使数控插补原理的实现更为形象化。采用本方法,通过可视化的形象手段,可以给人以动态的演示插补过程,可以帮助别人更加直观的理解数控插补的原理。同时对于程度较高的人,可以参与编程,设计界面,定义变量接口,按照插补的原理,输入自己设计的插补程序,便可实现插补仿真。本方法通过交互、可视化的形象手段,增加课程的生动性的目的。在Windows 的环境下利用VB 开发数控仿真系统是当前应用较广的一

46、种方法。数控插补算法中逐点比较法直线插补和圆弧插补的实现过程,便于理解和掌握。经过实际使用,该仿真系统使用方便,运行可靠,达到了很好的效果。该模拟系统已经实现了数控机床的插补原理模拟,但是目前该系统还只是对简单的线或圆的轨迹进行平面运动模拟。下一步,在此基础上,逐步实现平面零件的数控加工模拟,同时,我们可以结合数控编程标准,设计出一个数控程序解释器,从而实现通过数控编程来完成平面内零件的加工模拟。这必将为我们最后实现三维数控加工模拟系统奠定基础。参考文献1 董玉红,邵俊鹏. 机床数控技术M . 黑龙江:哈尔滨工业大学出版社,2003.2 王爱玲.现代数控原理及控制系统M.北京:国防工业出版社,

47、20023 周凯.发展国产数控系统的技术途径J.制造技术与机床,2000(3):5-74 国家教育高等教育司,北京市教育委员会.高等学校毕业设计(论文)指导手册(机械卷)M,高等教育出版社,经济日报出版社,19985 吴祖育,秦鹏飞.数控机床(第三版)M.上海科学技术出版社,2000.106 严爱珍, 李宏胜.机床数控原理与系统M,北京机械工业出版社,19997 杜君文,邓广敏.数控技术M.天津:天津大学出版社,2002,99-1188 叶伯生.计算机数控系统原理、编程与操作M.华中理工大学出版社,19989 龚沛曾,陆慰民,杨志强.Visual Basic 程序设计教程(6. 0版) M .

48、 北京:高等教育出版社,2000.10 谭浩强,薛淑斌,袁玫. Visual Basic 程序设计M . 北京:清华大学出版社,2000.11 向丽明.基于VB6. 0 平台的数控原理插补算法模拟软件J .信息技术,2003 ,27 (12) :95 - 9712 朱巧荣,任立波.最小偏差法插补轨迹仿真软件开发J . 机床与液压,2002 ,1 :121 - 12213 钟建琳,陈秀梅等. 教学用数控插补仿真系统J . 机械设计与制造,2003 ,3 :62 6414 Harvey M. Deitel , Paul J.Deitel,Tem R.Nieto,Visual Basic 6 How

49、 to ProgramM.15 刘瑞新, 汪远征.Visual Basic程序设M,计北京机械工业出版社,200216 Behnam Bahr, Krishnan K.A real-time scheme of cubic parametric curve interpolations CNC systemsJ.Computer in industry,2001(45):309-31717崔鸿忠 李正佳 刘延林. 激光加工的柔性集成系统研究R北京:清花大学机械研究所18Goetsch D L.Modern Manufacturing Process、NewYork:Delmar publish

50、ers,1991b 报纸文章19 赵小林. 数控车编程中循环加工应用分析N 2002.3.1邵阳高等专科学校学报附录A 直线和圆弧插补象限区分程序直线插补象限区分程序:Private Sub ZxMn()Dim n As Integer, m As Integer Dim zbx As Single, zby As Single, kdx As Single, kdy As Singlezbx = P1.Width / 2zby = P1.Height / 2kdx = zbx / 10kdy = zby / 10P1.Circle (zbx + x0 * kdx, zby - y0 * kd

51、y), 30, vbRed, BFP1.Circle (zbx + x1 * kdx, zby - y1 * kdy), 30, vbBlue, BFP1.FontSize = 12P1.FontName = 方正舒体If x1 - x0 = 0 And y1 - y0 = 0 ThenP1.CurrentX = zbx + 200P1.CurrentY = zby - 500P1.Print 直线插补End IfIf x1 - x0 = 0 And y1 - y0 0 ThenP1.CurrentX = zbx + 200P1.CurrentY = zby + 500P1.Print 直线插

52、补End IfIf x1 - x0 = 0 And y1 - y0 0 ThenP1.CurrentX = zbx - 1200P1.CurrentY = zby + 500P1.Print 直线插补End IfIf x1 - x0 = 0 ThenP1.CurrentX = zbx - 1200P1.CurrentY = zby - 500P1.Print 直线插补End IfEnd Sub圆弧插补象限区分程序:Private Sub Dzb()Dim n As Integer, m As IntegerDm1 = UCase(Dm1)n = InStr(Dm1, X)m = InStr(D

53、m1, Y)x0 = Val(Mid(Dm1, n + 1, m - n)y0 = Val(Mid(Dm1, m + 1)Dm2 = UCase(Dm2)n = InStr(Dm2, X)m = InStr(Dm2, Y)x1 = Val(Mid(Dm2, n + 1, m - n)y1 = Val(Mid(Dm2, m + 1)End SubPrivate Sub SrMn()Dim n As Integer, m As IntegerDim x2 As Single, y2 As SingleDim zbx As Single, zby As Single, kdx As Single,

54、kdy As Singlezbx = P1.Width / 2zby = P1.Height / 2kdx = zbx / 10kdy = zby / 10Dim radium As Singlezbx = P1.Width / 2zby = P1.Height / 2P1.Circle (zbx + x0 * kdx, zby - y0 * kdy), 30, vbRed, BFP1.Circle (zbx + x1 * kdx, zby - y1 * kdy), 30, vbBlue, BFradium = Int(Sqr(x1 2 + y1 2)P1.FontSize = 12P1.FontName = 方正舒体If x0 = 0 And y0 0 Or (x0 0 And y0 0) Then n = 1ElseIf x0 0 And y0 = 0 Or (x0 0 And y0 0) Then n = 2ElseIf x0 = 0 And y0 0 Or (x0 0 And y0 0 Or (x1 0 And y1 0) Then m = 1ElseIf x1 0 And y1 = 0 Or (x1 0 And y1 0) Then m = 2ElseIf x1

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!