数控编程基础课件

上传人:ra****d 文档编号:240987146 上传时间:2024-05-22 格式:PPT 页数:266 大小:8.15MB
返回 下载 相关 举报
数控编程基础课件_第1页
第1页 / 共266页
数控编程基础课件_第2页
第2页 / 共266页
数控编程基础课件_第3页
第3页 / 共266页
点击查看更多>>
资源描述
第章 数控编程基础第第4章数控编程根底章数控编程根底4.1 数控铣床编程数控铣床编程 4.2 加工中心编程加工中心编程 4.3 数控铣削、加工中心编程综合应用数控铣削、加工中心编程综合应用 小结小结 思考与练习题思考与练习题 第章 数控编程基础4.1 数控铣床编程数控铣床编程4.1.1 数控铣床概述数控铣床概述数控铣床数控铣床(加工中心加工中心)主要能铣削平面、主要能铣削平面、沟槽和曲面,还能加工复杂的型腔和凸台,沟槽和曲面,还能加工复杂的型腔和凸台,可进行钻削、镗削、螺纹切削等孔加工。数可进行钻削、镗削、螺纹切削等孔加工。数控铣床控铣床(加工中心加工中心)主轴安装铣削刀具,在加主轴安装铣削刀具,在加工程序控制下,安装工件的工作台沿着工程序控制下,安装工件的工作台沿着X、Y、Z三根坐标轴的方向运动,通过不断改三根坐标轴的方向运动,通过不断改变铣削刀具与工件之间的相对位置,可加工变铣削刀具与工件之间的相对位置,可加工出符合图纸要求的工件。数控铣床出符合图纸要求的工件。数控铣床(加工中加工中心心)配置的数控系统不同,使用的指令在定配置的数控系统不同,使用的指令在定义和功能上有一定的差异,但其根本功能和义和功能上有一定的差异,但其根本功能和编程方法还是相同的。加工中心与数控铣床编程方法还是相同的。加工中心与数控铣床的不同之处在于加工中心配备了刀库与自动的不同之处在于加工中心配备了刀库与自动换刀装置,可实现自动换刀。换刀装置,可实现自动换刀。第章 数控编程基础 1数控铣床的分类数控铣床的分类1)根据主轴位置布置分类根据主轴位置布置的不同,数控铣床可分为立式数控铣床(如图4.1所示)和卧式数控铣床(如图4.2所示)等。第章 数控编程基础图4.1立式数控铣床第章 数控编程基础图4.2卧式数控铣床第章 数控编程基础2)按系统功能分类按系统功能的不同,数控铣床可分为经济型数控铣床(如图4.3所示)、全功能数控铣床(如图4.4所示)、高速数控铣床(如图4.5所示)和龙门数控铣床(如图4.6所示)等。第章 数控编程基础图4.3经济型数控铣床第章 数控编程基础图4.4全功能数控铣床第章 数控编程基础图4.5高速数控铣床第章 数控编程基础图4.6龙门数控铣床第章 数控编程基础2数控铣床的主要功能数控铣床的主要功能数控铣床主要有以下功能:(1)平面直线插补功能(如图4.7所示)。(2)空间直线插补功能(如图4.8所示)。(3)平面圆弧插补功能(如图4.9所示)。(4)逼近圆弧插补功能(如图4.10所示)。第章 数控编程基础图4.7平面直线插补第章 数控编程基础图4.8空间直线插补第章 数控编程基础图4.9平面圆弧插补第章 数控编程基础图4.10逼近圆弧插补第章 数控编程基础(5)孔加工固定循环功能(如图4.11所示)。图4.11孔加工固定循环第章 数控编程基础4.1.2 数控铣床坐标系的设定数控铣床坐标系的设定1机床坐标系机床坐标系机床坐标系X、Y、Z是生产厂家在机床上设定的坐标系,其原点是机床上的一个固定点,作为数控机床运动部件的运动参考点。第章 数控编程基础2工件坐标系设定工件坐标系的目的是为了方便编程。设置工件坐标系原点的原那么是尽可能选择在工件的设计基准和工艺基准上,工件坐标系的坐标轴方向与机床坐标系的坐标轴方向保持一致。编程时,刀具轨迹相对于工件坐标系原点运动。工件坐标系的原点称为编程原点。第章 数控编程基础 3加工坐标系加工坐标系确定以加工原点为基准所建立的坐标系称为加工坐标系。加工原点也称程序原点,是指零件被装夹好后,相应的编程原点在机床坐标系中的位置。加工时,程序控制刀具相对于加工原点而运动。设置加工坐标系的目的是将编程原点转换为加工原点,并确定加工原点的位置,在数控系统中给予设定。图4.12所示为机床坐标系与工件坐标系的关系。第章 数控编程基础图4.12机床坐标系与工件坐标系的关系第章 数控编程基础4设置加工坐标系指令设置加工坐标系指令G92编程格式:G92X_Y_Z_;G92指令是将加工原点设定在相对于刀具起点的某一空间点上。例例4.1程序格式为G92X20Y10Z10;其确立的加工原点在距离刀具起点X20,Y10,Z10的位置上,如图4.13所示。每次执行程序时应将刀尖停在加工坐标系X20,Y10,Z10的位置上。第章 数控编程基础图4.13设置加工坐标系指令G92第章 数控编程基础5选择机床坐标系指令选择机床坐标系指令G53编程格式:编程格式:G53 G90 X_ Y_ Z_;G53指令使刀具快速定位到机床坐标系中的指定位置上,指令使刀具快速定位到机床坐标系中的指定位置上,其中其中X、Y、Z后的值为机床坐标系中的坐标值,其尺寸均后的值为机床坐标系中的坐标值,其尺寸均为负值。为负值。例例4.2 程序格式为程序格式为G53 G90 X100 Y100 Z20;那么执行后刀具在机床坐标系中的位置如图那么执行后刀具在机床坐标系中的位置如图4.14所示。所示。第章 数控编程基础图4.14选择机床坐标系指令G53第章 数控编程基础6选择16号加工坐标系指令G54G59G54G59指令可以分别用来选择相应的加工坐标系。编程格式:G54G90G00(G01)X_Y_Z_(F_);该指令执行后,所有坐标值指定的坐标尺寸都是选定的工件加工坐标系中的位置。16号加工坐标系是通过CRT/MDI方式设置的。第章 数控编程基础例4.3在图4.15中,用CRT/MDI在参数设置方式下设置了两个加工坐标系:G54(X50Y50Z10)G55(X100Y100Z20)这时,建立了原点在O的G54加工坐标系和原点在O的G55加工坐标系。假设执行下述程序段:G53G90X0Y0Z0;G54G90G01X50Y0Z0F100;G55G90G01X100Y0Z0F100;那么刀尖点的运动轨迹如图4.15中的OAB所示。第章 数控编程基础图4.15用CRT/MDI在参数设置方式下设置的两个加工坐标系第章 数控编程基础7本卷须知1)G54与G55G59的区别利用G54与利用G55G59设置加工坐标系的方法是一样的,但在实际情况下,机床厂家为了用户的不同需要,在使用中有以下区别:在利用G54设置机床原点的情况下,进行返回参考点操作时,机床坐标值显示为G54的设定值,且符号均为正;在利用G55G59设置加工坐标系的情况下,进行返回参考点操作时,机床坐标值显示零值。第章 数控编程基础2)G92与G54G59的区别G92指令与G54G59指令都是用于设定工件加工坐标系的,但在使用中是有区别的。G92指令是通过程序来设定、选用加工坐标系的。它所设定的加工坐标系原点与当前刀具所在的位置有关,这一加工原点在机床坐标系中的位置是随当前刀具位置的不同而改变的。G54G59指令是通过MDI在设置参数方式下设定工件加工坐标系的,一旦设定,加工原点在机床坐标系中的位置是不变的。它与刀具的当前位置无关,除非再通过MDI方式修改。第章 数控编程基础3)常见错误当执行程序段“G92X10Y10;时,常会认为是刀具在运行程序后到达X10,Y10的点上。其实,G92指令程序段只是设定加工坐标系,并不产生任何动作,这时刀具已在加工坐标系中X10,Y10的点上。G54G59指令程序段可以和G00、G01指令组合,如“G54G90G01X10Y10;,运动部件在选定的加工坐标系中进行移动。程序段运行后,无论刀具当前点在何处,它都会移动到加工坐标系中X10,Y10的点上。第章 数控编程基础4.1.3 数控铣床和加工中心程序中用到的各功能字数控铣床和加工中心程序中用到的各功能字(FANUC 0i系统系统)1G功能功能(准备功能准备功能)编程格式:G格式中,表示2位数。数控铣床和加工中心程序中常用的G功能指令代码如表4-1所示。第章 数控编程基础表4-1数控铣床和加工中心程序中常用的G功能指令代码第章 数控编程基础第章 数控编程基础2M功能功能(辅助功能辅助功能)编程格式:M格式中,表示2位数。辅助功能代码主要用于控制机床的辅助设备,如主轴、刀架和冷却泵的工作,由电器的通电与断电来实现其控制过程。数控铣床和加工中心程序中常用的M指令代码如表4-2所示。第章 数控编程基础表4-2数控铣床和加工中心程序中常用的M指令代码第章 数控编程基础3F、S、T功能功能1)F功能编程格式:F_;F功能用于控制刀具相对于工件的进给速度。速度指令范围为F0F24000,采用直接数值指定法,可由G94、G95分别指定F的单位是mm/min还是mm/r。注意:实际进给速度还受操作面板上进给速度修调倍率的控制。F表示主轴每转进给量,单位为mm/r;也可以表示进给速度,单位为mm/min。其量纲通过G(G95、G94)指令设定。第章 数控编程基础2)S功能编程格式:S_;S功能用于控制带动刀具旋转的主轴的转速,其后可跟5位数。主轴转速指令S表示主轴转速,单位为r/min;也可以表示切削速度,单位为m/min。其量纲通过G(G96、G97)指令设定。3)T功能编程格式:T_;T表示刀具地址符。可通过刀具补偿号调用刀具数据库内的刀具补偿参数。第章 数控编程基础4.1.4 数控铣床加工常用编程指令数控铣床加工常用编程指令1G90和和G91编程格式:G90;G91;说明:(1)G90指令用于建立绝对坐标输入方式,移动指令目标点的坐标值X、Y、Z表示刀具离开工件坐标系原点的距离。(2)G91指令用于建立增量坐标输入方式,移动指令目标点的坐标值X、Y、Z表示刀具离开当前点的坐标增量。第章 数控编程基础2.快速点定位快速点定位G00编程格式:G00X_Y_Z_;说明:(1)刀具以各轴内定的速度由起点(当前点)快速移动到目标点。(2)刀具运动轨迹与各轴快速移动速度有关。(3)刀具在起点开始加速至预定的速度,到达目标点前减速定位。例例4.4如图4.16所示,刀具从A点快速移动至C点,使用绝对坐标与增量坐标方式编程。第章 数控编程基础图4.16快速点定位第章 数控编程基础绝对坐标编程:G92X0Y0Z0;设工件坐标系原点、换刀点O与机床坐标系原点重合G90G00X15Y-40;刀具快速移动至Op点G92X0Y0;重新设定工件坐标系,换刀点Op与工件坐标系原点重合G00X20Y10;刀具快速移动至A点定位X60Y30;刀具从起点A快移至终点C第章 数控编程基础增量坐标编程:G92X0Y0Z0;G91G00X15Y-40;G92X0Y0;G00X20Y10;X40Y20;在上例中,刀具从A点移动至C点,假设机床内定的X轴和Y轴的快速移动速度是相等的,那么刀具实际运动轨迹为一折线,即刀具从起点A按X轴与Y轴的合成速度移动至点B,然后再沿X轴移动至终点C。第章 数控编程基础3.直线插补直线插补G01编程格式:G01X_Y_Z_F_;说明:(1)刀具按照F指令所规定的进给速度直线插补至目标点。(2)F代码是模态代码,在没有新的F代码替代前一直有效。(3)各轴实际的进给速度是F速度在该轴方向上的投影分量。(4)用G90或G91可以分别按绝对坐标方式或增量坐标方式编程。第章 数控编程基础例例4.5如图4.17所示,刀具从A点直线插补至B点,使用绝对坐标与增量坐标方式编程。G90G01X60Y30F200;或G91G01X40Y20F200;第章 数控编程基础图4.17直线插补第章 数控编程基础4.插补平面选择插补平面选择G17、G18、G19编程格式:G17_;G18_;G19_;说明:(1)G17表示选择XY平面。(2)G18表示选择ZX平面。(3)G19表示选择YZ平面。第章 数控编程基础5圆弧插补圆弧插补G02、G03G02指令表示顺时针圆弧插补;G03指令表示逆时针圆弧插补。1)XY平面圆弧插补指令(如图4.18所示)编程格式:G17G02(G03)X_Y_R_F_;或G17G02(G03)X_Y_I_J_F_;第章 数控编程基础图4.18XY插补平面第章 数控编程基础2)XZ平面圆弧插补指令(如图4.19所示)编程格式:G17G02(G03)X_Z_R_F_;或G17G02(G03)X_Z_I_K_F_;第章 数控编程基础图4.19XZ插补平面第章 数控编程基础3)YZ平面圆弧插补指令(如图4.20所示)编程格式:G17G02(G03)Y_Z_R_F_;或G17G02(G03)Y_Z_J_K_F_;第章 数控编程基础图4.20YZ插补平面第章 数控编程基础说明:(1)圆弧的顺、逆时针方向如图4.21所示,从圆弧所在平面的垂直坐标轴的负方向看去,顺时针方向为G02,逆时针方向为G03。(2)F规定了沿圆弧切向的进给速度。(3)X、Y、Z为圆弧终点坐标值,如果采用增量坐标方式G91,那么X、Y、Z表示圆弧终点相对于圆弧起点在各坐标轴方向上的增量。(4)I、J、K表示圆弧圆心相对于圆弧起点在各坐标轴方向上的增量,与G90或G91的定义无关。第章 数控编程基础图4.21顺、逆圆弧的区分第章 数控编程基础(5)R是圆弧半径,当圆弧所对应的圆心角为0180时,R取正值;当圆心角为180360时,R取负值。(6)I、J、K的值为零时可以省略。(7)在同一程序段中,如果I、J、K与R同时出现,那么R有效。例4.6如图4.22所示,设起刀点在坐标原点O,刀具沿ABC的路线切削加工,使用绝对坐标与增量坐标方式编程。第章 数控编程基础图4.22圆弧插补第章 数控编程基础绝对坐标编程:G92X0Y0Z0;设工件坐标系原点、机床坐标系原点与换刀点重合(参考点)G90G00X200Y40;刀具快速移动至A点G03X140Y100I60(或R60)F100;G02X120Y60I50(或R50);增量坐标编程:G92X0Y0Z0;G91G00X200Y40;G03X60Y60I60(或R60)F100;G02X20Y-40I50(或R50);第章 数控编程基础例例4.7如图4.23所示,起刀点在坐标原点O,从O点快速移动至A点,逆时针加工整圆,使用绝对坐标与增量坐标方式编程。绝对坐标编程:G92X0Y0Z0;G90G00X30Y0;G03I30J0F100;G00X0Y0;增量坐标编程:G92X0Y0Z0;G91G00X30Y0;G03I30J0F100;G00X30Y0;第章 数控编程基础图4.23整圆加工第章 数控编程基础6.暂停暂停G04G04指令用于刀具作短暂的无进给光整加工。编程格式:G04X_;或G04P_;说明:(1)地址码X可用小数,单位为s。(2)地址码P只能用整数,单位为ms。例例4.8欲停留1.5s时,程序段为G04P1500;第章 数控编程基础7.英制输入英制输入G20、米制输入、米制输入G21和脉冲当量和脉冲当量G22G20G22指令用于设定输入数据的量纲。编程格式:G20_;G21_;G22_;说明:(1)G20、G21是两个互相取代的G代码。(2)G21设定数据为米制量纲。(3)G20设定数据为英制量纲。(4)经设定后米制和英制量纲可混合使用。(5)G22设定脉冲当量输入。第章 数控编程基础8自动返回参考点自动返回参考点G28G28指令用于刀具经指定的中间点快速返回参考点。指令用于刀具经指定的中间点快速返回参考点。编程格式:编程格式:G28 X_ Y_ Z_;说明:说明:(1)坐标值坐标值X、Y、Z为中间点坐标。为中间点坐标。(2)刀具返回参考点时防止与工件或夹具发生干预。刀具返回参考点时防止与工件或夹具发生干预。(3)通常通常G28指令用于返回参考点后自动换刀,执行该指令用于返回参考点后自动换刀,执行该指令前必须取消刀具半径补偿和刀具长度补偿。指令前必须取消刀具半径补偿和刀具长度补偿。第章 数控编程基础G28指令中参考点的含义是:如果没有设定换刀点,那么参考点指的是回零点,即刀具返回至机床的极限位置;如果设定了换刀点,那么参考点指的是换刀点,通过返回参考点能消除刀具在运行过程中的插补累积误差。指令中设置中间点的意义是设定刀具返回参考点的走刀路线。如“G91G28X0Z0;表示刀具先从Y轴的方向返回至Y轴的参考点位置,然后从X轴的方向返回至X轴的参考点位置,最后从Z轴的方向返回至Z轴的参考点位置。第章 数控编程基础9.从参考点移动至目标点G29G29指令用于将刀具从参考点经过指定的中间点快速移动到目标点。编程格式:G29X_Y_Z_;说明:(1)返回参考点后执行该指令,刀具从参考点出发,以快速点定位的方式,经过由G28所指定的中间点到达由坐标值X、Y、Z所指定的目标点位置。(2)X、Y、Z表示目标点坐标值,G90指令表示目标点为绝对值坐标方式,G91指令表示目标点为增量值坐标方式。(3)如果在G29指令前,没有用G28指令设定中间点,执行G29指令时,那么以工件坐标系零点作为中间点。第章 数控编程基础例例4.9 假设各坐标点位置如图假设各坐标点位置如图4.24(a)所示,那么可编程如所示,那么可编程如下:下:G90 G28 Xx2 Yy2 Zz2;回参考点回参考点M00(或或TxxM6);暂停换刀暂停换刀G90 G29 Xx3 Yy3 Zz3;返回到新位置点返回到新位置点或或 G91 G28 X(x2x1)Y(y2y1)Z(z2z1);M00(或或TxxM6);G29X(x3x2)Y(y3y2)Z(z3z2);第章 数控编程基础由于G28、G29是采用G00一样的移动方式,其行走轨迹常为折线,较难预计,因此在使用上经常将X、Y和Z分开来用。先用G28Z提刀并回Z轴参考点位置,然后再用G28XY回到XY方向的参考点,如图4.24(b)所示。自动编程软件往往采用“G91G28Z0;和“G91G28X0Y0;,以当前点为中间点的方式生成程序。第章 数控编程基础图4.24自动返回参考点指令第章 数控编程基础10.刀具半径补偿G41、G42与取消刀具半径补偿G401)刀具半径补偿G41、G42数控系统根据工件轮廓和刀具半径自动计算刀具中心轨迹,控制刀具沿刀具中心轨迹移动,加工出所需要的工件轮廓,编程时防止计算复杂的刀心轨迹。如图4.25左图所示,沿刀具进刀方向看,刀具中心在零件轮廓左侧,那么为刀具半径左补偿,用G41指令;如图4.25右图所示,沿刀具进刀方向看,刀具中心在零件轮廓右侧,那么为刀具半径右补偿,用G42指令。第章 数控编程基础图4.25刀具半径补偿位置判断第章 数控编程基础编程格式:G41G00(G01)X_Y_H(或D)_;G42G00(G01)X_Y_H(或D)_;说明:(1)X、Y、表示刀具移动至工件轮廓上点的坐标值。(2)H(或D)为刀具半径补偿存放器地址符,存放器存储刀具半径补偿值。(3)通过G00或G01指令建立刀具半径补偿。第章 数控编程基础2)取消刀具半径补偿G40编程格式:G00(G01)G40X_Y_;说明:(1)指令中的X、Y表示刀具轨迹中取消刀具半径补偿点的坐标值。(2)通过G00或G01指令取消刀具半径补偿。(3)G40必须和G41或G42成对使用。第章 数控编程基础例例4.10图4.26所示方形零件轮廓考虑刀补后编写的程序如下:O0003;G54G90G17G00M03;由G17指定刀补平面G41X20Y10D01;刀补引入,由G41确定刀补方向,由D01指定刀补大小G01Y50F100;X50;Y20;X10;G00G40X0Y0M05;由G40解除刀补M30;第章 数控编程基础图4.26刀补加载和解除的过程第章 数控编程基础早期的数控机床刀具补偿功能还不完善,其刀径补偿都是一段一段独立计算的,这时进行中的刀补路线都是从每一段线段起点的法向矢量走到该线段终点的法向矢量处,当两段线间呈尖角过渡时,这种刀补法的刀补路线将无法自动从前段线接续到下一段线,因而出现脱节现象。为此,有的控制系统要求预先对所有的尖角都进行倒圆处理,以确保前后之间能顺滑连接。第章 数控编程基础有的控制系统那么是在编程时对尖角处预先增加尖角处理指令,将前后两段线用合理的路线连接起来。比方,FANUC-3MA控制系统使用的B功能刀补,就是采用尖角圆弧插补G39指令来处理尖角的。现代数控机床的刀补功能已相当完善,如使用C功能刀补的机床根本上都是采用预先读入前后几段线,进行平行偏移计算,求解出刀具中心偏移线的交点,作为前段线的终点,同时又是下一段线的起点,从而得到刀补轨迹的。当偏移计算得出的交点与原轮廓转角尖点偏离太远时,那么自动插入转折型刀具路径,如图4.27所示。第章 数控编程基础图4.27尖角刀补处理第章 数控编程基础11.刀具长度补偿刀具长度补偿G43、G44、G49编程格式:G43G00(G01)Z_H_;G44G00(G01)Z_H_;G49G00(G01)Z;说明:(1)G43指令为刀具长度正补偿。(2)G44指令为刀具长度负补偿。(3)G49指令为取消刀具长度补偿。(4)刀具长度补偿指刀具在Z方向的实际位移比程序给定值增加或减少一个偏置值。(5)格式中的Z值是指程序中的指令值。第章 数控编程基础(6)H为刀具长度补偿代码,后面两位数字是刀具长度补偿存放器的地址符。H01指01号存放器,在该存放器中存放对应刀具长度的补偿值。H00存放器必须设置刀具长度补偿值为0,调用时起取消刀具长度补偿的作用,其余存放器存放刀具长度补偿值;刀长补偿号可用H00H99来指定。执行G43时,Z实际值Z指令值H_中的偏置值。执行G44时,Z实际值Z指令值H_中的偏置值。例4.11在图4.28中,A点为刀具起点,加工路线为123456789。要求刀具在工件坐标系零点Z轴方向向下偏移3mm,按增量坐标方式编程(提示把偏置量3mm存入地址为H01的存放器中)。第章 数控编程基础图4.28刀具长度补偿第章 数控编程基础G91G00X70Y45S800M03;G43Z-22H01;G01Z-18F100M08;G04X5;G00Z18;X30Y-20;G01Z-33F100;G00G49Z55M09;X-100Y-25;M30;第章 数控编程基础刀具长度补偿指令通常用在下刀及提刀的直线段程序G00或G01中。使用多把刀具时,通常是每一把刀具对应一个刀长补偿号。下刀时使用G43或G44,该刀具加工结束后提刀时使用G49取消刀长补偿。例例4.12如图4.29所示,考虑刀具长度补偿时编程如下:设(H02)200mm时:G92X0Y0Z0;设定当前点O为程序零点G90G00G44Z10H02;程序指定刀尖到点A,刀尖实际到点BG01Z20;刀尖实际到点CZ10;刀尖实际返回点BG00G49Z0;刀尖实际返回点O第章 数控编程基础设(H02)200mm时:G92X0Y0Z0;G90G00G43Z10H02;G91G01Z30;Z30;G00G49Z10;第章 数控编程基础图4.29长度补偿应用第章 数控编程基础4.1.5 子程序子程序1.子程序的概念子程序的概念在一个加工程序中,假设其中有些加工内容完全相同或在一个加工程序中,假设其中有些加工内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,相似,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,那么可通过调用指令来调用该子程序,子程要某一子程序,那么可通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。序执行完后又返回到主程序,继续执行后面的程序段。1)子程序的嵌套子程序的嵌套为了进一步简化程序,可以让子程序调用另一个子程序,为了进一步简化程序,可以让子程序调用另一个子程序,这种程序的结构称为子程序嵌套。在编程中使用较多的是二这种程序的结构称为子程序嵌套。在编程中使用较多的是二重嵌套,其程序的执行情况如图重嵌套,其程序的执行情况如图4.30所示。所示。第章 数控编程基础2)子程序的应用(1)在零件上假设干处具有相同的轮廓形状的情况下,只需编写一个加工该轮廓形状的子程序,然后用主程序屡次调用该子程序即可完成对工件的加工。(2)加工中反复出现具有相同轨迹的走刀路线,如果相同轨迹的走刀路线出现在某个加工区域或在这个区域的各个层面上,那么采用子程序编写加工程序比较方便,在程序中常用增量值确定切入深度。(3)在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间需要作适当的调整,为了优化加工程序,可把每一个独立的工序编成一个子程序,这样可形成模块式的程序结构,便于对加工顺序进行调整,主程序中只有换刀和调用子程序等指令。第章 数控编程基础图4.30子程序的嵌套第章 数控编程基础2.调用子程序调用子程序98编程格式:编程格式:M98 P_ ;说明:说明:P_为要调用的子程序号;为要调用的子程序号;为重复调用子程序的为重复调用子程序的次数,假设只调用一次子程序可省略不写,系统允许重复次数,假设只调用一次子程序可省略不写,系统允许重复调用次数为调用次数为19999次。次。第章 数控编程基础3.子程序结束子程序结束M99编程格式:编程格式:M99;说明:说明:(1)执行到子程序结束指令执行到子程序结束指令M99后,返回至主程序,后,返回至主程序,继续执行继续执行M98 P_ 程序段下面的主程序。程序段下面的主程序。(2)假设子程序结束指令用假设子程序结束指令用“M99 P_;格式,那;格式,那么表示执行完子程序后,返回到主程序中由么表示执行完子程序后,返回到主程序中由P_指定的程指定的程序段。序段。(3)假设在主程序中插入假设在主程序中插入M99程序段,那么执行完该程序段,那么执行完该指令后返回到主程序的起点。指令后返回到主程序的起点。第章 数控编程基础(4)假设在主程序中插入M99程序段,当程序跳步选择开关为“OFF时,那么返回到主程序的起点;当程序跳步选择开关为“ON时,那么跳过M99程序段,执行其下面的程序段。(5)假设在主程序中插入M99P_程序段,当程序跳步选择开关为“OFF时,那么返回到主程序中由P_指定的程序段;当程序跳步选择开关为“ON时,那么跳过该程序段,执行其下面的程序段。第章 数控编程基础4.子程序的格式子程序的格式编程格式:编程格式:O(或:或:);M99;说明:其中说明:其中O(或:或:)为子程序号,为子程序号,“O是是EIA代码,代码,“:是:是ISO代码。代码。例例4.13 如图如图4.31所示等距孔钻削加工,用子程序编程。所示等距孔钻削加工,用子程序编程。主程序:主程序:O0001;G92 X0 Y0 Z50;G90 G00 X15 Y20;G43 Z3 H01 S630 M03 M08;第章 数控编程基础M98P100L5;G90G49Z3M09;G28Z50M05;G28X0Y0M30;子程序:O100;G91G00X10Y5G01Z15F50;G04P1;G00Z15;M99;第章 数控编程基础图4.31等距孔钻削加工第章 数控编程基础4.1.6 缩放、旋转和镜像程序指令缩放、旋转和镜像程序指令1缩放缩放G51、G50使用缩放指令可实现用同一个程序加工出形状相同,但尺寸不同的工件。编程格式:G51X_Y_Z_P_;G50;说明:(1)X、Y、Z应是缩放中心的坐标值,P后跟缩放倍数。(2)G51既可指定平面缩放,也可指定空间缩放;G50是缩放取消指令。第章 数控编程基础例例4.14如图4.32所示,缩放加工编程如下:主程序:O0002;G92X0Y0Z25;G90G00Z5M03;G01Z18F100;M98P100;G01Z28;G51X15Y15P2;缩放中心(15,15),放大2倍M98P100;G50;G00Z25M05M30;第章 数控编程基础图4.32缩放图例第章 数控编程基础子程序:O100;G41G00X10Y4D01;G01Y30;X20;G03X30Y20I10;G01Y10;X5;G40G00X0Y0;M99;第章 数控编程基础2旋转变换旋转变换G68、G69编程格式:G17G68XYP;G18G68XZP;G19G68YZP;G69;其中:X、Y、Z是旋转中心的坐标值;P为旋转角度,单位为度,取值范围为0360;G68表示坐标旋转功能有效;G69表示取消坐标旋转功能。例例4.15如图4.33所示零件,采用旋转变换处理,分别旋转90、180、270后得到的效果,编程如下:第章 数控编程基础图4.33旋转、镜像图例第章 数控编程基础主程序:O0003;G92X0Y0Z25;G90G17G00Z5M03;M98P100;G68X0Y0P90;M98P100;G69;G68X0Y0P180;第章 数控编程基础M98P100;G69;G68X0Y0P270;M98P100;G69;Z25M05M30;第章 数控编程基础子程序:O100;G41X10Y4D01;Y5;G01Z28F200;Y30;X20;G03X30Y20I10;G01Y10;X5;G00Z5;G40X0Y0;M99;第章 数控编程基础3镜像镜像G24、G25(HCNC-1M系统系统)当工件具有相对于某一轴对称的形状时,可以利用镜当工件具有相对于某一轴对称的形状时,可以利用镜像功能和子程序的方法,只对工件的一局部进行编程,就像功能和子程序的方法,只对工件的一局部进行编程,就能加工出工件的整体,这就是镜像功能。当某一轴的镜像能加工出工件的整体,这就是镜像功能。当某一轴的镜像有效时,该轴执行与编程方向相反的运动。有效时,该轴执行与编程方向相反的运动。G24表示镜像设置开始;表示镜像设置开始;G25表示取消镜像设置。表示取消镜像设置。编程格式:编程格式:G24 X Y Z ;G25 X_ Y_ Z_;第章 数控编程基础例4.16如图4.33所示零件,采用镜像功能,先按Y轴镜像(镜像轴X0),在不取消Y轴镜像的情形下,接着进行X轴镜像(镜像轴Y0),然后取消Y轴镜像,最后再取消X轴镜像。每次镜像设定后,调用运行一次根本图形加工子程序,共得到四个不同方位的加工轨迹,编程如下:%0001;G92X0Y0Z25;G90G17G00Z5M03;M98P100;G24X0;M98P100;第章 数控编程基础G24Y0;M98P100;G25X0;M98P100;G25Y0;Z25M05M30;%100;G41X10Y4D01;第章 数控编程基础Y5;G01Z28F200;Y30;X20;G03X30Y20I10;G01Y10;X5;G00Z5;G40X0Y0;M99;第章 数控编程基础当采用绝对编程方式时,如“G24X9;表示图形将以X9的直线(平行Y轴的线)作为对称轴,“G24X6Y4;表示先以X=6对称,然后再以Y4对称,两者综合结果即相当于以点(6,4)为对称中心的原点对称图形。某轴对称一经指定,持续有效,直到执行G25且后跟该轴指令才取消。例如,“G25X0;表示取消前面的由“G24X产生的关于Y轴方向的对称,此时X后所带的值根本无意义,即任意数值均一样。先执行“G24X,其间没有执行“G25X,后来又执行“G24Y,那么对称效果是两者的综合。假设执行G25后不带坐标的指令,那么将取消最近一次指定的对称关系。第章 数控编程基础4.1.7 孔加工固定循环孔加工固定循环1.孔加工固定循环的运动与动作孔加工固定循环的运动与动作以立式数控机床加工为例,钻、镗固定循环动作分解如图4.34所示。第章 数控编程基础图4.34固定循环动作分解第章 数控编程基础(1)X和Y轴快速定位到孔中心的位置上。(2)快速运行到靠近孔上方的平安高度平面(R点平面)。(3)钻、镗孔(工进)。(4)在孔底做需要的动作。(5)退回到平安平面高度或初始平面高度。(6)快速退回到初始点的位置。第章 数控编程基础在固定循环动作分解中,涉及到以下三个平面:初始平面。初始平面是为平安操作而设定的定位刀具的平面。初始平面到零件外表的距离可以任意设定。假设使用同一把刀具加工假设干个孔,当孔间存在障碍需要跳跃或全部孔加工完成时,用G98指令使刀具返回到初始平面,否那么,在中间加工过程中可用G99指令使刀具返回到R点平面,这样可缩短加工辅助时间。R点平面。R点平面又叫R参考平面。这个平面表示刀具从快进转为工进的转折位置。R点平面距工件外表的距离主要应考虑工件外表形状的变化,一般可取25mm。孔底平面。Z表示孔底平面的位置,加工通孔时刀具伸出工件孔底平面一段距离,保证通孔全部加工到位,钻削盲孔时应考虑钻头钻尖对孔深的影响。第章 数控编程基础2.选择加工平面及孔加工轴线选择加工平面及孔加工轴线选择加工平面有G17、G18和G19三条指令,分别对应XY、XZ和YZ三个加工平面,以及分别对应Z轴、Y轴和X轴三个孔加工轴线。对于立式数控铣床孔加工,只能在XY平面内使用Z轴作为孔加工轴线,与平面选择指令无关。下面主要讨论立式数控铣床孔加工固定循环指令。第章 数控编程基础3.孔加工固定循环指令格式孔加工固定循环指令格式编程格式:编程格式:G90(G91)G99(G98)G73(G89)X Y Z R Q P F S L ;G98、G99为孔加工完后的回退方式指令;为孔加工完后的回退方式指令;G98为返回初为返回初始平面高度处指令;始平面高度处指令;G99为返回平安平面高度处指令。为返回平安平面高度处指令。当某孔加工完后还有其他同类孔需要继续加工时,一般使用当某孔加工完后还有其他同类孔需要继续加工时,一般使用G99指令;只有当全部同类孔都加工完成后,或孔间有比较高指令;只有当全部同类孔都加工完成后,或孔间有比较高的障碍需跳跃时,才使用的障碍需跳跃时,才使用G98指令,这样可节省抬刀时间。指令,这样可节省抬刀时间。G73、G74、G76与与G80G89为孔加工方式指令,对应为孔加工方式指令,对应的固定循环功能见表的固定循环功能见表4-3。第章 数控编程基础表4-3固定循环功能第章 数控编程基础第章 数控编程基础说明:(1)X、Y为孔位中心的坐标。(2)Z为孔底的Z坐标(G90时为孔底的绝对Z值,G91时为R点平面到孔底平面的Z坐标增量)。(3)R为平安平面的Z坐标(G90时为R点,平面的绝对Z值,G91时为从初始平面到R点平面的Z坐标增量)。(4)Q在G73、G83间歇进给方式中,为每次加工的深度;在G76、G87方式中,为横移距离;在固定循环有效期间是模态值。第章 数控编程基础(5)P为孔底暂停的时间,用整数表示,单位为ms,仅对G82、G88、G89有效。(6)F为进给速度。(7)S为机床主轴转速。(8)L为重复循环的次数,L1可不写,L0将不执行加工,仅存储加工数据。第章 数控编程基础4.各种孔加工方式说明各种孔加工方式说明1)高速深孔钻高速深孔钻G73孔加工动作如图孔加工动作如图4.35(a)所示,所示,G73指令用于深孔钻削,指令用于深孔钻削,Z轴方向的间断进给有利于深孔加工过程中断屑与排屑。轴方向的间断进给有利于深孔加工过程中断屑与排屑。指令指令Q为每一次进给的加工深度为每一次进给的加工深度(增量值且为正值增量值且为正值),图示,图示中退刀距离中退刀距离“d由数控系统内部设定。由数控系统内部设定。第章 数控编程基础2)深孔钻G83孔加工动作如图4.35(b)所示,G83指令与G73指令略有不同的是,每次刀具间歇进给后回退至R点平面,这种退刀方式排屑畅通,此处的“d表示刀具间断进给每次下降时由快进转为工进的那一点至前一次切削进给下降的点之间的距离,“d值由数控系统内部设定。由此可见,这种钻削方式适宜加工深孔。第章 数控编程基础图4.35G73、G83、G74、G84指令图解第章 数控编程基础3)攻左旋螺纹G74与攻右旋螺纹G84如图4.35(c)、(d)所示,使用G74指令,主轴左旋攻螺纹,至孔底后正转返回,到R点平面后主轴又恢复反转。如果使用G84指令,主轴右旋攻螺纹,至孔底后反转返回,到R点平面后主轴又恢复正转。如果在程序段中暂停指令P有效,那么在刀具到达孔底后先执行暂停动作,然后改变主轴转动方向后返回。第章 数控编程基础4)精镗孔G76孔加工动作如图4.36(a)所示,图中OSS表示主轴准停,Q表示刀具移动量(规定为正值,假设使用了负值那么负号被忽略)。在孔底主轴定向停止后,刀头按地址Q所指定的偏移量移动,然后提刀,刀头的偏移量在G76指令中设定。采用这种镗孔方式可以高精度、高效率地完成孔加工而不损伤工件外表。5)钻孔G81与锪孔G82如图4.36(b)所示,G82与G81指令相比较,惟一不同之处是:G82指令在孔底增加了暂停,因而适用于锪孔或镗阶梯孔,提高了孔台阶外表的加工质量;而G81指令只用于一般要求的钻孔。第章 数控编程基础图4.36G76、G81、G82、G85、G89、G86指令图解第章 数控编程基础6)精镗孔G85与精镗阶梯孔G89如图4.36(c)所示,刀具以切削进给的方式加工到孔底,然后又以切削进给的方式返回R点平面,因此G85和G89两种孔加工方式适用于精镗孔等情况。G89指令在孔底增加了暂停,以提高阶梯孔台阶外表的加工质量。第章 数控编程基础7)镗孔G86如图4.36(d)所示,加工到孔底后主轴停止,返回初始平面或R点平面后,主轴再重新启动。如果连续加工的孔间距较小,那么采用这种方式可能会出现刀具已经定位到下一个孔加工的位置而主轴尚未到达指定的转速,为此可以在各孔动作之间参加暂停指令G04,使主轴获得指定的转速。第章 数控编程基础8)反镗孔G87如图4.37(a)所示,X轴和Y轴定位后,主轴停止,刀具以与刀尖相反方向按指令Q设定的偏移量移动,并快速定位到孔底,在该位置刀具按原偏移量返回,然后主轴正转,沿Z轴正向加工到Z点,在此位置主轴再次停止后,刀具再次按原偏移量反向移动,然后主轴向上快速移动到达初始平面,并按原偏移量返回后主轴正转,继续执行下一个程序段。采用这种循环方式,刀具只能返回到初始平面而不能返回到R点平面。第章 数控编程基础9)镗孔G88如图4.37(b)所示,刀具到达孔底后暂停,暂停结束后主轴停止且系统进入进给保持状态,在此情况下可以执行手动操作,但为了平安起见应先把刀具从孔中退出,再启动加工按循环启动按钮,刀具快速返回到R点平面或初始点平面,然后主轴正转。第章 数控编程基础图4.37G87、G88指令图解第章 数控编程基础5点位加工编程实例与调试点位加工编程实例与调试例例4.17如图4.38(a)所示零件,共有13个孔,需要使用三把直径不同的刀具,其刀具号、刀具直径和刀杆长度如图4.38(b)所示,分别按H11200,H15190,H31150设置刀具长度补偿。全部都是钻、镗点位加工,不需使用刀具半径补偿,均采用钻镗固定循环编程。G92X0Y0Z0;G90G00Z250T11M06;G43Z0H11;S30M03;G99G81X400.0Y350Z153R97F120;Y550;第章 数控编程基础G98Y750;G99X1200;Y550;G98Y350;G00X0Y0M05;G49Z250T15M06;G43Z0H15;S20M03;G99G82X550Y450Z130R97F70;G98Y650;G99X1050;第章 数控编程基础G98Y450;G00X0Y0M05;G49Z250T31M06;G43Z0H31;S10M03;G85G99X800Y350;Z153R47F50;G91Y200L2;G28X0Y0M05;G49Z0M02;第章 数控编程基础图4.38固定循环编程图例第章 数控编程基础4.1.8 宏功能、宏指令宏功能、宏指令1A类宏功能应用类宏功能应用用户宏功能是提高数控机床性能的一种特殊功能。使用中,通常把能完成某一功能的一系列指令像子程序一样存入存储器,然后用一个总指令代表它们,使用时只需给出这个总指令就能执行其功能。用户宏功能主体是一系列指令,相当于子程序体。它既可以由机床生产厂提供,也可以由机床用户自己编制。宏指令是代表一系列指令的总指令,相当于子程序调用指令。用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。用户宏功能有A、B两类。这里主要介绍A类宏功能。A类宏功能主要用于数控铣床中。第章 数控编程基础在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。1)变量的表示变量可以用“#号和跟随其后的变量序号来表示,即#i(i1,2,3,)例如#5,#109,#501等。2)变量的引用跟随在一个地址后的数值用一个变量来代替,即引入了变量。例4.18对于F#103,假设#10350,那么F为50;对于Z#110,假设#110100,那么Z为100;对于G#130,假设#1303,那么G为03。第章 数控编程基础3)变量的类型0MC系统的变量分为公共变量和系统变量两类。(1)公共变量。公共变量是在主程序和主程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。公共变量的序号为#100#131和#500#531。其中:#100#131公共变量在电源断电后即清零,重新开机时被设置为“0;#500#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。第章 数控编程基础(2)系统变量。有固定用途的变量称为系统变量,它的值决定系统的状态。系统变量包括刀具偏置变量、接口的输入/输出信号变量、位置信息变量等。系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01#99,这些值可以用变量替换的方法加以改变,在序号199中,不用作刀偏量的变量可用作保持型公共变量#500#531。接口输入信号为#1000#1015与#1032。通过阅读这些系统变量,可以知道各输入口的情况。当变量值为“1时,说明接点闭合;当变量值为“0时,说明接点断开。这些变量的数值不能被替换。阅读变量#1032,那么表示所有输入信号一次读入。第章 数控编程基础2宏指令宏指令G65宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。一般形式:G65HmP#iQ#jR#k;其中:m宏程序功能,数值范围为0199;#I运算结果存放处的变量名;#j被操作的第一个变量,也可以是一个常数;#k被操作的第二个变量,也可以是一个常数。第章 数控编程基础例例4.19 当程序功能为加法运算时:当程序功能为加法运算时:程序程序“P#100 Q#101 R#102;的含义为;的含义为#100#101#102;程序程序“P#100 Q#101 R#102;的含义为;的含义为#100#101#102;程序程序“P#100 Q#101 R15;的含义为;的含义为#100#10115。3宏功能指令宏功能指令1)算术运算指令算术运算指令算术运算指令见表算术运算指令见表4-4。第章 数控编程基础表4-4算术运算指令第章 数控编程基础第章 数控编程基础(1)变量的定义和替换#i#j。编程格式:G65H01P#iQ#j;例4.20“G65H01P#101Q1005;表示#1011005;“G65H01P#101Q#112;表示#101#112。(2)加法#i#j#k。编程格式:G65H02P#iQ#jR#k;例4.21“G65H02P#101Q#102R#103;表示#101#102#103。第章 数控编程基础(3)减法#i#j#k。编程格式:G65H03P#iQ#jR#k;例4.22“G65H03P#101Q#102R#103;表示#101#102#103。(4)乘法#i#j#k。编程格式:G65H04P#iQ#jR#k;例4.23“G65H04P#101Q#102R#103;表示#101#102#103。第章 数控编程基础(5)除法#i#j/#k。编程格式:G65H05P#iQ#jR#k;例例4.24“G65H05P#101Q#102R#103;”表示#101#102/#103。(6)平方根#i。编程格式:G65H21P#iQ#j;例例4.25“G65H21P#101Q#102;”表示#101。第章 数控编程基础(7)绝对值#i|#j|。编程格式:G65H22P#iQ#j;例例4.26“G65H22P#101Q#102;”表示#101|#102|。(8)复合平方根1#i。编程格式:G65H27P#iQ#jR#k;例例4.27“G65H27P#101Q#102R#103;”表示#101=。第章 数控编程基础(9)复合平方根2#i。编程格式:G65H28P#iQ#jR#k;例例4.28“G65H28P#101Q#102R#103;”表示#101。2)逻辑运算指令逻辑运算指令见表4-5。第章 数控编程基础表4-5逻辑运算指令第章 数控编程基础(1)逻辑或#i#jOR#k。编程格式:G65H11P#iQ#jR#k;例4.29“G65H11P#101Q#102R#103;表示#101#102OR#103。(2)逻辑与#i#jAND#k。编程格式:G65H12P#iQ#jR#k;例4.30“G65H12P#101Q#102R#103;表示#101#102AND#103。3)三角函数指令三角函数指令见表4-6。第章 数控编程基础表4-6三角函数指令第章 数控编程基础(1)正弦函数#i#jSIN(#k)。编程格式:G65H31P#iQ#jR#k;(单位:度)例4.31“G65H31P#101Q#102R#103;表示#101#102SIN(#103)。(2)余弦函数#i#jCOS(#k)。编程格式:G65H32P#iQ#jR#k;(单位:度)例4.32“G65H32P#101Q#102R#103;表示#101#102COS(#103)。第章 数控编程基础(3)正切函数#i#jTAN(#k)。编程格式:G65H33P#iQ#jR#k;(单位:度)例4.33“G65H33P#101Q#102R#103;表示#101#102TAN(#103)。(4)反正切函数#iATAN(#j/#k)。编程格式:G65H34P#iQ#jR#k;(单位:度,0#j360)例4.34“G65H34P#101Q#102R#103;表示#101ATAN(#102/#103)。4)控制类指令控制类指令见表4-7。第章 数控编程基础表4-7控制类指令第章 数控编程基础(1)无条件转移。编程格式:G65H80Pn(n为程序段号);例4.35“G65H80P120;表示转移到N120程序段。(2)条件转移1#jEQ#k()。编程格式:G65H81PnQ#jR#k(n为程序段号);例4.36“G65H81P1000Q#101R#102;表示当#101#102时,转移到N1000程序段;当#101#102时,执行下一程序段。第章 数控编程基础(3)条件转移2#jNE#k()。编程格式:G65H82PnQ#jR#k(n为程序段号);例4.37“G65H82P1000Q#101R#102;表示当#101#102时,转移到N1000程序段;当#101#102时,执行下一程序段。(4)条件转移3#jGT#k()。编程格式:G65H83PnQ#jR#k(n为程序段号);例4.38“G65H83P1000Q#101R#102;表示当#101#102时,转移到N1000程序段;当#101#102时,执行下一程序段。第章 数控编程基础(5)条件转移4#jLT#k(。编程格式:G65H84PnQ#jR#k(n为程序段号);例4.39“G65H84P1000Q#101R#102;表示当#101#102时,转移到N1000程序段;当#101#102时,执行下一程序段。(6)条件转移5#jGE#k()。编程格式:G65H85PnQ#jR#k(n为程序段号);例4.40“G65H85P1000Q#101R#102;表示当#101#102时,转移到N1000程序段;当#101#102时,执行下一程序段。第章 数控编程基础(7)条件转移6#jLE#k()。编程格式:G65H86PnQ#jQ#k(n为程序段号);例4.41“G65H86P1000Q#101R#102;表示当#101#102时,转移到N1000程序段;当#101#102时,执行下一程序段。第章 数控编程基础4使用本
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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