计算机辅助与编程 毕业论文.doc
毕 业 论 文题 目 计算机辅助与编程 专 业 数控加工与维护工程 班 级 学 生 指导教师 西安工业大学函授部摘 要CAM (Computer Aided Manufacturing-计算机辅助制造)是CAD/CAM及CIMS的重要组成部分.从广义上讲包括:计算机辅助生产计划,计算机辅助工艺过程设计,计算机数控编程,计算机控制加工过程设计,计算机数控编程,计算机控制加工过程等内容.本章阐述有关数控编程的内容.使用数控机床加工时,必须编制零件的加工程序.理想的加工程序不仅应保证加工出符合设计要求的合格零件,同时应能使数控机床功能得到合理的应用和充分的发挥,且能安全可靠和高效地工作.编制程序前,程序编制者需了解所用数控机床的规格,性能,CNC系统所具备的功能及编程指令格式等.编制程序时,需先对零件图纸规定的技术特性,零件的几何开头尺寸及工艺要求进行分析,确定加工方法,加工路线和工艺参数,再进行数值计算获得刀位数据.然后钭工件的尺寸,刀具运动中心轨道,位移量,切削能数(主轴转速,刀具进给量,切削深度等)以及辅助功能(主轴正,反转,冷却液开,关等),按数控机床采用的指令代码及程序格式,编制出工件的数控加工程序.程序编制好之后,大都需要控制介质,常见的控制介质为穿孔纸带,还有磁盘,磁泡存储器等.通过控制介质将零件加工程序送入控制系统,或由面板通过人机对话将零件加工程序送入CNC控制系统,不仅免去了制备控制介质的繁琐工作,而且提高了程序信息传递的速度及可靠性. 关键词:计算机 编程 数控 辅助目 录第一章 数控编程的内容与步骤1.1 分析零件图样,进行工艺处理地31.2 数学处理4第二章 数控编程的标准与代码 2.1.穿孔纸带及代码62.2.数控机床坐标系命名62.3.绝对坐标与增量坐标7第三章 数控编程的方法及其发展3.1. 手工编程方法103.2 自动编程方法103.2.1计算机数控自动编程方法103.2.2数控语言编程方法113.3 数控图形编程方法133.4计算机数控自动编程系统的刀位143.5数控加工仿真143.5.1 车削仿真143.5.2铣削仿真15 总结致谢 参考文献第一章 数控编程的内容与步骤数控编程的主要内容包括:分析零件图纸,进行工艺处理,确定工艺过程;数学处理,计算刀具中心运动轨迹,获得刀位数据;编制零件加工程序;制备控制介质;校核程序及首件试切.数控编程一般分为以下几个步骤:1.1 分析零件图样,进行工艺处理 编程人员首先需对零件的图纸及技术要求详细的分析,明确加工的内容及要求.然后,需确定加工方案,加工工艺过程,加工路线,设计工夹具,选择刀具以主合理的切削用量等.工艺处理涉及的问题很多,数控编程人员要注意以下几点:(1)确定加工方案 根据零件的几何形状特点及技术要求,选择加工设备.此时应考虑数控机床使用的合理性及经济性,并充分发挥数控机床的功能.(2)正确地确定零件的装夹方法及选择夹具 在数控加工中,应特别注意减少辅助时间,使用夹具要加快零件的定位和夹紧过程,夹具的结构大多比较简单.使用组合夹具有很大的优越性,生产准备周期短,标 准件可以反复 使用,经济效果好.另外,夹具本身应该便于在机床上安装,便于协调零件和机床坐标系的尺寸关系.(3)合理地选择走刀路线 应根据下面的要求选择走刀路线: 1)保证零件的加工精度及表面粗糙度;2)取最佳路线,即尽量缩短走刀路线,养活空行程,提高生产率,并保证安全可靠; 3)有利于数值计算,减少程序段和编程 工作量.下面举例加以说明.在精镗孔时,孔的位置精度要求较高,安排走刀路线时,必须避免将坐标轴的反向间隙误差带入,直接影响孔的位置精度.切削轮廓零件时,刀具应沿工件的切向切入切出,避免径向切入切出,如果刀具径向切入,当切入后转向轮廓加工时要改变运动方向,此时切削力的大小和方向也将改变并且在工件表面有停留时间,工艺系统将产生弹性变形,在工作表面产生刀痕.而切向切入和切出将得到良好的表面粗糙讳莫如深,如.切削内,外圆时也应按照切向方向切入切出的原则安排走刀路线.加工空间曲面时,走刀路线如果选择正确,可极大地提高生产率.例如:加工半椭圆柱面,如沿母线切削,即每次走直线,刀位点计算简单,程序段少.而没 直于轴线方向, ,切削为一组椭圆,数控机床一般只具有直线和圆弧插补功能,因此椭圆需用小直线段逼近,刀位点计算复杂,且程序段多.(4)正确的选择对刀点 数控编程时,正确地选择对刀点是很重要的."对刀点"就是在数控加工时,刀具相对工件运动的起点,其选择也是从这一点开始执行,对刀点 称为"程序原点".编程时,应首先选择对刀点,其选择原则如下: 1)选择对刀的位置(即程序的起点)应使骗程简单; 2)对刀点在机床上容易找正,方便加工; 3)加工过程便于检查;4)引起的加工误差小.对刀点可以设在加工零件上或夹具上或机床上,但必须与零件的定位基准有确定的关系.为了提高零件的加工精度,对刀点应尽量选在零件的设计基准或工艺基准上.对于以孔定位的零件.可以取孔的中心作为对刀点.对鼠点不仅仅是程序的起点,而且往往又是程序的终点.因此在生产中,要考虑对刀的重复精度.对鼠时,应使对鼠点与鼠位点重合.所谓鼠位点,是指刀具的定位基准点.对立铣刀来说是球头刀的球心;对于车鼠是刀尖;对于钻头是钻尖;为了提高对刀精度可采用千分表或对鼠仪进行找正对刀.在工艺处理中心须正确确定切削深度和宽度,主轴转速,进给速度等.切削参数具体数值应根据数控机床使用说明书,切削原理中规定的方法并结合实践经验加以确定.(5) 合理选择刀具 数控编程时还需合理正确选择刀具.根据工件的材料性能,机床的加工能力,数控加工工序的类型,切削参数以及其它与加工有关的因素来选择刀具.对刀具的总要求是:安装调整方便,刚性好,精度高,耐用度好等.1.2 数学处理 根据零件的几何形状,确定走刀路线及数控系统的功能,计算出刀具运动的轨迹,得到刀位数据.数控系统一般都具有直线与圆弧插补功能.对于由直线,圆弧组成的较简单的平面零件,只需计算出零件轮廓的相领几何元素的交点或切点的坐标值,得出各几何元素的起点,终点,圆弧的圆心坐标值.如果数控系统无刀补功能,还庆计算鼠具运动的中心轨迹.对于复杂的零件计算复杂,例如,对非圆曲线(如渐开线,阿基米德螺旋线等),需要用直线段或圆弧段逼近在满足中工精度的情况下,计算出曲线各节点的坐标值,对于自由曲线,自由曲面,组合曲面的计算更为复杂,其算法参见本书腾章节,一般需用计算杨计算,否则难以完成.数控编程中误差处理亦是一重要问题,数控编程误差由三部分组面成:(1)逼近误差似的方法逼近零件轮廓时产生的误差,又称呈次逼近误差,它出现在用直线段或圆弧段直接逼近轮廓的情况及由样条函数拟合曲线耐 ,此时亦称拟合误差.因所拟合误差往往难以确定.(2)插补误差用样条函数拟合零件轮廓后, 进行加工时,必须用直线或圆弧段作二次逼近,此时产生的误差亦称插补误差.其误差根据零件的加工精度要求确定.(3)圆整误差编程中数据处理,脉冲当量转换,小数圆整时产生的误差对空虚误差的处理要注意否则会产生较大的累积意误差,从而导致编程误差增大,应采用合理的圆整化方法.(3) 编写零件加工程序在完成上述工艺处理及数值计算后即可编写零件加工程序,按照规定的程序格式的编程指令,逐段写出零件加呀程序.(4). 制备控制介质及输入程序过去大多数控机床程序的输入是通过穿孔纸带控制介质实现的.现在也可通控制面板可直接通迅的方法将程序输送到数控系统中.(5).程序检验及首件试切 准备好的程序和纸带必须校验和试切削,才能正式加工.一般说来,纸带首先通过穿孔机的穿复校功能,检查穿孔是否有误.然后,将穿孔纸带上的信息输入到数控系统中进行空走刀检验.有数控机床上,过去试验的方法以笔代替刀具,坐标纸代替工件进行空运转画图,检查机床运动轨迹与动作的正确性.现在在具有图形显示屏幕的数控机床上,用显示走刀轨迹或模拟刀具和工件的切削过程的方法进行检查更为便.对于复杂的空间零件,则需使用石蜡,木件进行试切.首件试切不仅可查出程序是否有错误,还可知道加工精度是否符合要求.当发现错误时,或修改程序单或采取尺寸补偿等措施.近代,随着计算机科学的不断发展发展,可采用先进的数控加工仿真系统,对数控序进行检验. 第二章 数控编程的标准与代码为了数控机床的设计,制造,维护,使用以及推广的方便,经过多年的不断实践与发展,在数控编程中所使的输入代码,坐标位移指令,坐标系统命名,加工指令,辅助指令,主运动和进给速度指令,刀具指令及程序格式等都已制定了一系列的标准.但是,各生产厂家使用的代码,指令等不完全相同,编程时必须遵照使用的具体的机床编程手册中的规定.下面对数控加工中使用的有关标准及代码加以介绍.2.1.穿孔纸带及代码穿孔纸带是数控机床上应用较广的输入介质.在纸带上利用穿孔的方式记录着零件加工程序的指令.国际上及我国广泛使用8单位的穿孔纸带.穿孔纸带的编码国际上采用ISO或EIA标准,两种代码的纸带规格按照EIA RS-227标准制定.我国JB3050-82与其等效,由代码表及纸带规格可知,纸带的每行(排)共有九列孔,其中一列小孔称为中导孔或同步孔,用来产生读带的同步控制信息.其余八列大孔组合来表示数字,字母或符号.有孔表示二进制的"1"无孔表示为"0".在ISO标准中,代码由七位二进制数和一位偶校验位组成.每个代码其也的个数之和必须为偶数,即为偶校验,当某个代码的孔数为奇数时,就在该代码行的第八列上穿一孔,使其总数为偶数.EIA标准中,所有的代码的孔数必须为奇数,第五列孔用来补奇.数控机床的输入系统中有专门的奇偶校验电路.当输入的代码一旦违反ISO或EIA标准规定的奇,偶数时,控制系统即会发出错信息,并命令停机.ISO标准代码为七位编码,而EIA为六位编码(不包括奇偶校验位),因而ISO代码数比EIA我一倍.ISO代码规律性强,数字代码第五,六列有孔,字 第七列的均有孔,符号第七列或第六列均有孔.这些规律对读带及数控系统的设计都带来方便.2.2.数控机床坐标系命名 为了保证数控机床的正确运动,避免工作不一致性,简化编程和便于培训编程人员,统一规定了数控顶床坐标轴的代码及其运动的正,负方向.根据ISO标准及我国JB3051-82标准,数控机床的坐标轴命名规定如下:机床的直线运动采用为笛卡尔直角坐标系,其坐标命名为X,Y,Z,使用右手定律判定方向,.右手的大拇指,食指和中指互相垂直时,则拇指的方向为X坐标轴的正方向,食指为Y示轴的正言向,中指为Z坐标轴的正方向.以X,Y,Z坐标轴线或以与X,Y,Z会标轴平行的坐标轴线为中中旋转的运动,分别称为A,B,C.A,B,C的正方向按右手螺旋定律确定.,即当右手握紧螺丝时,拇指指向+X,+T,+Z轴正向时,则其余四指方向分别为+A,+B,+C轴的旋转方向.Z坐标的运动 传递切削力的主轴规定为Z坐标轴.对于铣床,镗床和攻丝机床来说,转动刀具的轴称为主轴.而车床,靡床等则以转动工件的称为主轴.如果,机床上有几个主轴百,则选其中一个与工件装夹基面垂直的轴为主轴.当朵床没有主轴时,则选垂直于工件装卡系.X坐标的运动 X坐标是水平的,它平行于工件的装卡面.在工件旋转的机床(如车床,磨床等),取平行于横向滑座的方向(工件的径向)为X坐标.因此安装在横刀架(横进给台上的刀具离开工件旋转轴方向为X正方向上.对于刀具旋转的机麻烦(例如铣床,镗床)当Z轴为水平时,沿刀具主轴向工件的方向看,向右方向为X轴正方向.Y坐标轴运动 Y坐标轴垂直于X及Z坐标.按右手直角笛卡尔坐标系统判定其正方向.以上都是取增大工件和刀具远离工件的方向为正方向.例如钻,镗加工,切入工件的方向为Z坐标的负方向.为了编程的方便,不论数控机床的具体结构是工件固定不动刀具移动,还是刀具固定不动工件移动,确定坐标系时,一律按照刀具相对于工件运动的情况.当实际 刀具固定不动工件称动时,工件(相对于刀具)运动的直角坐标相应为X',Y',Z'.但由珠二者是相对运动,尽管实际上是工件运动,仍以刀具相对运动X,Y,Z进行编程,结果是一样的.除了X,Y,Z主要方向的直线运动外,还有其它的与之平行的上线运动,可分别命名为U,V,W坐标轴,称为第二坐标系.如果再有,可用P,Q,R表示.如果在旋转运动A,B,C之外,还有其它旋转运动,则可用D,E,F表示.2.3.绝对坐标与增量坐标 运动轨迹的坐标点以固定的坐标原点计量,称作绝对坐标.运动轨迹的终点坐标值,以其起点计量的坐标称作增量坐标系(或相对坐相系).常用代码表中的第二坐标系U,V,W分别与X,Y,Z平行且同向在数控编程中,使用G指令代码,M指令代码及F,S,T指令指令描述加工工艺过程和数控系统的运动特征.数控机床的启停,冷却液开关等辅助功能以及给出进给速度,主轴转速等.国际上广泛采用ISO10561975E标准,国家机械工业部制要了与标准等效的JB3208-83标准用于数控编程中.准备功能指令亦叫"G" 指令.它是由勃母"G" 和其后2位数字组成,从G00到G99.该指令主要是命令数控机床进行何种运动,为控制系统的插补运算作好准备.所以一般它们都位于程序段中坐标数字指令的前面.常用的G指令有:(1)G01直线插补指令 使机床进行两坐标(或三坐标)联动的运动,在各个平面内切削出任意余率的直线.(2)G02,G03圆弧插补指令 G02为顺时针圆弧插补指令,G03为逆时针圆站指令.圆弧的顺,逆方向可按图6-9中给出的方向进行判断.即沿圆弧所在平面(YZ平面)的另一坐标的负方向(即Y)看去,顺时针方向为G02,逆进针方向为G02,逆时针方向为G03.使用圆弧插补指令之前必须应用平面选择指令,指定圆弧插补的平面.(3)G00快速点定位指令 它命令刀具以点位控制方式从刀具所在点快速移动到下一个目标位置.它只是快速定位,而无运动轨迹要求.(4)G17,G18,G19坐标平面选择指令 G17指定零件进行XY平面上的加工,G18,G19分别为YZ,ZX平面上的加工.这些指令在进行圆弧插补,刀具补偿时必须使用.(5)G40,G41,G42刀具半径补偿指令 数控装置大都具有刀具半径补偿功能,为编程提供了方便.当铣削零件轮廓时,不需计算刀具中心运动轨迹.而只需按零件轮廓编程,使用刀具半径补偿指令,并在控制面板上使用刀具拨码盘或键盘人工输入刀具半径,数控装置便以自动地计算出刀具中心轨迹,并按刀具中心轨迹运动.当刀具磨损或刀具重磨后,刀具半径变小,只需手工输入改变后的刀具半径,而不修改已编好的序或纸带.在用同一把刀具进行粗,精加工时,设精加工余量为 ,则粗加工的补偿量为 ,而精加工的补偿量改为r即可.G41和G42分别辊为左(右)偏刀具裣指令,即沿刀具前进方向看(假设工件不动),刀具位于零件的左(右)侧时刀具半径补偿.F40为刀具半径补偿撤消指令.使用该指令后使G41,G42指令无效.(6)G90,G91绝对坐标尺雨及增量坐标尺寸编程指令 G90表示程序输入的坐标值按绝对坐标值取;G91表示程序段的坐标值按增量坐标值取.辅助功能指令亦称"M"它是由字母"M"和其后的两位灵敏字组成,从M00到M99共100种,这些指令与数控系统的插补运算无关,主要是为了数控加工,机床操作而设定的工艺性指令及辅助功能,是数控编程必不可少的,常用的辅助功能指令如下:(1) M00程序集止 完成该程序段的其它功能后,主轴,进给,冷却液送进都停止.此时可执行某一手动操作,如工件调头,手动变速等,如果再重新按下控制而板上的循环启动按钮,继续执行下一程序段.(2) M01任选停止 该指令与M00相类似.所不同的是,必须在操作面板上予先揿下"任选停止"按钮,才能使程序停止,否则M01将不起作用.当零件加工时间较长,或在加工过程中需要停机检查,测量关键部位以及交换班等情况时,使用该指令很方便.(3) M02程序结束 当全部程序结束时使用该指令,它使主轴,进给,冷却液送进停止,并使机床复位.(4) M03,M04,M05主轴顺时针旋转(正转),主轴逆时针旋转(反转)及主轴停指令.(5)M06换刀指令 用于具有刀库的工中心数控机庆换刀功能.(6)M08冷却液开.(7)M09冷却液关.(8)M30程序结束并倒带 除了具有M02的功能外,该指令还使纸带倒回至起始位置.(9)M98子程序调用指令.(10)M99子程序返回到主程 第三章 数控编程的方法及其发展数控程序编制的主法有两种,手工编程有自动编程.3.1. 手工编程方法 从分析零件图纸,制订工艺规程,地算刀具运动轨迹,编写零件加工程序单,制备控制介质直到程序校核,整个的过程都是由人完成的这种编程方法称作手工编程.对于几何形状不太复杂的较简单的零件,计算较简单,加工程序不多,穿孔纸带不很长,采用手工谐和较容易实现.但是,对于形状复杂的零件,具有非圆曲线,列表曲线轮廓的,特别是对于具有列表曲面,组合曲面的零件或者虽然零件几何元素并不复杂,但程序量很大的零件,例如一个零件上有数千个孔,以及当轮廓铣削减时,数控装置不具备刀具半径自动偏移功能,而只能按刀具中心的运动轨帝进行编程等情况,数据控装置不具备刀具半径自动偏移功能,而只能按刀具中心的运动轨迹进行编程等情况,计算相当繁琐,程序量非常大,手工编程难以胜任,甚至无法编出程序来.而且人工穿孔更是一个繁琐的工作,据国外统计以及我国的生产这践说明,用手工编程时,一个零件的编程时间与机床加工时间之比平均约为我国的生产实践说明,用手工编程时,一个零件的编程时间与机床上加工时间之比平均约为30:1.而且数据控机应酬往往由于零件加工程序编不出来而没有发挥其功能.3.2 自动编程方法 由计算机进行工艺处理,数值计算,编写零件加工程序,自动地输出零件加工程序单,并将程序自动地记录到穿孔纸带或其它的控制介质上.亦可由通讯接口将程序直接送到数控系统,控制机床进行国工.数据控机应酬的程序编制工作的大部发或一部由地算机完成的方法称为自动编程的方法。 3.2.1计算机数控自动编程方法计算机数控自动编程的方法有语言编程方法,图形编程及其它方法.随着科学技术特别是计算机科学的发展,数控扑克动编程的方法不断地改进与完善.自第一台数控机床问世不久,1952年美国麻省理工学院即开始研究自动编程的语言系统.APT语言系统由APT1,APT-2发展到可解决三维编程的APT系统后,宇航协会 对APT继续改进,成立了APT长期规划组织(APTLRP)由伊利诺斯理工学院研究所负责,1970年发表了APT初步主案,80个代进一步发展为APT/SS系统,具有定义和加工复杂雕塑曲面的功能.APT语言系统是世界上发展最早的编程语言,其语言词汇丰富,定义的几何类型多,加工的功能齐全并配有1000多个后置处理程序,在各国得到广泛的用,但该系统庞大,需大型计算机,费用昴贵.因此,各国相继研究出了针对性较强的各具不同特点的编程系统.如美国的ADAPT,AUTOSPOT等,英国的确2C,2CL,2PC,等,西德的EXAPT1(点位)EXAPT(车削)EXAPT3(铣削)等,法国的IFAPTP(点位)IFAPTC(轮廓)IFAPTCP(点位,轮廓),日本的FAPT,HAPT等数控自动编程语言系统.我国自50年代末即开始研究数控机床,60年代中期开始了数控自动编程方面的研究工作.70年代已研制出了SKC,ZCX,XBC1,CKY等具有平面轮廓铣削加工,车削加工等功能的数控自动编程系统.后又研制出具有解决复杂曲面编程功能的数控编程系统CAM251等多功能的语言系统.随着计算机技术的发展,微机数控自动编程系统以其较记的性能价格比迅速发展起来.近年来推出了HZAPT,EAPT,ADPT等微机数控自动编程系统.美国1964年研制出的一台图形显示器(图形终端),为克服语言编程系统的缺点及发展图形编程系统打下了基础,使用图形交互功能,在屏幕直接显示零件图形及加工走刀轨迹,得到加工程序.其用户界面友好,比APT主席系统编程时间缩短了70-75%,提高编程的质量,经济效益显著,美国洛克希德的加里福尼亚飞机制造公司1967年初步完成了第一个CAD/CAM集成系统,以后命为CADAM系统,在一些工厂中应用,80年代后,随着图形工作站及微机性能的提高, CAD/CAM软件大量涌现,交互式图形编程技术大量被采用,我国已研制出并正在研制一些自主版权的CAD/CAM软件.3.2.2数控语言编程方法数控语言编程方法是世界上发展最早,也曾是功能强应用广泛扫自动编程的方法,虽然存在一些不足之处,但实好坏生产中仍有使用,尚未淘汰.下面加以介绍.数控语言自动编程的过程编程员只需根据图纸的要求,使用数控语言很容易地编写了零件加工源程序,送入计算机.由计算机进行数值计算后置处理,编写出零件加工程序单直至自动穿出数控加工穿孔z纸带,或将加工指令通过直接通迅的方式送入数控机床.这一过程称为语言自动编程.数控语言及其应用APT语言在很多书书刊都有介绍,这里不再赘述,现对日本FANUC公司的FAPT语言及我国研制的微机睥数控语言进行介绍.FAPT语言及其应用FAPT是用在日本FANUC公司研制的专用的数控编程系统P-MODELG睥语言,该系统由车,铣,模具,线切割等作画选模块及仿真,自学习,故障诊断标准模块组成.,使用方便.它具有如下的技术性能:线型定义,点型定义12种;直线定义14种;圆弧定诌义22种;刀具运动中心轨迹的计算循环语句;半径补偿功能;函数曲线编程功能;曲线所拟合功能;宏定义功能;渐开线齿轮专用编程模块;面积,重心,惯性矩的计算功能. HZAPT语言及其应用 70,80年代以来,我国发展了微机数控编程系统.该类系统的特点是:在国内广泛应用微机上运行,投资少,易于推广应用;具有一定产交互式会话及图形显示功能,可及时发现错误,及时修改,得到正确的程序;系统一般都具有对任意平面零件及空间曲面编程的功能.现以化中理工大学研制的HZAPT系统为例,编制在数控铣床上加工平面凸轮.首先,分析零件图纸,制定工艺过程,确定走刀路线,零件要求加工由直线与圆弧组成的轮廓,其底面与定位孔0已加工好.9孔为基准孔.选其对刀点,即程序的起点,也作为坐标原点.从而使编程方便,书写零件源程序的一般步骤如下:分析零件图,确定加工过程,确定对刀点及走刀路线; 选择刀具,确定主轴转速,进给速成度等工艺参数; 写出刀具补偿语句和辅导语句; 写出几何定义语句.本系统只要求对那些在图纸上不能直接确定的几何参数进行定义,其它的不需定义; 按走刀路线逐段写出运动语句; 写出结束语句; 全面检查语句及格式是否正确,有无遗漏.HZAPT语言是由语句组成的,语句亦地零件源程序的基本面分,具有独立的意义,语句是由一些特定的基本符号和基本指令(词汇)构成的.基丁符号包括26个英文字母,数字0-9以及定义符,定义符是由一些具有固定意义的符号构成的.它包括分隔符(","""":""=""/"等)运算符("+""""÷"等)初等函数(SIN,COS,TAN等).基本指令(词汇)与AOPT语言类似,采用英文单词缩写构成,其中常用的基本指令如POINT(点),LINE(直线),CIRC(圆弧),PLANE(平面),CURV(无列表曲线),DFN(函数定义),CULNDR(柱),CONE(锥),SDHERE(球),FEED(设定进给速度),TOOL(设定刀补值),END(程序结束)等.HZAPT语言特点是将定义语句与切割语句(运动语句)可登工使用,使程序结构紧凑,源程序缩短;语言功能较强,类型较全.数控主席自动编程系统扫软件计算机数控语言编程系统总体结构,它由前置处理程序及后置处理程序两大部分组成,前置处理部分包括输入翻译及计算阶段.零件加工源程序输篱计算机后,经过输入翻译,数学处理计算出刀具运动中心轨迹,得到刀位数据(LD)文件.后置处理程序将刀位数据和腾扫工艺参数,辅助信息处理成具体的数控机床缺要求的指令和程序格式,并自动的输出零件加工程序单,由穿孔纸带或计算机将加工指令通过接口直接传送给数控机床.:输入翻译阶段输入翻译阶段包括输入模块,词法分格,语法分格模块.首 先进歃词法分析,对源程序依次地进行扫描,对构成源程序的字符串进行分解,识加紧单词.在些基础上,进行语法分淅,把单词符号串分阶段解成各类语法单位,确定整个输入串是否构成语法上正确的句子,查明零件湖泊 程序中那一些地方不合语法规定,并对错误及时进行修改.计算阶段程序计算阶段要求出零件的基点,节点及刀具运动中心轨迹即刀位数据.该部分由下面的模块组成 常规的几何运算模块.包括二,三维平长工,一点沿定矢量平移,二,三维投影计算几何定义模块.该模块确定发直线,圆弧,空间直线,平面,球,圆锥,圆环,矢量,螺旋面以及一般二次曲面的各种定义形式,用户可自由选择不同定义方式,并且允许嵌套定义几何元素相交模块.该模块具有两条直线相交,直线圆弧相交,两圆弧相交,两圆弧相切,直线圆弧相交,直线平面相交,直线球面相交,直线椭圆面相交,两平面相交,三平面相交,直线圆柱相交,直线圆锥相交,直线一般二次曲面相交,直线自定义参数曲线相交,圆弧自定义参数曲线相交 ,圆弧自定义参数民线相交,两直线间圆角过度,直线圆弧间圆角过度,两圆弧间圆角过度,直线自定义参数曲线间圆角过度,圆弧自定义参数曲线间圆角过度.点位和辅助机能模块.该模块具有钻孔,攻螺,镗孔,组孔加工,精加工等点位编程功能,同时还有程序名,平面选择,容差,刀偏,刀补,换刀,进给,转速,嘛轴停转,冷却,取参数,程序结束等辅助功能. 自定义函数模块.该模块允许用户以表达式的形式输入数值和几何参数,可对用户任意定义的参数曲线编程,大大扩展了系统的编程功能力. 自由曲线编程模块.该模块提从了按点列或给出位矢与切矢两种类型方法描述的自由曲线的编程功能,并提供了自由,夹紧,与前段相切,与后段相切,闭合等不同端点条件. 空间解析曲面模块.该模块具有对球面,圆柱面,圆锥面,圆环面,螺旋面以及由任意平面曲线绕任意轴线旋转构成同面的编程功能. 自由曲面模块.该模块具有对点阵描述的曲面按COONS曲面,Fergson曲面插值功能,同时对广泛应用生产中,以截面描述的曲面进行编程.9)刀位校验模块.该模块涉及了多面体数控加工法,自动校验铣削加工时的刀具干涉问题,并就提高表面精度或切削效率分别给出最大切削半径或深度.10)组合曲面模块.该程序能将不赙面组合在一起,具有对复杂形体编程的功能.11)公用程序包.包括正切计算,行列式计算,求最大值,存取几何元素,存取切削数据,分区词判别恨具偏置,高斯法解议程,追赶法解方程等子程序. 系统管理模块 系统的硬,软件资源由该模块统一管理,调用.绘图模块 能使用户在屏幕上快速绘图,也容许用户在绘图仪上进一步绘图校验.该模块能根据用户需要绘制XOY,YOZ,ZOY面的视图,中间正投影,二等测,三等测投影图和一般透视投影图.并具有局部放大功能,操作方便灵活.3.3 数控图形编程方法数空图形编程方法是指使用人机交互设备( 键盘,鼠标器,数字化仪等),通过人机对话(功能菜单,文字命令等形式)方式将待加工零件的几何尺寸等数据输入计算机,并在显示屏幕上显示出图形.然后,用户可指点出走刀路线或走刀方式,在屏幕上即可显示出走刀轨迹.再输入切削参数,辅助功能等工艺信息,经计算机处理,输出零件加工程序控制介质.也可将加工程序直接由计算机通过接口送入数控系统.3.4计算机数控自动编程系统的刀位复杂的曲线面及带多岛坑的型腔零件的加工是数控自动编程系统的难点.对复杂零件进行编程时,首先确定其型面的数学模型,然后计算其刀位点及规划走刀轨迹.处理自由不得曲线和曲面的数学方法很多,如三次参数样条与孔斯曲面法,Bezier曲线与曲面,B样条曲线与曲面以及非均匀有理B样条(NURBS)方法等.非均匀有理B样条(NURBS)法是国际上被认为最有发展前景的方法.1991年国际标准化验组织(SIO)正式颁布了关于工亚产品几何定义的STEP国际标准,把NURBS方法作为定义产品形状唯一数学方法.近年来,在功能强的数控编程系统及CAD/CAM系统中都扩充开发了NURBS的方法. 3.5数控加工仿真手工编程和自动编程产生的数控制代码,在实际加工前,一般要进行试切,即用木材,石蜡等材料进行加工.如果发现错误,则对数控代码进行修改,直至最终满足要求为止.这种试切的方法不仅费时, 而且安全性也难以保证.为解决这一问题,计算机数控加工仿真技术应运而秉.数控加工仿真是利及计算机图形学的最新成果,采及动态的真实感图形式,模拟数控加工厂全过程.通过数控加工仿真软件,能判别加工路径是否合理,构测刀具的碰撞,干涉,优化加工参烽,降低材料消耗和生产成本,最大限度过地了挥数控设备的利用率.一个完整的数控加工厂仿真过程包括:(1)NC代码的翻译及检查.将NC代码翻译为刀具的运动数据.并对代码中的确良语法错误进行检查.(2)毛干涉及零件图形的输入和显示;(3)刀真的定义及图形显示;(4)刀具运动及毛坯去屑的动态图形显示;(5)刀具碰撞及干涉检查;(6)仿真结果报告,包括具体干涉位置及干涉量.数控加工过程的仿真的难点是动态图形生成和刀具干涉检查.常用的方法有两类.一是用毛坯体与刀具运动形成的包络体进行布尔"差"运算.此种方法的几何模型与实际加工过程相一致,但对实体造型技术要求很高,计算量大,较难应用于实时检测和动态仿真.另一类算法是用象空间的消隐算法来完成实体布尔运算.该方法能实现动画显示,但由于原始数据算法是用象空间的消隐算法来完成实体布尔运算.该方法能实现动车显示,但由于原始数据都已转化为象素值,所以不能进行精确的检测.下面半分车削仿真和铣削仿真详细说明.3.5.1 车削仿真由于车削编程属于二维编程,所以车削仿真也在二维进行.车削进一步检查的方法是,计算出车床的运动部件(刀架,夹持器,刀板,滑架)沿运动轨迹所扫过的区域,并将其与工件图形及机床附件(卡盘,尾架,托架等)进行布尔"减"运算,从而判断是否产生干涉.由于此种算法的全部运算都在二椎进行,所以不仅能以动画形式模拟加工过程,而且能准确地计算出毛坯材料的基本建设除量和机床运动部件与工件,机床附件等干涉碰撞的具体数据.3.5.2铣削仿真复杂零件铣削加工的图形仿真和刀具干涉检察院查在技术难度上远远超过车削加工.由于三维实体布尔运算对几何造型技术要求很高,而且也难以满足实时动画显示的要求,所以目前铣削仿真大多采用离散检测算法.该算法的核心是将曲面按一定精度离散,然后在每个离散点处计算该点沿法矢到刀具包络体的距离.通过判断距离的大小与正负来检测刀具的过切或漏切,n为曲面检测点处的法矢,s为检测点到刀具体的法向距离.sgssm 则在误差范围内,s通过计算,得出曲面上各检测点沿法矢到刀具包络体的距离后,可判断此时刀具的切削量和切削深度,从而选取合适的进给速度和主轴转速.采用这种加工参数优化方法,可比传统的在整个加工过程中保持一个恒定的进给速度节省大量加工时间,同时,对于进给速度变化频繁或变化幅度较大的刀具运动,还可建议用户改变刀具轨迹,重新规划走刀方式,使加工路径沿曲率变化较小的方向.加工过程的动画显示是为了对加工过程有一个直观,全面的了解.切削过程的图形仿真技术与一般的真实感图形生成算法完全相同,具体可采用Z缓存方法,先计算刀具包络体所对应的屏幕象素的深度值和颜色灰度值,然后与毛坯体在该处的象素进行比较,得出最后