FANUC-Oi-MD系统数控编程1.1常用编程指令一:准备功能(G功能)准备功能G代码用来规定刀具和工件的相对运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。数控加工常用的G功能代码见表4-1.表4-1G代码组功能附注G0001定位(快速移动)模态G01直线插补模态G02顺时针方向圆弧插补模态G03逆时针方向圆弧插补模态G0400停刀,准确停止非模态G1702XY平面选择模态G18XZ平面选择模态G19YZ平面选择模态G2800机床返回参考点非模态G4007取消刀具半径补偿模态G41刀具半径左补偿模态G42刀具半径右补偿模态G4308刀具长度正补偿模态G44刀具长度负补偿模态G49取消刀具长度补偿模态G5011比例缩放取消模态G51比例缩放有效模态G50.122可编程镜像取消模态G51.1可编程镜像有效模态G5200局部坐标系设定非模态G5300选择机床坐标系非模态G5414工件坐标系1选择模态G55工件坐标系2选择模态G56工件坐标系3选择模态G57工件坐标系4选择模态G58工件坐标系5选择模态G59工件坐标系6选择模态G6500宏程序调用非模态G6612宏程序模态调用模态G67宏程序模态调用取消模态G6816坐标旋转模态G69坐标旋转取消模态G7309排削钻孔循环模态G74左旋攻螺纹循环模态G76精镗循环模态G80取消固定循环模态G81钻孔循环模态G82反镗孔循环模态G83深孔钻削循环模态G84攻螺纹循环模态G85镗孔循环模态G86镗孔循环模态G87背镗循环模态G88镗孔循环模态G89镗孔循环模态G9003绝对值编程模态G91增量值编程模态G9200设置工件坐标系非模态G9405每分钟进给模态G95每转进给模态G9810固定循环返回初始点模态G99固定循环返回R点模态二:辅助功能(M代码)辅助功能代码用于指令数控机床辅助装置的接同和关断,如主轴转/停、切削液开/关,卡盘夹紧/松开、刀具更换等动作。常用M代码见表如下:代码功能说明M00程序暂停当执行有M00指令的程序段后,主轴旋转、进给切削液都将停止,重新按下(循环启动)键,继续执行后面程序段M01程序选择停止功能与M00相同,但只有在机床操作棉班上的(选择停止)键处于“ON”状态时,M01才执行,否则跳过才执行M02程序结束防在程序的最后一段,执行该指令后,主轴停、切削液关、自动运行停,机床处于复位状态M30程序结束放在程序的最后一段,除了执行M02的内容外,还返回到程序的第一段,准备下一个工件的加工M03主轴正转用于主轴顺时针方向转动M04主轴反转用于主轴逆时针方向转动M05主轴停止用于主轴停止转动M06换刀用于加工中心的自动换刀M08切削液开用于切削液开M09切削液关用于切削液关M98调用子程序用于子程序M99子程序结束用于子程序结束并返回主程序1.2坐标系编程指令一、有关坐标和坐标系的指令(1)、工件坐标系设定G92格式:G92X_Y_Z_X、Y、Z、为当前刀位点在工件坐标系中的坐标。1、G92指令通过设定刀具起点相对于要建立的工件坐标原点的位置建立坐标系。2、此坐标系一旦建立起来,后序的绝对值指令坐标位置都是此工件坐标系中的坐标值。例:G92X20Y10Z10其确立的加工原点在距离刀具起始点X=-20,Y=-10,Z=-10的位置上,如图a所示。(2)、绝对值编程G90与增量值编程G91格式:G90G00/G01X—Y—Z—G91G00/G01X—Y—Z—注意:铣床编程中增量编程不能用U、W,如果用,就表示为U轴、W轴.例:刀具由原点按顺序向1、2、3点移动时用G90、G91指令编程。注意:铣床中X轴不再是直径.(3)、工件坐标系选择G54-G59123XYO204060152545%0001N1G92X0Y0N2G90G01X20Y15N3X40Y45N4X60Y25N5X0Y0N6M30G90编程%0002N1G91G01X20Y15N2X20Y30N3X20Y-20N4X-60Y-25N5M30G91编程595857565554GGGGGG工件零点偏置机床原点XYZXYZ工件坐标系选择(G54~G59)G54原点G59原点G59工件坐标系G54工件坐标系。。。ZYWXXXYX5454Y机机9292YGG92543040AXY59593030G59B45152035G523535CDXY机床原点MZ2X2工件原点M机床原点X1Z1Y2Y1说明:1、G54~G59是系统预置的六个坐标系,可根据需要选用。2、该指令执行后,所有坐标值指定的坐标尺寸都是选定的工件加工坐标系中的位置。1~6号工件加工坐标系是通过CRT/MDI方式设置的。3、G54~G59预置建立的工件坐标原点在机床坐标系中的坐标值可用MDI方式输入,系统自动记忆。4、使用该组指令前,必须先回参考点。5、G54~G59为模态指令,可相互注销。选择机床坐标系:(4)、G53--选择机床坐标系编程格式:G53G90X~Y~Z~;G53指令使刀具快速定位到机床坐标系中的指定位置上,式中X、Y、Z后的值为机床坐标系中的坐标值。例:G53X-100Y-100Z-20G53为非模态指令,只在当前程序段有效.(5)、G52–局部坐标系设定编程格式:G52X~Y~Z~;式中X、Y、Z后的值为局部原点相对工件原点的坐标值。几个坐标系指令应用举例如图所示从A-B-C-D行走路线编程如下N01G54G00G90X30.0Y40.0快速移到G54中的A点N02G59将G59置为当前工件坐标系N03G00X30.0Y30.0移到G59中的B点N04G52X45.0Y15.0在当前工件坐标系G59中建立局部坐标系G52N05G00G90X35.0Y20.0移到G52中的C点N06G53X35.0Y35.0移到G53(机械坐标系)中的D点……二、坐标平面选定坐标平面选择G17,G18,G19G17XY平面刀具长度补偿值为Z平面G18XZ平面刀具长度补偿值为Y平面G19YZ平面刀具长度补偿值为X平面1、坐标平面选择指令是用来选择圆弧插补的平面和刀具补偿平面的。2、G17、G18、G19为模态功能,可相互注销,G17为缺省值。工件原点W中间点参考点返回点WXYXY中间点MZ中间点ZZYX(X,Y,Z)11221ZXX333MZ2yy1.3直线插补编程1、快速定位指令G00格式:G00X_Y_Z_其中,X、Y、Z、为快速定位终点,在G90时为终点在工件坐标系中的坐标;在G91时为终点相对于起点的位移量。(空间折线移动)说明:(1)、G00一般用于加工前快速定位或加工后快速退刀。(2)、为避免干涉,通常的做法是:不轻易三轴联动。一般先移动一个轴,再在其它两轴构成的面内联动。如:进刀时,先在安全高度Z上,移动(联动)X、Y轴,再下移Z轴到工件附近。退刀时,先抬Z轴,再移动X-Y轴。2、直线进给指令G01格式:G01X_Y_Z_F_其中,X、Y、Z为终点坐标,F为进给速度,在G90时为终点在工件坐标系中的坐标;在G91时为终点相对于起点的位移量。说明:(1)G01指令刀具从当前位置以联动的方式,按程序段中F指令规定的合成进给速度,按合成的直线轨迹移动到程序段所指定的终点。(2)实际进给速度等于指令速度F与进给速度修调倍率的乘积。(3)G01和F都是模态代码,如果后续的程序段不改变加工的线型和进给速度,可以不再书写这些代码。(4)G01可由G00、G02、G03或G33功能注销。3、例子O1234:G17G90;(初始化)G54G00X0Y0;(设定工件坐标系)M03S1000;(主轴正转)G00Z100.;(刀具下刀)Z5.;(下刀R点)G01Z-5.F100;(下刀切削深度)G01X5.Y10.;(原点→A点)G01X5.Y35.;(A点→B点)G01X35.Y35.;(B点→C点)G01X35.Y10.;(C点→D点)G01X5.Y10.;(D点→A点)G00X0Y0;(快速回到原点)G00Z100.;(快速抬刀)M05;(主轴停止)M30;(程序结束)OZXG03G02OYZG03G02OXYG03G02不同平面的G02与G03选择XZY1.4圆弧插补编程圆弧进给指令G02:顺时针圆弧插补G03:逆时针圆弧插补指令格式:G17G02(G03)G90(G91)X_Y_I_J_F_或G17G02(G03)G90(G91)X_Y_R_F_G18G02(G03)G90(G91)X_Z_I_K_F_或G18G02(G03)G90(G91)X_Z_R_F_G19G02(G03)G90(G91)Y_Z_J_K_F_或G19G02(G03)G90(G91)Y_Z_R_F_(一)、注明:1、I指圆弧起点指向圆心的连线在X轴上的投影矢量与X轴方向一致为正,相反为负。2、J指圆弧起点指向圆心的连线在Y轴上的投影矢量与Y轴方向一致为正,相反为负。3、K指圆弧起点指向圆心的连线在Z轴上的投影矢量与Z轴方向一致为正,相反为负。4、整圆不能用R编程,只能用I、J、K:a≤1800R取正值;a1800R取负值(二)、指令参数说明:1、圆弧插补只能在某平面内进行。2、G17代码进行XY平面的指定,省略时就被默认为是G173、当在ZX(G18)和YZ(G19)平面上编程时,平面指定代码不能省略(三)G02/G03判断:G02为顺时针方向圆弧插补,G03为逆时针方向圆弧插补。顺时针或逆时针是从垂直于圆弧加工平面的第三轴的正方向看到的回转方向。平面圆弧插补(四)编制圆弧程序段例1:1、大圆弧AB每段圆弧可有四个程序段表示G17G90G03X0Y25R-25F80G17G90G03X0Y25I0J25F80G17G91G03X-25Y25R-25F80G17G91G03X-25Y25I0J25F802、小圆弧ABG17G90G03X0Y25R25F80G17G90G03X0Y25I-25J0F80G17G91G03X-25Y25R25F80G17G91G03X-25Y25I-25J0F80例2:整圆编程要求由A点开始,实现逆时针圆弧插补并返回A点。G90G03X30Y0I-40J0F80G91G03X0Y0I-40J0F80例3:O1234:G17G90;(初始化)G54G00X-30.Y-50.;(设定工件坐标系)M03S1000;(主轴正转)G00Z100.;(刀具下刀)Z5.;(下刀R点)G01Z-5.F100;(下刀切削深度)G01X-30.Y0.;(下刀点→A点)G02X30.Y0.R30.;(A点→C点)G01X30.Y-15.;(C点→D点)G03X15.Y-30.R15;(D点→E点)G01X-20.Y-30.;(E点→G点)G02X-30.Y-20.R10.;(G点→H点)G03X-42.Y-20.R6.;(圆弧切出)G01X-45.;G00Z100.;(快速抬刀)G00X0Y0;(快速回到原点)M05;(主轴停止)M30;(程序结束)1.5刀具半径补偿功能编程G41:刀具半径补偿左偏置G42:刀具半径补偿右偏置G40:取消刀具半径补偿格式:G41/G42G01/G00XYD;G40G01/G00XY;G41:左刀补(在刀具前进方向左侧补偿),如图(a);G42:右刀补(在刀具前进方向右侧补偿),如图(b);X,Y,Z:G00/G01的参数,即刀补建立或取消的终点(注:投影到补偿平面上的刀具轨迹受到补偿);D:G41/G42的参数,即刀补号码,它代表了刀补表中对应的半径补偿值。G40、G41、G42都是模态代码,可相互注销。注意:(1)刀具半径补偿平面的切换必须在补偿取消方式下进行(2)刀具半径补偿的建立与取消只能用G00或G01指令,不得是G02或G03在前进方向右侧补偿补偿量刀具旋转方向刀具前进方向补偿量刀具旋转方向刀具前进方向(b)(a)图示刀具补偿方向(a)左刀补(b)右刀补在前进方向右侧补偿1.6刀具长度补偿功能编程格式:G43/G44G01/G00ZH;G49G0