1、第四章 数控铣床的程序编程,一、有关坐标和坐标系的指令 (1)、绝对值编程G90与增量值编程G91 格式: G90 G X Y Z G91 G X Y Z,注意:铣床编程中增量编程不能用U、W. 如果用,就表示为U轴、W轴.,第一节 数控铣床编程的基本方法,注意:铣床中X轴不再是直径.,例:刀具由原点按顺序向1、2、3点移动时用G90、G91指令编程。,(2)、工件坐标系设定G92 格式:G92 X_ Y_ Z_ X、Y、Z、为当前刀位点在工件坐标系中的坐标。G92指令通过设定刀具起点相对于要建立的工件坐标原点的位置建立坐标系。 此坐标系一旦建立起来,后序的绝对值指令坐标位置都是此工件坐标系中
2、的坐标值。,说明,G92 设置加工坐标系,G92 X X2 Y Y2 Z Z2 则将工件原点设定到距刀具起始点距离为X= -X2,Y= -Y2 ,Z= -Z2 的位置上。,(3)、工件坐标系选择 G54-G59,说明,1、G54G59是系统预置的六个坐标系,可根据需要选用。 2、该指令执行后,所有坐标值指定的坐标尺寸都是选定的工件加工坐标系中的位置。16号工件加工坐标系是通过CRT/MDI方式设置的。 3、G54G59预置建立的工件坐标原点在机床坐标系中的坐标值可用MDI方式输入,系统自动记忆。 4、使用该组指令前,必须先回参考点。 5、G54G59为模态指令,可相互注销。,(4)、G53 -
3、选择机床坐标系 编程格式:G53 G90 X Y Z ; G53 指令使刀具快速定位到机床坐标系中的指定位置上,式中X、Y、Z后的值为机床坐标系中的坐标值。 例:G53 X-100 Y-100 Z-20 G53为非模态指令,只在当前程序段有效. (5)、G52 局部坐标系设定 编程格式:G52 X Y Z ; 式中X、Y、Z后的值为局部原点相对工件原点的坐标值。,几个坐标系指令应用举例 如图所示从A-B-C-D行走路线,编程如下 N01 G54 G00 G90 X30.0 Y40.0 快速移到G54中的A点 N02 G59 将G59置为当前工件坐标系 N03 G00 X30.0 Y30.0 移
4、到G59中的B点 N04 G52 X45.0 Y15.0 在当前工件坐标系G59中建立局部坐标系G52 N05 G00 G90 X35.0 Y20.0 移到G52中的C点 N06 G53 X35.0 Y35.0 移到G53(机械坐标系)中的D点 ,二、坐标平面选定,坐标平面选择 G17,G18,G19 格式: G17G18G19,G17 XY平面,G18 ZX平面,G19 YZ平面。坐标平面选择指令是用来选择圆弧插补的平面和刀具补偿平面的。G17、G18、G19为模态功能,可相互注销,G17为缺省值。,三、 参考点控制指令,(1)、自动返回参考点 G28 格式: G28 X _ Y _ Z _
5、 其中,X、Y、Z 为指定的中间点位置。,说明: 执行G28指令时,各轴先以G00的速度快移到程序指 令的中间点位置,然后自动返回参考点。 在使用上经常将XY和Z分开来用。先用G28 Z.提刀并回Z轴参考点位置,然后再用G28 X.Y.回到XY方向的参考点。 在G90时为指定点在工件坐标系中的坐标;在G91时为指令点相对于起点的位移量,G28指令前要求机床在通电后必须 (手动) 返回过一次参考点。 使用G28指令时,必须预先取消刀具补偿。 G28为非模态指令。,参考点控制指令(G29),(2)、自动从参考点返回G29 格式: G29 X _ Y _ Z 其中,X、Y、Z 为指令的定位终点位置。
6、,四、 有关单位的设定,1、尺寸单位选择G20,G21,G22 格式: G20 英制G21 公制 尺寸输入制式G22 脉冲当量,这3个G代码必须在程序的开头坐标系设定之前用单独的程序段指令或通过系统参数设定。程序运行中途不能切换。,五、 基本编程指令,1、快速定位指令G00 格式:G00 X_Y_Z_其中,X、Y、Z、为快速定位终点,在G90时为终点在工件坐标系中的坐标;在G91时为终点相对于起点的位移量。(空间折线移动),说明: 1、G00 一般用于加工前快速定位或加工后快速退刀。 2、为避免干涉,通常的做法是:不轻易三轴联动。一般先移动一个轴,再在其它两轴构成的面内联动。 如:进刀时,先在
7、安全高度Z上,移动(联动)X、Y 轴,再下移Z轴到工件附近。退刀时,先抬Z轴,再移动X-Y轴。,直 线 插 补 指 令(G01),2、直线进给指令G01 格式: G01 X _Y_ Z_ F_其中,X、Y、Z为终点, 在G90时为终点在工件坐标系中的坐标; 在G91时为终点相对于起点的位移量。,说明: (1) G01指令刀具从当前位置以联动的方式,按程序段中F指令规定的合成进给速度,按合成的直线轨迹移动到程序段所指定的终点。 (2)实际进给速度等于指令速度F与进给速度修调倍率的乘积。 (3)G01和F都是模态代码,如果后续的程序段不改变加工的线型和进给速度,可以不再书写这些代码。 (4)G01
8、可由G00、G02、G03或G33功能注销。,F_,F_,指令格式:,或,(1),圆弧插补指令,3、圆弧进给指令 G02 :顺时针圆弧插补G03 :逆时针圆弧插补,圆 弧 插 补 指 令(G02/G03),(2)指令参数说明: 圆弧插补只能在某平面内进行。 G17代码进行XY平面的指定,省略时就被默认为是G17 当在ZX(G18)和YZ(G19)平面上编程时,平面指定代码不能省略。,G02/G03判断:G02为顺时针方向圆弧插补,G03为逆时针方向圆弧插补。顺时针或逆时针是从垂直于圆弧加工平面的第三轴的正方向看到的回转方向。,平面圆弧插补,I,J,K分别表示X,Y,Z 轴圆心的坐标减去圆弧起点
9、的坐标,如下图所示。某项为零时可以省略。,起点,当圆弧圆心角小于180时,R为正值,当圆弧圆心角大于180时,R为负值。 整圆编程时不可以使用R,只能用I、J、K。 F为编程的两个轴的合成进给速度。,(3)编程算法,圆弧AB: 绝对: G17G90 G02 X xb Y yb R r1 F f; 或 G17G90 G02 X xb Y yb I(x1-xa) J (y1-ya) F f ;增量: G91G02 X (xb-xa)Y (yb-ya) R r1 F f ; 或 G91G02 X(xb-xa)Y(yb-ya)I(x1-xa)J(y1-ya)F f ;,(4)编制圆弧程序段 大圆弧AB
10、,每段圆弧可有四个程序段表示,G17 G90 G03 X0 Y25 R-25 F80 G17 G90 G03 X0 Y25 I0 J25 F80 G91 G03 X-25 Y25 R-25 F80 G91 G03 X-25 Y25 I0 J25 F80,小圆弧AB,G17 G90 G03 X0 Y25 R25 F80 G17 G90 G03 X0 Y25 I-25 J0 F80 G91 G03 X-25 Y25 R25 F80 G91 G03 X-25 Y25 I-25 J0 F80,例2 、 整圆编程 要求由A点开始,实现逆时针圆弧插补并返回A点。,G90 G03 X30 Y0 I-40 J
11、0 F80 G91 G03 X0 Y0 I-40 J0 F80,(5)G02/ G03 实现空间螺旋线进给 格式:G17 G02(G03) X. Y. R. Z. F. 或 G18 G02(G03) X. Z. R. Y. F.G19 G02(G03) Y. Z. R. X. F.,即在原G02、G03指令格式程序段后部再增加一个与加工平面相垂直的第三轴移动指令,这样在进行圆弧进给的同时还进行第三轴方向的进给,其合成轨迹就是一空间螺旋线。 X 、Y 、Z为投影圆弧终点,第3坐标是与选定平面垂直的轴终点.,如下图所示轨迹,G91 G17 G03 X -30.0 Y30.0 R 30.0 Z10.
12、0 F100 或: G90 G17 G03 X0 Y 30.0 R 30.0 Z 10.0 F100,六、基本指令编程举例,如图所示零件 以30的孔定位 精铣外轮廓 暂不考虑刀具补偿,程序单(1),%0001 G92 X150.0 Y160.0 Z120.0 G90 G00 X100.0 Y60.0 Z-2.0 S100 M03 G01 X75.0 F100X35.0G02 X15.0 R10.0G01 Y70.0G03 X-15.0 R15.0G01 Y60.0G02 X-35.0 R10.0G01 X-75.0,主程序号 建立工件坐标系,编程零点w 快进到X=100,Y=60 Z轴快移到
13、Z= -2,主轴 直线插补至 X= 75,Y= 60, 直线插补至 X= 35,Y= 60 顺圆插补至 X=15,Y=60 直线插补至 X=15,Y=70 逆圆插补至 X= -15,Y=70 直线插补至 X= -15,Y=60 顺圆插补至 X= -35,Y=60 直线插补至 X= -75,Y=60,程序头,程序主干,程序单(2),G09 Y0 X45.0 X75.0 Y20.0 Y65.0 G00 X100.0 Y60.0Z120.0 X150.0Y160.0 M05 M30,直线插补至 X= -75,Y=0处 直线插补至 X= 45,Y=45 直线插补至 X= 75,Y=20 直线插补至 X
14、=75,Y=65,轮廓完 快速退至 X=100,Y=60的下刀处 快速抬刀至 Z=120的对刀点平面 快速退刀至对刀点 程序结束,复位。,程序尾,返回上层,第二节 数控铣床刀具补偿,一、数控铣床刀具补偿的含义 在数控铣床上,由于程序所控制的刀具刀位点的轨迹和实际刀具切削刃口切削出的形状并不重合,它们在尺寸大小上存在一个刀具半径和刀具长短的差别,为此就需要根据实际加工的形状尺寸算出刀具刀位点的轨迹坐标,据此来控制加工。,二、数控铣床刀具补偿类型 刀具半径补偿: 补偿刀具半径对工件轮廓尺寸的影响. 刀具长度补偿: 补偿刀具长度方向尺寸的变化.三、刀具补偿的方法 人工预刀补:人工计算刀补量进行编程
15、机床自动刀补:数控系统具有刀具补偿功能。,四、刀具半径补偿功能,1、刀具半径补偿的作用 在数控铣床上进行轮廓铣削时,由于刀具半径的存在,刀具中心轨迹与工件轮廓不重合。 人工计算刀具中心轨迹编程,计算相当复杂,且刀具直径变化时必须重新计算,修改程序。 当数控系统具备刀具半径补偿功能时,数控编程只需按工件轮廓进行,数控系统自动计算刀具中心轨迹,使刀具偏离工件轮廓一个半径值,即进行刀具半径补偿。,分为三步: 1、刀补的建立:在刀具从起点接近工件时,刀心轨迹从与编程轨迹重合过度到与编程轨迹偏离一个偏置量的过程。 2、刀补进行:刀具中心始终与变成轨迹相距一个偏置量直到刀补取消。 3、刀补取消:刀具离开工
16、件,刀心轨迹要过渡到与编程轨迹重合的过程。,2、刀具半径补偿的过程,3、刀具半径补偿指令,刀具半径补偿G41,G42,G40 格式:,X、Y 、Z 值是建立补偿直线段的终点坐标值; D 为刀补号地址,用D00D99来指定,它用来调用内存中刀具半径补偿的数值。,指令的几点说明: (1)、G41刀径左补偿, G42刀径右补偿。刀补位置的左右应是顺着编程轨迹前进的方向进行判断的。 G40为取消刀补。,顺铣,逆铣,(2)、在进行刀径补偿前,必须用G17或G18、G19指定刀径补偿是在哪个平面上进行。平面选择的切换必须在补偿取消的方式下进行,否则将产生报警。 (3)、刀补的引入和取消要求应在G00或G0
17、1程序段 ,不要在G02/G03程序段上进行。 (4)、当刀补数据为负值时,则G41、G42功效互换。 (5)、G41、G42指令不要重复规定,否则会产生一种特殊的补偿。 (6)、G40、G41、G42都是模态代码,可相互注销。,4、刀具半径补偿应用利用同一个程序、同一把刀具,通过设置不同大小的刀具补偿半径值而逐步减少切削余量的方法来达到粗、精加工的目的。,多把刀加工示例,刀具基准,T01 G90 G01 Z-50 F50 ,五、刀具长度补偿,1、刀具长度补偿的作用: 用于刀具轴向(Z向)的补偿. 使刀具在轴向的实际位移量比程序给定值增加或减少一个偏置量. 刀具长度尺寸变化时,可以在不改动程序
18、的情况下,通过改变偏置量达到加工尺寸. 利用该功能,还可在加工深度方向上进行分层铣削,即通过改变刀具长度补偿值的大小,通过多次运行程序而实现。,2、刀具长度补偿的方法 将不同长度刀具通过对刀操作获取差值。 通过MDI方式将刀具长度参数输入刀具参数表。 执行程序中刀具长度补偿指令。,3、刀具长度补偿指令,刀具长度补偿G43,G44,G49,(1)格式,G43 刀具长度正补偿 G44 刀具长度负补偿 G49取消刀长补偿 G43 G44 G49 均为模态指令 其中Z 为指令终点位置,H为刀补号地址,用H00H99来指定,它用来调用内存中刀具长度补偿的数值。,执行G43时,(刀具长时,离开刀工件补偿)
19、 Z实际值 = Z指令值 +(H xx) 执行G44时,(刀具短时,趋近工件补偿) Z实际值 = Z指令值 -(H xx),其中(Hxx)是指xx寄存器中的补偿量,其值可以是正值或者是负值。当刀长补偿量取负值时,G43和G44的功效将互换。,设(H02)= 200 mm时 N1 G92 X0 Y0 Z0 设定当前点O为程序零点 N2 G90 G00 G44 Z10.0 H02 指定点A,实到点B N3 G01 Z-20.0 实到点C N4 Z10.0 实际返回点B N5 G00 G49 Z0 实际返回点O,示例 1,使用G43、G44相当于平移了Z轴原点。即将坐标原点O平移到了O点处,后续程序
20、中的Z坐标均相对于O进行计算。使用G49时则又将Z轴原点平移回到了O点。 在机床上有时可用提高Z轴位置的方法来校验运行程序。,示例2使用01, T02, T03号刀具对工件进行钻、扩、铰加工编程时选01刀具为标准刀具长度.试写出用 G43 、G44 指令对T02, T03刀具向下快速移动100mm时,进行长度补偿的程序段,并说明存储器中的补偿值是多少?刀具的实际位移是多少?,4、刀补编程举例,%0004 G92 X150.0 Y160.0 Z120.0 G90 G00 X100.0 Y60.0 G43 Z-2.0 H01 S100 M03 G42 G01 X75.0 D01F100X35.0G
21、02 X15.0 R10.0G01 Y70.0G03 X-15.0 R15.0G01 Y60.0G02 X-35.0 R10.0G01 X-75.0 G09 Y0,主程序号 建立工件坐标系 绝对值方式,快进到X=100,Y=60 指令高度Z= -2,实际到达高Z=-43处 刀径补偿引入,插补至X=75,Y= 60 直线插补至 X= 35,Y= 60 顺圆插补至 X=15,Y=60 直线插补至 X=15,Y=70 逆圆插补至 X= -15,Y=70 直线插补至 X= -15,Y=60 顺圆插补至 X= -35,Y=60 直线插补至 X= -75,Y=60 直线插补至 X= -75,Y=0处,,程
22、序单,G01 X45.0 X75.0 Y20.0 Y65.0 G40 G00 X100.0 Y60.0G49 Z120.0 X150.0Y160.0 M05 M30,直线插补至 X= 45,Y=45 直线插补至 X= 75,Y=20 直线插补至 X=75,Y=65,轮廓切削完毕 取消刀补,快速退至(100,60)的下刀处, 快速抬刀至Z=120的对刀点平面 快速退刀至对刀点 主轴停,程序结束,复位。,程序单,和前述不考虑刀补的轮廓铣削程序相比,可以看出:采用机床自动刀补的程序与不考虑刀补的程序并没有多大的不同,只是在原来的程序上增加了有关刀补指令而已。考虑刀补后的程序适应性强,对不同长度、不同
23、半径的刀具仅只需改变刀具补偿量即可。,钻孔加工举例,对图示零件钻孔。按理想刀具进行的对刀编程,现测得实际刀具比理想刀具短8mm,若设定(H01)=8mm, (H02)=8mm,%0005 N1 G91 G00 X120.0 Y80.0 N2 G43 Z-32.0 H01 S630 M03(或G44 Z-32.0 H02) N3 G01 Z-21.0 F120 N4 G04 P1000 N5 G00 Z21.0 N6 X90.0 Y-20.0 N7 G01 Z-23.0 F120 N8 G04 P1000 N9 G00 Z23.0,主程序号 增量编程方式,快速移到孔#1正上方。 理想刀具下移值Z
24、=-32,实际刀具下移值Z=-40下移到离工件上表面距离3mm的安全高度平面。主轴正转 以工进方式继续下移21mm 孔底暂停1s。 快速提刀至安全面高度。 快移到孔#2的正上方。 向下进给23mm,钻通孔#2。 孔底暂停1s。 快速上移23mm,提刀至安全平面。,程序单,N10 X-60.0 Y-30.0 N11 G01 Z-35.0 F120 N12 G49 G00 Z67.0 N13 X-150.0Y-30.0 N14 M05 M02,快移到孔#3的正上方。 向下进给35mm,钻孔#3。 理想刀具快速上移67mm,实际刀具上移75mm,提刀至初始平面。 刀具返回初始位置处。 主轴停,程序结
25、束。,程序单,从上述程序可以大致了解钻孔加工的走刀路线及钻孔的基本编程方法,当所使用的数控铣床不具备更高级的钻孔专用指令时,通常都需要这样一步步地编程,更方便的钻孔编程方法将在后面的章节中逐步介绍。,返回上层,第三节 铣削编程综合技术,一、子程序调用 二、镜像、旋转、缩放指令,1、子程序的含义 2、主、子程序结构的异同 3、调用子程序指令格式 4、主-子程序调用关系 5、主-子程序结构书写 6、主-子程序结构应用关键 7、编程举例,一、子程序调用技术,1 、子程序的含义,什么是子程序?在编制加工程序中,有时会出现有规律、重复出现 的程序段。将程序中重复的程序段单独抽出,并按一定格式单独命名,称
26、之为子程序。,子 程 序 的 含 义,采用子程序的意义 使复杂程序结构明晰 程序简短 增强数控系统编程功能,2、主、子程序结构异同,相同: 都是完整的程序。包括程序号、程序段、程序结束指令,主程序:M02 或 M30,子程序:M99,不同: 程序结束指令不同,子程序不能单独运行,由主程序或上层子程序调用执行。,3、调用子程序的指令格式,子程序调用的指令格式: M98 P 单次调用指令,P后跟被调用的子程序号 M98 P L 重复调用子程序指令,L后跟重复调用的次数子程序的格式: 子程序号: 是调用入口地址,必须和主程序中的子程序调用指令中所指向的程序号一致。 子程序结束: M99,4、主子程序
27、调用关系,可实现八层嵌套,逐层调用,逐层返回。,主程序,子程序,子程序,5、主-子程序结构书写,主子程序: 写在一个文件中 主程序写在前 子程序写在后 两者之间空几行作分隔,6、主-子程序结构应用关键,找出重复程序段规律,确定子程序。 将要变化的部分写在主程序,不变的部分作子程序。 主子程序接口:保证主程序调用和子程序返回正确的衔接 如:从某点进入子程序,返回时也固定在该点。,(1)利用子程序调用实现外轮廓粗、精加工。如图所示零件 用8 立铣刀 采用粗、精铣两刀完成外轮廓加工。 精加工余量0.25mm 深度方向一次下刀完成。(暂不考虑装夹),7、子程序调用编程举例(一),(2)利用子程序调用实
28、现分层加工。如图所示零件 用8 立铣刀 粗铣外轮廓 深度方向分层铣削,分三次完成。 (暂不考虑装夹),7、子程序调用编程举例(二),(3)利用子程序调用实现分层、分次加工。如图所示零件 用8 立铣刀 粗、精铣外轮廓 粗铣深度方向分三 次完成。 精铣一次下刀完成(暂不考虑装夹),7、子程序调用编程举例(三),二、简化编程指令,1、镜像功能G24,G25 指令功能:当工件(或某部分)具有相对于某一轴对称的形状时,可以利用镜象功能和子程序的方法,简化编程. 镜像指令能将数控加工刀具轨迹沿某坐标轴作镜像变换而形成对称零件的刀具轨迹。 对称轴可以是X轴、Y轴 或 X、Y轴.,指令格式:G24 X_Y_Z
29、_ 建立镜像(M98 P_)G25 X_Y_Z_ 取消镜像或 G25 指令说明:建立镜像由指令坐标轴后的坐标值指定镜 像位置(对称轴、线、点) G24、G25为模态指令,可相互注销,G25为缺省值。 有刀补时,先镜像 ,然后进行刀具长度补偿、半径补偿。,例如:当采用绝对编程方式时 G24 X-9.0 表示图形将以X=-9.0的直线(/Y轴的线)作为对称轴,G24 X6.0 Y4.0 表示先以X=6.0对称,然后再以Y=4.0对称,两者综合结果即相当于以点(6.0,4.0)为对称中心的原点对称图形。 G25 X0 表示取消前面的由G24 X_ 产生的关于Y轴方向的对称,镜像指令编程,主程序 %0
30、008 G92 X0 Y0 Z25.0 G90 G17 G00 Z5.0 M03 M98 P100 加工图1 G24 X0 坐标变换 M98 P100 加工图2 G24 Y0 M98 P100 G25 X0 M98 P100 G25 Y0Z25.0 M05M30,镜像指令编程,子程序 %100 G41 X10.0 Y4.0 D01 Y5.0 G01 Z-28.0 F200 Y30.0 X20.0 G03 X30.0 Y20.0 R10.0 G01 Y10.0 X5.0 G00 Z5.0 G40 X0 Y0M99,2、旋转变换功能G68,G69 指令功能:该指令可使编程图形按照指定旋转中心及旋转
31、方向旋转一定角度。 通常和子程序一起使用,加工旋转到一定位置的重复程序段。,格式 G17 G68 X_Y_P_G18 G68 X_Z_P_ 坐标旋转功能G19 G68 Y_Z_P_G69 取消坐标旋转功能 其中: X、Y、Z 是旋转中心的坐标值; P为旋转角度,单位是(),0P360.逆时针旋转时为“+”, 顺时针旋转时为“” 在有刀具补偿的情况下,先进行坐标旋转,然后才进行刀具半径补偿、刀具长度补偿。在有缩放功能的情况下,先缩放后旋转。,旋转指令编程,主程序 %0009 G92 X0 Y0 Z25.0 G90 G17 G00 Z5.0 M03 M98 P100 G68 X0 Y0 P90.0
32、 M98 P100 G69 G68 X0 Y0 P180.0 M98 P100 G69 G68 X0 Y0 P270.0 M98 P100 G69Z25.0 M05M30,将基本图形分别旋转90180270,3、缩放功能G50,G51 格式: G51 X_Y_Z_P_ 缩放开( M98 P_)G50 缩放关 其中:X、Y、Z给出缩放中心的坐标值, P后跟缩放倍数。 G51既可指定平面缩放,也可指定空间缩放。 G51、G50为模态指令,可相互注销,G50为缺省值。 有刀补时,先缩放,然后进行刀具长度补偿、半径补偿。,缩放指令编程,使用缩放指令可实现同一程序加工 出形状相同,尺寸不同的工件。,主程
33、序%0007 G92 X0 Y0 Z25.0 G90 G00 Z5.0 M03G01 Z-18.0 F100 M98 P100G01 Z-28.0 G51 X15.0 Y15.0 P2 M98 P100 G50G00 Z25.0 M05 M30,缩放指令编程,使用缩放指令可实现同一程序加工 出形状相同,尺寸不同的工件。,子程序 %100 G41 G00 X10.0 Y4.0 D01 G01 Y30.0X20.0 G03 X30.0 Y20.0 R10.0 G01 Y10.0X5.0 G40 G00 X0 Y0 M99,返回上层,第四节 钻镗固定循环指令,孔加工编程示例(基本指令编程),%000
34、8 G92 X0.0 Y0.0 Z50.0 G90 G00 X-50.0 Y0.0 Z-15.0(下刀) S1000 M03 M08 G01 Z-52.0 F70.0 (钻1) G00 Z-15.0 (抬刀) X-50.0 Y-30.0(定位2) G01 Z-52.0 (钻2) G00 Z50.0 (抬刀) X0.0 Y30.0 (定位3) Z5.0 (下刀) G01 Z- 52.0 (钻3) 。,钻镗固定循环指令,数控加工中,某些加工动作循环已经典型化。例如,钻孔、镗孔的动作是孔位平面定位、快速引进、工作进给、快速退回等。 将这样一系列典型加工动作预先编好程序存储在系统中,再用包含G代码的一
35、个程序段调用,可简化编程工作。 这种包含了典型动作循环的G代码称为循环指令 。,固定循环动作组成,X、Y轴快速定位到孔中心位置 Z轴快速运行到靠近孔上方的安全高度平面R点(参考点) 孔加工(工作进给) 在孔底做需要的动作 退回到安全平面高度或初始平面高度 快速返回到初始点位置。,固定循环的动作示意图,固定循环指令格式,固定循环的程序格式包括数据形式返回点平面孔加工方式孔位置数据孔加工数据循环次数。 固定循环的程序格式通式如下:,G90(G91)G98(G99) G_X_Y_Z_R_Q_P_K_F_L_,固定循环指令格式说明,G98(G99) G _X_Y_Z_R_Q_P_K_F_L_,第一个G
36、代码为返回点平面G代码. G98返回初始平面。 初始点是为安全下刀而规定的点。 该点到零件表面的距离可以任意设定在一个安全高度上。 执行循环指令前刀具所在的高度位置既视为初始点。,固定循环指令格式说明,G98(G99)G _X_Y_Z_R_Q_P_K_F_L_,G99返回安全(R点)平面 R点平面是刀具下刀时由快进转为工进的转换起点。 距工件表面的距离主要考虑工件表面尺寸的变化,一般可取25 mm。,如何确定用G98 还是用G99 ?,固定循环指令格式说明,G98(G99)G _X_Y_Z_R_Q_P_K_F_L_,第二个G代码为孔加工方式, 即固定循环代码G73,G74,G76和G81 G8
37、9中的任一个。,固定循环功能表,G88,切削进给,暂停、主轴停止,手动或快速,镗循环,G89,切削进给,暂停,切削进给,镗循环,固定循环指令分类,钻孔类,攻螺纹类,镗孔类,一般钻孔,钻深孔(L/D3),右旋攻螺纹,左旋攻螺纹,粗镗孔,精镗孔,反镗孔,固定循环指令参数说明,G98(G99)G _ X_Y_ Z_R_Q_P_K_F_L_,X、Y为孔位数据, 指被加工孔的位置。绝对值 增量值,G98(G99)G _X_Y_ Z_ R_Q_P_K_F_L_,Z为孔底数据, G90时, Z为孔底坐标,G91时 Z为R点到孔底的距离(多为负),Z,Z,加工盲孔时孔底平面就是孔底的Z轴高度;加工通孔时一般刀
38、具还要伸出工件底面一段距离。钻削加工时还应考虑钻头钻尖对孔深的影响。,G98(G99)G _X_Y_Z_ R_ Q_P_K_F_L_,R为安全平面位置 G90时, RR面的坐标值,G91时, R初始点到R面的距离(常为负),R,R,G98(G99)G _X_Y_Z_R_Q_P_K_F_L_,Q 在G73或G83时指定每次进给深度,在G76或G87时指定刀具的让刀量,是增量值。 K在G73或G83时指定每次退刀量 ,K0。 P指定刀具在孔底的暂停时间,单位为秒 F为切削进给速度 L指定固定循环的次数,固定循环指令参数说明,1、G73 G89、Z、R、P、Q都是模态代码。,2、为了简化程序,若某些
39、参数相同,则可不必重复。若为了程序看起来更清晰,不易出错,则每句指令的各项参数应写全。(读、写程序),3、 G80、G01G03等代码可以取消固定循环。,钻孔循环指令,1、一般钻孔循环指令G81 格式:G98(G99)G81X_Y_Z_R_F_L_ 动作分解:刀具以进给速度向下运动钻孔,到达孔底位置后,快速退回(无孔底动作), 适用:用于一般定点钻。,钻孔循环指令,2、带停顿的钻孔循环指令G82 格式:G98(G99)G82X_Y_Z_R_P_ F_L_动作分解: 与G81指令唯一的区别是有孔底暂停动作,暂停时间由P指定。 作用:执行该指令使孔的表面更光滑,孔底平整。常用于做沉头台阶孔。,深孔
40、加工循环指令,1、高速深孔加工循环指令G73格式: G98(G99)G73X_Y_Z_R_Q_K_F_L_动作分解:该固定循环用于Z轴的间歇进给,有利于断屑。适用:深孔加工。参数:Q值为每次的进给深度(q),指令中用q0.q的数值大于k。 例:G98 G73X10 Y20 Z-60R5Q-10K3F50,G73动作分解,深孔加工循环指令,2、深孔加工循环指令G83 与G73不同之处在每次进刀后都返回安全平面高度处。 更有利于钻深孔时的排屑。 K:每次退刀后,再次进给时,由快速进给转换为切削进给时距上次加工面的距离,q,q,q,初始高度,安全高度,孔底位置,k,k,G83动作分解,钻孔循环指令编
41、程举例一,%0009 G92 X0.0 Y0.0 Z50.0 S800 M03 M08 G90 F70.0 G99 G81 X-50.0 Y0.0 Z-52.0 R-15.0 G98 Y-30.0 (钻2) G99 G73 X0.0 Y30.0 Z-52.0 R5.0 Q-10 K3.0 (钻3) G98 Y-30.0 (钻4) G99 G82 X50.0 Y30.0 Z-30.0 R-15.0P2 (钻5) G98 Y0.0 (钻6) M05 M09 M30,钻6-10的孔,例二,编制右所示的孔加工程序(设Z轴开始点距工作表面50mm处,切削深度为10mm)。,R面,50,初始面,3,%00
42、09 G92 X-100. Y-50. Z50. G90 G00 X0. Y0. M03 S800 G91 G99 G81 X40. Y40 .Z-13. R- 47. F100 X40.Y0. L3 X0. Y50. X-40. Y0. L3 G90 G80 X-100. Y-50. Z50. M05 M30,螺纹加工循环指令(G74),左旋攻螺纹循环G74 格式: G98(G99)G74X_Y_Z_R_F_L_,动作分解:左旋攻螺纹(攻反螺纹)时主轴反转,到孔底时主轴正转,然后工进速度退回。,注意: 1、攻螺纹过程要求主轴转速与进给速度成严格的比例关系,进给速度F=转速(r/min)螺矩
43、(mm).2、R应选在距工件表面7mm以上的地方。,螺纹加工循环指令(G84),右旋攻螺纹循环 格式: G98 G84 X_Y_Z_R_F_L_,动作分解: 从R点到Z点攻丝时刀具正向进给,主轴正转。到孔底部时,主轴反转 ,刀具以反向进给速度退出.,螺纹加工编程举例,编制右所示的螺孔加工程序(设Z轴开始点距工作表面50mm处,切削深度为10mm)。,R面,50,初始面,3,(1)先用G81钻孔 %0009 G92 X-100. Y-50. Z50. G90 G00 X0. Y0. M03 S800 G91 G99 G81 X40. Y40 .Z-13. R- 47. F100 X40.Y0.
44、L3 X0. Y50. X-40. Y0. L3 G90 G80 X-100. Y-50. Z50. M05 M30,()再用G84攻丝 M03 S140 G91 Y40. G99 G84 X40. Z-17. R-43. L4 F280 Y50 G99 G84 X-40. Z-17. R-43. L3 (X-40. L3) G80 Z43. X-160. Y90. M05 M30,镗孔循环指令(G76),精镗循环 G98(G99)G76 X_Y_Z_R_P_Q_F_L_,精镗时,主轴在孔底定向停止后,向刀尖反方向移动,然后快速退刀,退刀位置由G98或G99决定。 带有让刀的退刀不会划伤已加工
45、平面,保证了镗孔精度。 刀尖反向位移量用地址Q指定,其值q,镗孔循环指令(G85 G86),2) G85:镗孔循环 G99 G85X_Y_Z_R_F_L_ 该指令动作过程与G81指令相同,只是G85进刀和退刀都为工进速度,且回退时主轴不停转。3) G86:镗孔循环 G98 G86X_Y_Z_R_F_L_ 此指令与G81相同,但在孔底时主轴停止,然后快速退回。 注意:该指令退刀前没有让刀动作,退回时可能划伤已加工表面,因此只用于粗镗孔。,镗孔循环指令(G87),4) G87:反镗循环 G98 G87 X_Y_Z_R_Q _F_L_,G87 指令动作图,动作过程:在X、Y轴定位后,主轴定向停止,然
46、后向刀尖的反方向移动q值,再快速进给到孔底(R点)定位。在此位置,刀具向刀尖方向移动q值。主轴正转,在Z轴正方向上加工至Z点。这时主轴又定向停止,向刀尖反方向位移,然后从孔中退出刀具。返回到初始点(只能用G98)后退回一个位移量,主轴正转,进行下一个程序段的动作。,G98 G87 G90 X100 Y100 Z40 R5 I-10 P2000,镗孔循环指令(G88),5) G88:镗孔循环 (手镗 ) G98(G99)G88 X_Y_Z_R_P_F_L_在孔底暂停 ,主轴停止后,转换为手动状态,可用手动将刀具从孔中退出。到返回点平面后,主轴正转,再转入下一个程序段进行自动加工。 镗孔手动回刀,
47、不需主轴准停,G88 指令动作图,镗孔循环指令(G89),6)G89:镗孔循环 G98(G99) G89 X_Y_Z_R_P_F_L_此指令与G86指令相同,但在孔底有暂停。(孔底延时、停主轴),返回上层,第五节 宏 程 序 应 用,简单定义,宏程序的编制方法简单地解释就是:利用变量编程的方法。用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。,一. 宏指令编程的应用范围,宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。,二.宏变量及常量 (华中 FANUC),#1195#1199为系统内状态变量(可调用,不可改变),三. 运算符与表达式,1. 算术运算符 + - x / 2. 条件运算符 EQ(=), NE(), GT() GE(), LT() , LE() 3.逻辑运算符 AND,OR,NOT 4. 函数 SIN(正弦)、 COS(余弦) 、 TAN (正切)、 ATAN(反正切- 9090)、 ABS (绝对值)、INT(取整)、 EXP(指数) ATAN2 (反正切 -180180) 、 SIGN(取符号)、SQRT(开方)、POT (平方) 、,