数控编程技术第04章.ppt
数控编程技术第04章 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望4.1 数控铣床及加工中心编程基础数控铣床及加工中心编程基础4.1.1 数控铣床及加工中心概述数控铣床是一种用途广泛的机床,有数控铣床是一种用途广泛的机床,有立式、卧式及龙门铣立式、卧式及龙门铣3种。加工中心种。加工中心(Machining Center)是一种集成化的数)是一种集成化的数控加工机床,是在数控铣床的发展基础上控加工机床,是在数控铣床的发展基础上衍化而成的,它集铣削、钻削、铰削、镗衍化而成的,它集铣削、钻削、铰削、镗削及螺纹切削等工艺于一体,通常称镗铣削及螺纹切削等工艺于一体,通常称镗铣类加工中心,习惯称加工中心。类加工中心,习惯称加工中心。1加工中心的工艺特点(1)加工精度高)加工精度高(2)表面质量好)表面质量好(3)加工生产率高)加工生产率高(4)工艺适应性强)工艺适应性强(5)劳动强度低、劳动条件好)劳动强度低、劳动条件好(6)良好的经济效益)良好的经济效益(7)有利于生产管理的现代化)有利于生产管理的现代化2加工中心的分类(1)按照机床形态及主轴布局形)按照机床形态及主轴布局形式分类式分类 立式加工中心立式加工中心 卧式加工中心卧式加工中心 龙门式加工中心龙门式加工中心 复合加工中心复合加工中心(2)按加工中心的换刀形式分类)按加工中心的换刀形式分类 带刀库、机械手的加工中心带刀库、机械手的加工中心 无机械手的加工中心无机械手的加工中心 一般在小型加工中心上采用转塔刀一般在小型加工中心上采用转塔刀库形式,主要以孔加工为主。库形式,主要以孔加工为主。3加工中心主要结构部件及其功能加工中心类型繁多,结构各异,但总加工中心类型繁多,结构各异,但总体来看主要由基础部件、主轴部件、数控体来看主要由基础部件、主轴部件、数控系统、自动换刀装置和辅助装置等几部分系统、自动换刀装置和辅助装置等几部分组成。组成。4.1.2 数控铣床及加工中心坐标系统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和和C的的正方向,相应地表示在正方向,相应地表示在x、y和和z坐标轴的正坐标轴的正方向上,按右手螺旋前进方向。方向上,按右手螺旋前进方向。2加工中心机械原点及工作坐标系(1)加工中心机械原点)加工中心机械原点机床坐标系的原点也称机械原点、参机床坐标系的原点也称机械原点、参考点或零点。考点或零点。而机床坐标系的原点是三维面的交点,而机床坐标系的原点是三维面的交点,无法直接感觉和测量,只有通过各坐标轴无法直接感觉和测量,只有通过各坐标轴的零点,做相应的平行切面,这些切面的的零点,做相应的平行切面,这些切面的交点,即为机床坐标系的原点(机械原点)交点,即为机床坐标系的原点(机械原点),这个原点是机床一经设计和制造出来,这个原点是机床一经设计和制造出来,就已经确定下来的。就已经确定下来的。(2)加工中心工作坐标系)加工中心工作坐标系编程时一般选择工件上的某一点作为编程时一般选择工件上的某一点作为程序原点,并以这个原点作为坐标系的原程序原点,并以这个原点作为坐标系的原点,建立一个新的坐标系,这个新的坐标点,建立一个新的坐标系,这个新的坐标系就是工作坐标系(编程坐标系)。系就是工作坐标系(编程坐标系)。(3)绝对坐标与增量坐标)绝对坐标与增量坐标4.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”表示程序段号,主程序段表示程序段号,主程序段中可以有字符;中可以有字符;“”表示中间间隔(可以省略);表示中间间隔(可以省略);“G03”表示程序段具体指令;表示程序段具体指令;“(注释)(注释)”表示对程序段进行必表示对程序段进行必要的说明;要的说明;“LF”表示程序段结束。表示程序段结束。4坐标字用于在轴方向移动和设置坐标系的命用于在轴方向移动和设置坐标系的命令称为坐标字,坐标字包括轴的地址符及令称为坐标字,坐标字包括轴的地址符及代表移动量的数值,其基本构成见表代表移动量的数值,其基本构成见表4-1。4.2.2 准备功能指令G代码1尺寸数据输入方式G90/G912英制/公制选择G20/G21G20设定为英制尺寸、设定为英制尺寸、G21设定为公设定为公制尺寸,这两个指令均为模态指令。制尺寸,这两个指令均为模态指令。3快速点定位G00指令格式:指令格式:G00 X(U)Z(W);4直线插补G01指令格式:指令格式:G01X(U)Z(W)F ;5平面选择G17G19在计算刀具长度补偿和刀具半径在计算刀具长度补偿和刀具半径补偿时必须首先确定一个平面,即确补偿时必须首先确定一个平面,即确定一个两坐标轴的坐标平面,在此平定一个两坐标轴的坐标平面,在此平面中可以进行刀具半径补偿,面中可以进行刀具半径补偿,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)顺、逆时针圆弧插补的判断)顺、逆时针圆弧插补的判断在使用在使用G02或或G03指令之前需要判别指令之前需要判别刀具在加工零件时,是沿什么路径在作圆刀具在加工零件时,是沿什么路径在作圆弧插补运动的,是按顺时针还是逆时针方弧插补运动的,是按顺时针还是逆时针方向路线在前进的。其判别方法简述为:视向路线在前进的。其判别方法简述为:视线沿着垂直于圆弧所在平面的坐标轴的负线沿着垂直于圆弧所在平面的坐标轴的负方向观察,刀具插补方向为顺时针即为方向观察,刀具插补方向为顺时针即为G02,相反则为,相反则为G03。7暂停功能G04(1)按时间计的暂停指令:)按时间计的暂停指令:(G94)G04指令格式:指令格式:G94 G04 X_ 或或G94 G04 P_;在每分进给方式(在每分进给方式(G94)中,指定指令)中,指定指令G04按设定的时间延迟了下一个程序段的执按设定的时间延迟了下一个程序段的执行,对于地址行,对于地址P,不能用小数点,否则将忽,不能用小数点,否则将忽略小数点后的部分。编程规范如下:略小数点后的部分。编程规范如下:G04 X500;暂停时间暂停时间=0.5secG04 X5000;暂停时间暂停时间=5.0 secG04 X5.0;暂停时间暂停时间=5.0 secG04 P5000;暂停时间暂停时间=5.0 secG04 P12.345;暂停时间暂停时间=0.012 sec(2)按圈数计的暂停指令)按圈数计的暂停指令(G95)G04在每转进给方式(在每转进给方式(G95)下,推迟到)下,推迟到主轴已经旋转了设定的圈数以后,才开始主轴已经旋转了设定的圈数以后,才开始下一个程序的执行,对于地址下一个程序的执行,对于地址P,不能用,不能用小数点,否则将忽略小数点之后的部分。小数点,否则将忽略小数点之后的部分。编程规范如下:编程规范如下:G04 X500;暂停时间暂停时间=0.5rG04 X5000;暂停时间暂停时间=5.0 rG04 X5.0;暂停时间暂停时间=5.0 rG04 P5000;暂停时间暂停时间=5.0 rG04 P12.345;暂停时间暂停时间=0.012 r8刀具补偿功能刀具补偿功能(1)刀具长度补偿)刀具长度补偿/取消:取消:G43、G44/G49G43刀具长度正补偿;刀具长度正补偿;G44刀具长度负补偿;刀具长度负补偿;G49取消刀具长度补偿。取消刀具长度补偿。(2)刀尖半径补偿)刀尖半径补偿/取消取消刀具补偿地址刀具补偿地址D中的半径补偿值必须中的半径补偿值必须与与G41/G42一起执行方能生效。一起执行方能生效。9 可 设 定 的 零 点 偏 置G54G59G54;第一可设定零点偏置第一可设定零点偏置G55;第二可设定零点偏置第二可设定零点偏置G56;第三可设定零点偏置第三可设定零点偏置G57;第四可设定零点偏置第四可设定零点偏置G58;第五可设定零点偏置第五可设定零点偏置G59;第六可设定零点偏置第六可设定零点偏置10自动返回参考点G28指令格式:指令格式:G91 G28 XYZ4.2.3 主轴及辅助功能指令1主轴功能指令指令格式:指令格式:S_M03(M04)2辅助功能指令(1)关于停止的辅助功能指令()关于停止的辅助功能指令(M00、M01、M02、M30)M00:程序停止。在程序执行过程中,:程序停止。在程序执行过程中,系统读取到系统读取到M00指令时,无条件停止程序指令时,无条件停止程序执行,待重启动后继续执行;执行,待重启动后继续执行;M01:选择停止。在程序执行过程中,:选择停止。在程序执行过程中,系统读取到系统读取到M01指令时,有条件停止程序指令时,有条件停止程序执行,待重启动后继续执行;执行,待重启动后继续执行;M02:程序结束。程序执行完毕,光:程序结束。程序执行完毕,光标定于程序结尾处;标定于程序结尾处;M30:程序结束。程序执行完毕,光:程序结束。程序执行完毕,光标返回至程序开始处。标返回至程序开始处。(2)主轴旋转)主轴旋转M代码代码(M03、M04、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 mm/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系统,系统,T功能允功能允许用地址许用地址T后跟三位数的指令选择最多后跟三位数的指令选择最多1000个刀号(个刀号(0到到999)。可是,对本机床)。可是,对本机床能够选择的刀号的最大数量仅为能够选择的刀号的最大数量仅为24。4.2.6 固定循环切削功能指令1点钻循环G81指令格式:指令格式:G81 Xx Yy Rr Zz;执;执行过程如图行过程如图4-18所示。所示。Xx Yy点钻孔的坐标;点钻孔的坐标;Rr 点钻参考平面高度;点钻参考平面高度;Zz 孔的最后钻深。孔的最后钻深。2间歇钻循环G83G83 Xx Yy Rr Zz Qtz Ffo Ddo Kko Iio Jjo(Bb0)Xx Yy点钻孔的坐标;点钻孔的坐标;Rr 点钻参考平面高度;点钻参考平面高度;Zz孔的最后钻深;孔的最后钻深;tz每次进刀的切削深度;每次进刀的切削深度;io进给倍率的距离;进给倍率的距离;do快速进给停止的余量;快速进给停止的余量;jo(b0)进给倍率(进给倍率(%););ko从从R点到切削进给起点的距离;点到切削进给起点的距离;fo进给率。进给率。3高速间歇钻G73G73 Xx Yy Rr Zz Qtz Ptc Ffo Ddo Kko Iio Jjo(Bb0)tz每次进刀的切削深度;每次进刀的切削深度;jo(bo)进给倍率(进给倍率(%););tc停顿时间或主轴旋转的圈数;停顿时间或主轴旋转的圈数;fo进给率;进给率;do返回距离;返回距离;f1加倍率后的进给率;加倍率后的进给率;ko从从R点到切削进给起点的距离;点到切削进给起点的距离;f2返回速度(固定的);返回速度(固定的);io进给倍率的距离。进给倍率的距离。4镗孔循环G76G76 Xx Yy Rr Zz Ptc Qq0 Ff1 Ddo Jjo(Bb0)tc停顿时间或主轴旋转的圈数;停顿时间或主轴旋转的圈数;jo(b0)如果设如果设0或不设,则在结束或不设,则在结束加工之后,加工之后,M03输出,如果设除了输出,如果设除了0以外的以外的值,则在结束加工之后,值,则在结束加工之后,M04输出;输出;f1进给率;进给率;q0在在x y平面上的让刀量;平面上的让刀量;do离离R点的距离。点的距离。5铰孔循环G85G85 Xx Yy Rr Zz Ptz Ffo Ef1 Ddo 执行过程如图执行过程如图4-24所示。所示。tz停顿时间或主轴旋转的圈数;停顿时间或主轴旋转的圈数;do离离R点的距离;点的距离;fo进给率进给率0;f1进给率进给率1。6攻丝循环G84G84 Xx Yy Rr Zz Ptc Ffo Jjo(Bb0)Ddo Hho KkoTc停留时间;停留时间;d0离离R点的距离;点的距离;f0进给率;进给率;h0同步同步/非同步攻丝的选择标志和在非同步攻丝的选择标志和在同步攻丝循环期间的返回速度倍率(同步攻丝循环期间的返回速度倍率(%):):h0=0表示非同步攻丝循环表示非同步攻丝循环 h0表示同步攻丝循环表示同步攻丝循环jo(b0)1M04输出之前在孔底的停顿输出之前在孔底的停顿2M04输出之后在孔底的停顿输出之后在孔底的停顿3M03输出之前在输出之前在R点的停顿点的停顿k0离离R点的距离。点的距离。4.2.7 子程序在程序编写过程中,常把一些在程序在程序编写过程中,常把一些在程序执行时经常重复使用的程序段写成独立的执行时经常重复使用的程序段写成独立的一个程序,在适当时候利用一些指令直接一个程序,在适当时候利用一些指令直接调用,这样的独立程序即为子程序。调用,这样的独立程序即为子程序。4.3 加工中心程序编制实例加工中心程序编制实例编程实例:利用编程实例:利用LGMAZAK VTC-16A型加工中心加工如图型加工中心加工如图4-27所示工件。所示工件。工件毛坯材料为工件毛坯材料为 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)调用)调用 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)选择程序号)选择程序号程序在存储器中的位置决定了该程序程序在存储器中的位置决定了该程序的一些权限,根据程序的重要程度和使用的一些权限,根据程序的重要程度和使用频率用户可选择合适的程序号,具体见表频率用户可选择合适的程序号,具体见表4-8。(3)宏程序调用方法)宏程序调用方法 非模态调用(单纯调用):指一次非模态调用(单纯调用):指一次性调用宏程序主体,即宏程序只在一个程性调用宏程序主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:序段内有效,叫非模态调用。其格式为:G65 P_ _ _ _(宏程序号)(宏程序号)L_(重复(重复次数)次数)_ 一个引数是一个字母,对应于宏程序一个引数是一个字母,对应于宏程序中变量的地址,引数后边的数值赋给宏程中变量的地址,引数后边的数值赋给宏程序中对应的变量,同一语句中可以有多个序中对应的变量,同一语句中可以有多个引数引数。2变量(1)变量的表示)变量的表示一个变量由一个变量由#符号和变量号组成,如:符号和变量号组成,如:#i(i=1,2,3),也可用表达式来表示变量,也可用表达式来表示变量。(2)变量的使用)变量的使用(3)变量的赋值)变量的赋值 直接赋值直接赋值 引数赋值引数赋值(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;