1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数控铣床及加工中心编程,数控铣床及加工中心编程基础,FANUC,系统加工中心编程原理,加工中心程序编制实例,宏程序编制,4.1,数控铣床及加工中心编程基础,4.1.1,数控铣床及加工中心概述,数控铣床是一种用途广泛的机床,有立式、卧式及龙门铣,3,种。加工中心(,Machining Center,)是一种集成化的数控加工机床,是在数控铣床的发展基础上衍化而成的,它集铣削、钻削、铰削、镗削及螺纹切削等工艺于一体,通常称镗铣类加工中心,习惯称加工中心。,1,加工中心的工艺特点,(,1,)加工精度高,(,2,)
2、表面质量好,(,3,)加工生产率高,(,4,)工艺适应性强,(,5,)劳动强度低、劳动条件好,(,6,)良好的经济效益,(,7,)有利于生产管理的现代化,2,加工中心的分类,(,1,)按照机床形态及主轴布局形式分类,立式加工中心,卧式加工中心,龙门式加工中心,复合加工中心,(,2,)按加工中心的换刀形式分类,带刀库、机械手的加工中心,无机械手的加工中心,一般在小型加工中心上采用转塔刀库形式,主要以孔加工为主。,3,加工中心主要结构部件及其功能,加工中心类型繁多,结构各异,但总体来看主要由基础部件、主轴部件、数控系统、自动换刀装置和辅助装置等几部分组成。,4.1.2,数控铣床及加工中心坐标系统,
3、1,加工中心运动部件运动方向的规定,(,1,),z,轴坐标运动,规定与主轴线平行的坐标轴为,z,坐标(,z,轴),并取刀具远离工件的方向为正方向。,当机床有几根主轴时,则选取一个垂直于工件装夹表面的主轴为,z,轴(如龙门铣床)。,(,2,),x,轴坐标运动,x,轴规定为水平平行于工件装夹表面。,(,3,),y,轴坐标运动,y,坐标轴垂直于,x,、,z,坐标轴。当,x,轴、,z,轴确定之后,按笛卡儿直角坐标系右手定则法判断,,y,轴方向就惟一地被确定了。,(,4,)旋转运动,A,、,B,和,C,旋转运动用,A,、,B,和,C,表示,规定其分别为绕,x,、,y,和,z,轴旋转的运动。,A,、,B,
4、和,C,的正方向,相应地表示在,x,、,y,和,z,坐标轴的正方向上,按右手螺旋前进方向。,2,加工中心机械原点及工作坐标系,(,1,)加工中心机械原点,机床坐标系的原点也称机械原点、参考点或零点。,而机床坐标系的原点是三维面的交点,无法直接感觉和测量,只有通过各坐标轴的零点,做相应的平行切面,这些切面的交点,即为机床坐标系的原点(机械原点),这个原点是机床一经设计和制造出来,就已经确定下来的。,(,2,)加工中心工作坐标系,编程时一般选择工件上的某一点作为程序原点,并以这个原点作为坐标系的原点,建立一个新的坐标系,这个新的坐标系就是工作坐标系(编程坐标系)。,(,3,)绝对坐标与增量坐标,4
5、.2 FANUC,系统加工中心编程原理,4.2.1,程序结构,1,程序号,程序号作为程序的标记需要预先设定,一个程序号必须在字母“,O”,后面紧接最多,8,个阿拉伯数字。,2,程序段号,程序段号是每个程序功能段的参考代码,一个程序段号必须在字母“,N”,后紧接最多,5,个阿拉伯数字。,3,程序段,一个程序段能完成某一个功能,程序段中含有执行一个工序所需的全部数据,程序段由若干个字及段结束符“,LF”,组成。,/N10,G03,X10.0,Y30.0,CR=25.0,F100,;(注释),LF,其中:,“,/”,表示程序段在执行过程中可以被跳过;,“,N10”,表示程序段号,主程序段中可以有字符
6、;,“,”表示中间间隔(可以省略);,“,G03”,表示程序段具体指令;,“(注释)”表示对程序段进行必要的说明;,“,LF”,表示程序段结束。,4,坐标字,用于在轴方向移动和设置坐标系的命令称为坐标字,坐标字包括轴的地址符及代表移动量的数值,其基本构成见表,4-1,。,4.2.2,准备功能指令,G,代码,1,尺寸数据输入方式,G90/G91,2,英制,/,公制选择,G20/G21,G20,设定为英制尺寸、,G21,设定为公制尺寸,这两个指令均为模态指令。,3,快速点定位,G00,指令格式:,G00 X,(,U,),Z(W),;,4,直线插补,G01,指令格式:,G01X,(,U,),Z(W)
7、,F,;,5,平面选择,G17,G19,在计算刀具长度补偿和刀具半径补偿时必须首先确定一个平面,即确定一个两坐标轴的坐标平面,在此平面中可以进行刀具半径补偿,,G17,到,G19,各自的含义见表,4-3,。,6,圆弧插补,G02/G03,圆弧插补指令,G02/G03,是圆弧运动指令。它是用来指令刀具在给定平面内以,F,进给的速度,作圆弧插补运动的指令。,G02/G03,是一种模态指令。,(,1,)指令格式,G02 I,J,F,;,(,G17,),X,Y,G03 R,F,;,在指令格式中,,I,、,J,为圆弧中心地址,,R,为圆弧半径,其他内容及字符的含义见表,4-4,。,(,2,)顺、逆时针圆
8、弧插补的判断,在使用,G02,或,G03,指令之前需要判别刀具在加工零件时,是沿什么路径在作圆弧插补运动的,是按顺时针还是逆时针方向路线在前进的。其判别方法简述为:视线沿着垂直于圆弧所在平面的坐标轴的负方向观察,刀具插补方向为顺时针即为,G02,,相反则为,G03,。,7,暂停功能,G04,(,1,)按时间计的暂停指令:,(,G94,),G04,指令格式:,G94 G04 X_,或,G94 G04 P_,;,在每分进给方式(,G94,)中,指定指令,G04,按设定的时间延迟了下一个程序段的执行,对于地址,P,,不能用小数点,否则将忽略小数点后的部分。编程规范如下:,G04 X500,;暂停时间
9、,=0.5sec,G04 X5000,;暂停时间,=5.0 sec,G04 X5.0,;暂停时间,=5.0 sec,G04 P5000,;暂停时间,=5.0 sec,G04 P12.345,;暂停时间,=0.012 sec,(,2,)按圈数计的暂停指令(,G95,),G04,在每转进给方式(,G95,)下,推迟到主轴已经旋转了设定的圈数以后,才开始下一个程序的执行,对于地址,P,,不能用小数点,否则将忽略小数点之后的部分。编程规范如下:,G04 X500,;暂停时间,=0.5r,G04 X5000,;暂停时间,=5.0 r,G04 X5.0,;暂停时间,=5.0 r,G04 P5000,;暂停
10、时间,=5.0 r,G04 P12.345,;暂停时间,=0.012 r,8,刀具补偿功能,(,1,)刀具长度补偿,/,取消:,G43,、,G44/G49,G43,刀具长度正补偿;,G44,刀具长度负补偿;,G49,取消刀具长度补偿。,(,2,)刀尖半径补偿,/,取消,刀具补偿地址,D,中的半径补偿值必须与,G41/G42,一起执行方能生效。,9,可设定的零点偏置,G54G59,G54,;第一可设定零点偏置,G55,;第二可设定零点偏置,G56,;第三可设定零点偏置,G57,;第四可设定零点偏置,G58,;第五可设定零点偏置,G59,;第六可设定零点偏置,10,自动返回参考点,G28,指令格式
11、:,G91 G28 XYZ,4.2.3,主轴及辅助功能指令,1,主轴功能指令,指令格式:,S_M03,(,M04,),2,辅助功能指令,(,1,)关于停止的辅助功能指令(,M00,、,M01,、,M02,、,M30,),M00,:程序停止。在程序执行过程中,系统读取到,M00,指令时,无条件停止程序执行,待重启动后继续执行;,M01,:选择停止。在程序执行过程中,系统读取到,M01,指令时,有条件停止程序执行,待重启动后继续执行;,M02,:程序结束。程序执行完毕,光标定于程序结尾处;,M30,:程序结束。程序执行完毕,光标返回至程序开始处。,(,2,)主轴旋转,M,代码,(,M03,、,M0
12、4,、,M05,),M03,主轴正转;,M04,主轴反转;,M05,主轴停止旋转。,(,3,)冷却控制,M,代码,(,M07,、,M08,、,M09,),M07,冷却汽雾开;,M08,冷却液开;,M09,关闭冷却液、汽。,(,4,)子程序功能,M,代码。,M98,子程序调用,M,代码。,指令格式:,M98 PL,;,在这条指令中,子程序程序号由,P,定义,并且执行,L,次。如,L,省略,执行次数为,1,次,子程序最多可重复,4,次。,M99,子程序结束。,4.2.4,进给功能指令,1,快速进给率,每个轴的快速进给率能够分别设定,可设定的快速进给率的范围是从,1mm/min,到,240000 m
13、m/min,。快速进给率应用于,G00,,,G27,,,G28,,,G29,,,G30,和,G60,等指令。,2,切削进给率,F,切削进给率必须用地址,F,和一个八位数字(,F8,直接指定)来指定。,3,非同步,/,同步进给,G94/G95,进给运动速度指令字的单位由切削进给速度转换功能指令(,G94/G95,)定义,如:,G94,定义分进给,即每分钟进给量(,mm/min,)。,G95,定义转进给,即每转进给量(,mm/r,)。,4.2.5,刀具功能指令,指令格式:,T03,M06 T00,;,调用刀位号为,03,的刀具,刀具功能也叫,T,代码功能。此功能用来选择刀具号,对此,NC,系统,,
14、T,功能允许用地址,T,后跟三位数的指令选择最多,1000,个刀号(,0,到,999,)。可是,对本机床能够选择的刀号的最大数量仅为,24,。,4.2.6,固定循环切削功能指令,1,点钻循环,G81,指令格式:,G81 Xx Yy Rr Zz,;执行过程如图,4-18,所示。,Xx Yy,点钻孔的坐标;,Rr,点钻参考平面高度;,Zz,孔的最后钻深。,2,间歇钻循环,G83,G83 Xx Yy Rr Zz Qtz Ffo Ddo Kko Iio Jjo,(,Bb0,),Xx Yy,点钻孔的坐标;,Rr,点钻参考平面高度;,Zz,孔的最后钻深;,tz,每次进刀的切削深度;,io,进给倍率的距离;
15、,do,快速进给停止的余量;,jo(b0),进给倍率(,%,);,ko,从,R,点到切削进给起点的距离;,fo,进给率。,3,高速间歇钻,G73,G73 Xx Yy Rr Zz Qtz Ptc Ffo Ddo Kko Iio Jjo,(,Bb0,),tz,每次进刀的切削深度;,jo(bo),进给倍率(,%,);,tc,停顿时间或主轴旋转的圈数;,fo,进给率;,do,返回距离;,f1,加倍率后的进给率;,ko,从,R,点到切削进给起点的距离;,f2,返回速度(固定的);,io,进给倍率的距离。,4,镗孔循环,G76,G76 Xx Yy Rr Zz Ptc Qq0 Ff1 Ddo Jjo,(,B
16、b0,),tc,停顿时间或主轴旋转的圈数;,jo(b0),如果设,0,或不设,则在结束加工之后,,M03,输出,如果设除了,0,以外的值,则在结束加工之后,,M04,输出;,f1,进给率;,q0,在,x,y,平面上的让刀量;,do,离,R,点的距离。,5,铰孔循环,G85,G85 Xx Yy Rr Zz Ptz Ffo Ef1 Ddo,执行过程如图,4-24,所示。,tz,停顿时间或主轴旋转的圈数;,do,离,R,点的距离;,fo,进给率,0,;,f1,进给率,1,。,6,攻丝循环,G84,G84 Xx Yy Rr Zz Ptc Ffo Jjo,(,Bb0,),Ddo Hho Kko,Tc,停
17、留时间;,d0,离,R,点的距离;,f0,进给率;,h0,同步,/,非同步攻丝的选择标志和在同步攻丝循环期间的返回速度倍率(,%,):,h0=0,表示非同步攻丝循环,h0,表示同步攻丝循环,jo(b0)1,M04,输出之前在孔底的停顿,2,M04,输出之后在孔底的停顿,3,M03,输出之前在,R,点的停顿,k0,离,R,点的距离。,4.2.7,子程序,在程序编写过程中,常把一些在程序执行时经常重复使用的程序段写成独立的一个程序,在适当时候利用一些指令直接调用,这样的独立程序即为子程序。,4.3,加工中心程序编制实例,编程实例:利用,LGMAZAK VTC-16A,型加工中心加工如图,4-27,
18、所示工件。工件毛坯材料为,6530mm,的,45,钢,端面及外圆轮廓均要求铣削。,1,刀具选择,(,1,)端面加工选用,65mm,硬质合金机夹式端面铣刀;,(,2,)外圆及轮廓铣削粗加工选用,16mm,两刃立铣刀;,(,3,)外圆及轮廓铣削精加工选用,8mm,四刃立铣刀;,(,4,),10,孔粗加工选用,5mm,中心钻及,9.8mm,麻花钻;,(,5,),10,孔精加工选用,10mm,高速钢机用铰刀;,2,工艺路线安排,1,)调用,65mm,硬质合金机夹式端面铣刀粗、精加工工件端面;,2,)调用,16mm,两刃立铣刀粗加工外圆及轮廓;,3,)调用,5mm,中心钻钻削,10,孔的中心孔;,4,)
19、调用,9.8mm,麻花钻钻削,10,孔的铰孔基孔;,5,)调用,8mm,四刃立铣刀精铣外圆及轮廓;,6,)调用,10mm,高速钢机用铰刀铰削,10+0.015 0,孔至尺寸。,4.4,宏程序编制,1,宏程序概述,在程序中使用变量,通过对变量进行赋值及处理的方法达到程序功能,这种有变量的程序叫宏程序。,(,1,)宏程序的使用格式,宏程序格式与子程序一样,结尾用,M99,返回主程序。,O0100,;主程序,T01M06T00,;,G90 G54 G00,G65 P8500,(引数和引数值);,M30,;,O8500,;宏程序,变量,运算指令,控制指令,M99,(,2,)选择程序号,程序在存储器中的
20、位置决定了该程序的一些权限,根据程序的重要程度和使用频率用户可选择合适的程序号,具体见表,4-8,。,(,3,)宏程序调用方法,非模态调用(单纯调用):指一次性调用宏程序主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:,G65 P_ _ _ _,(宏程序号),L_,(重复次数),_,一个引数是一个字母,对应于宏程序中变量的地址,引数后边的数值赋给宏程序中对应的变量,同一语句中可以有多个引数。,2,变量,(,1,)变量的表示,一个变量由,#,符号和变量号组成,如:,#i(i=1,2,3),,也可用表达式来表示变量。,(,2,)变量的使用,(,3,)变量的赋值,直接赋值,引数赋值,(,
21、4,)变量的种类,变量有局部变量、公用变量(全局变量)和系统变量,3,种。,局部变量,#1,#33,:局部变量是一个在宏程序中局部使用的变量。,公用变量(全局变量):,#100,#149,、,#500,#509,公用变量贯穿整个程序过程,包括多重调用。,系统变量:宏程序能够对机床内部变量进行读取和赋值,从而可完成复杂任务。,(,5,)未定义变量的性质,未定义变量又叫空变量,有其特殊性质,它与变量值为零的变量是有区别的。变量,#0,总是空变量。,3,运算指令,宏程序具有赋值、算术运算、逻辑运算、函数运算等功能。,4,控制指令,控制指令起到控制程序流向的作用。,(,1,)分支语句(,GOTO,),其格式为:,IF GOTO n,(,2,)循环指令,WHILE DO m(m=1,,,2,,,3),;,END m,;,