CNC加工中心程序代码大全(编程常用指令).docx
常用地址符含义地址功能含义A坐标字绕X轴旋转B坐标字绕Y轴旋转C坐标字绕Z轴旋转D补偿号刀具半径补偿指令E第二进给功能F进给速度进给速度指令G准备功能指令动作方式H补偿号补偿号指令I坐标字圆弧中心X轴向坐标J坐标字圆弧中心Y轴向坐标K坐标字圆弧中心Z轴向坐标L重复次数固定循环及子程序的循环次数M辅助功能机床开/关指令地址功能含义N顺序号程序段顺序号指令O程序号程序号、子程序号指定P暂停时间或程序中某功能开始使用的顺序号Q固定循环终止段号或固定循环中的定距R坐标字固定循环中定距离或圆弧半径的指定S主轴功能主轴旋转指令T刀具功能刀具编号指令U坐标字与X平行的附加轴的增量坐标值V坐标字与Y平行的附加轴的增量坐标值W坐标字与Z平行的附加轴的增量坐标值X坐标字X轴绝对坐标或暂停时间Y坐标字Y轴绝对坐标Z坐标字Z轴绝对坐标辅助功能M指令指令功能指令执行类型MOO程序停止后指令MOl程序选择停止M02程序结束M03主轴正转前指令M04主轴反转M05主轴停止后指令M06刀具自动交换前指令MO8切削液开(或M07)M09切削液关后指令M19主轴定向单独程序段M29刚性攻螺纹M30程序结束并返回后指令M63排屑启动单独程序段M64排屑停止M80刀库前进M81刀库后退M82刀具松开M83刀具夹紧M85刀库旋转M98调用子程序后指令M99调用子程序结束并返回注:在一个程序段中只能有指令一个M指令,如果在一个程序中出现两个或两个以上的M指令时,则只有最后一个M指令有效,其余无效!其他指令(1) F一进给速度指令F及后面的若干数字表示,当指令为G94单位是mmmin,当指令为G95单位是mr<>(2) S主轴转速指令S及后面的若干数字表示,单位是r/min。(3) T一刀具指令T及后面的三位数字表示,表示刀号。(4) H和D一刀具长度补偿值和刀具半径补偿值H和D及其后面的三位数字表示,该三位数字为存放刀具补偿量地存储器地址(番号)。G指令代码详解一、机床功能设定1、G53一选择机床坐标系格式:G53XYZ;(XYZ为机床坐标值)注:当指定G53指令时,就清除刀具的半径补偿、刀具长度补偿和刀具偏值,一般在换刀是指定Z轴。2、G54G59一选择工件坐标系注:电源接通并返回参考点后,系统自动选择G54。3、G54.1P1P48一选择附加工件坐标系4、G52一局部坐标系格式:G52XYZ;格式含义:为了编程的方便设定工件坐标系的子坐标系,G52中的XYZ的值是工件坐标系G54-G59中的位置坐标。取消局部坐标系G52X0Y0Z0;注:当指令G52局部坐标系或取消局部坐标系时就取消了刀具长度补偿、刀具半径补偿等刀具偏值,在后续的程序中必须重新设置指定刀具长度补偿、刀具半径补偿等刀具偏值。5、G90一绝对编程绝对编程是刀具移动到距离工件坐标系原点的某一位置。6、G91增量编程增量编程刀具移动的距离是以前一点为基准计算,是前一点的增量。7、G21一毫米输入G20英寸输入8、G16一启用极坐标指令G15一取消极坐标指令二、插补功能指令1、G00一快速定位指令格式:GOOXYZ;格式含义:GOO指令使刀具以点位控制方式从刀具当前点以最快速度运动到另一点。其轨迹不一定是两点一线,有可能是一条折线。注意事项:(1)刀具从上向下移动时:G00XY;Z;先定XY面,然后Z轴下降。(2)刀具从下向上移动时:G00Z;XY;Z轴先上升,然后定XY面。2、GOl一直线插补指令格式:G01XYZF;格式含义:GOl指令使刀具按F指令从当前运动到指定点。3、G02顺时针插补、G03一逆时针插补格式:G17G02G03XY(RIJ)F;G18G02G03XZ(RIK)F;G19G02G03YZ(RJK)F;格式含义:指令内容指令含义平面指定G17指定XY平面G18指定XZ平面G19指定YZ平面旋转方向G02顺时针旋转G03逆时针旋转独占八、位置G90方式XYZ中的2值工件坐标系的终点位置G91方式XYZ中的2值终点相对于起点的坐标增量圆弧的圆心坐标IJK中的2值圆心相对于起点的坐标增量,与G90无关圆弧半径R圆弧半径。0oV圆心角180°V时取正值,180°圆心角360°时取负值进给速度F沿圆弧的移动的速度注:1、IJK为零时可以省略;在同一段程序中,如IJK与R同时出现时,R有效。2、用R加工时,不能加工整圆,加工整圆只能用圆心坐标IJk,编程。三、程序暂停指令1、G04一暂停指令格式:G04X;或G04P;格式含义:X后跟延长时间,单位是s,其后要有小数点。P后面的数字为整数,单位是ms。四、子程序的调用指令1、M98PXXX;格式含义:PXXX是指调用程序的的子程序号,程序前的O不可以省略,是指重复调用的次数。2、子程序编写与一般程序基本相同,只是程序结束符为M99,表示子程序结束并返回,M99可以不必独立成程序段,可放在最后程序段地段尾。五、刀具补偿指令1、G43、G44、G49一刀具长度补偿指令格式:G43ZH;表示刀具长度的正向补偿,Z轴到达距离Z是指定值加补偿值H。G44ZH;表示刀具长度的负向补偿,Z轴到达距离Z是指定值减去补偿值HoG49Z;或Hoo表示取消刀具长度补偿注:G43G44指令与G90G91无关,H指令对应的偏值可以为负值、正值。当H为0是则刀具长度补偿取消。H值的取值范围为00200.由于补偿值的取值范围-999.999999.999mm或-99.999999.9999英寸,补偿值的正负号的改变,使用G43就可以完成全部工作了。2、G41、G42、G40一刀具半径补偿指令格式:G17G18G19G41G42(GOOGOl)(XY,XZYZ)DF;G40G00(GOl)XYF;或DOO格式含义:G17G18G19是选择平面,G41刀具半径左补偿、G42刀具半径右补偿、G40刀具半径补偿取消。注:1、从无刀具补偿状态进入刀具半径补偿状态,或撤消刀具半径补偿时;刀具必须移出一段距离,否则刀具会沿运动法向直接偏移一个刀具半径,刀具无回转空间会发生撞刀。2、当D为0是则刀具半径补偿取消。D值的取值范围为0200.由于补偿值的取值范围-999.999999.999mm或-99.999999.9999英寸。3、刀具半径的左右补偿判断是根据刀具进给方向看,刀具中心轮廓,尤其在执行G18G19时注意G41G42的左右偏值。4、执行G41G42及G40时,其移动指令只能用G00G01,而不能用G02G03o5、为了保证轮廓的完整性、平滑性,一般采用:G41G42指令进行刀具半径补偿一走过过渡段(圆环或直线)一轮廓切削一走过过渡段(圆环或直线)一用G40取消刀具半径补偿。6、编程时,如果刀具的半径补偿引入与取消的程序在程序段的主程序中(在加工凸台时必须这样)那么当调用子程序(加工轮廓程序)次数超过1次,在2次切削时会出现过切现象。六、固定循环指令固定循环指令功能一览表G指钻削-Z方向孔底动作回退+Z方向用途令G73间歇进给快速移动高速深孔往复排屑钻循环G74切削进给主轴:停止一正转切削进给反转攻左旋螺纹循环G76切削进给主轴定向停止f刀具移位快速移动精镶孔循环G80取消固定循环G81切削进给快速移动点钻、钻孔循环G82切削进给进给暂停数秒快速移动忽孔、像阶梯孔循环G83间歇进给快速移动深孔往复排屑钻循环G84切削进给主轴:停止f正转切削进给正转攻右旋螺纹循环G85切削进给切削进给精镇孔循环G86切削进给主轴停止快速移动像孔循环G87切削进给主轴正转快速移动反像孔循环G88切削进给进给暂停数秒一主轴停转手动移动镇孔循环G89切削进给进给暂停数秒切削进给精链阶梯孔循环固定循环指令通常的六个基本动作构成:1、动作1X、Y轴定位(初始点)2、动作2快速到达点R平面(准备切削的位置3、动作3一孔加工。以切削进给方式执行孔加工的动作。4、动作4在孔底的动作。如暂停、主轴的停止、刀具的移位等。5、动作5一返回R平面。6、动作6快速返回到初始【暂停指令】G04X(U)_/P_是指刀具暂停时间(进给停止,主轴不停止),地址P或X后的数值是暂停时间.X后面的数值要带小数点,否则以此数值的千分之一计算,以秒(三)为单位,P后面数值不能带小数点(即整数表示),以毫秒(ms)为单位。但在某些孔系加工指令中(如G82、G88及G89),为了保证孔底的精糙度,当刀具加工至孔底时需有暂停时间,此时只能用地址P表示,若用地址X表示,则控制系统认为X是X轴坐标值进行执行。【MOO、MO1、MO2和M03的区别与联系】MOO为程序无条件暂停指令。程序执行到此进给停止,主轴停转。重新启动程序,必须先回JoG状态下,按下CW(主轴正转)启动主轴,接着返回AUTo状态下,按下START键才能启动程序。MOl为程序选择性暂停指令。程序执行前必须打开控制面板上OPSTOP键才能执行,执行后的效果与MOo相同,要重新启动程序同上。Moo和MOl常常用于加工中途工件尺寸的检验或排屑。M02为主程序结束指令。执行到此指令,进给停止,主轴停止,冷却液关闭。但程序光标停在程序末尾。M30为主程序结束指令。功能同M02,不同之处是,光标返回程序头位置,不管M30后是否还有其他程序段。【地址D、H的意义相同】刀具补偿参数D、H具有相同的功能,可以任意互换,它们都表示数控系统中补偿寄存器的地址名称,但具体补偿值是多少,关键是由它们后面的补偿号地址来决定。不过在加工中心中,为了防止出错,一般人为规定H为刀具长度补偿地址,补偿号从120号,D为刀具半径补偿地址,补偿号从21号开始(20把刀的刀库)。【镜像指令】镜像加工指令M21、M22、M23o当只对X轴或Y轴进行镜像时,切削时的走刀顺序(顺铳与逆铳),刀补方向,圆弧插补转向都会与实际程序相反。当同时对X轴和Y轴进行镜像时,走刀顺序,刀补方向,圆弧插补转向均不变。注意:使用镜像指令后必须用M23进行取消,以免影响后面的程序。在G90模式下,使用镜像或取消指令,都要回到工件坐标系原点才能使用。否则,数控系统无法计算后面的运动轨迹,会出现乱走刀现象。这时必须实行手动原点复归操作予以解决。主轴转向不随着镜像指令变化。【圆弧插补指令】G02为顺时针插补,G03为逆时针插补,在XY平面中,格式如下:G02/G03X_Y_K_F_或Go2/G或03X_Y_R_F_,其中X、Y为圆弧终点坐标,I、J为圆弧起点到圆心港X、Y轴上的增富植,R为圆弧半径,F为进给量。在圆弧切削时注意,q180o,R为正值;q>180o,R为负值;I、K的指定也可用R指定,当两者同时被指定时,R指令优先,I、K无效;R不能做整圆切削,整圆切削只能用I、J、K编程,因为经过同一点,半径相同的圆有无数个。当有I、K为零时,就可以省略;无论G90还是G91方式,I、J、K都按相对坐标编程;圆弧插补时,不能用刀补指令G41/G42。G92与G54G59之间的优缺点】G54G59是在加工前设定好的坐标系,而G92是在程序中设定的坐标系,用了G54G59就没有必要再使用G92,否则G54G59会被替换,应当避免。注意:(1)一旦使用了G92设定坐标系,再使用G54G59不起任何作用,除非断电重新启动系统,或接着用G92设定所需新的工件坐标系。(2)使用G92的程序结束后,若机床没有回到G92设定的原点,就再次启动此程序,机床当前所在位置就成为新的工件坐标原点,易发生事故,所以需要慎用。【编程换刀子程序】在加工中心上,换刀是不可避免的。但机床出厂时都有一个固定的换刀点,不在换刀位置,便不能够换刀,而且换刀前,刀补和循环都必须取消掉,主轴停止,冷却液关闭。条件繁多,如果每次手动换刀前,都要保证这些条件,不但易出错而且效率低,因此我们可以编制一个换刀程序保存,然后用M98调用就可以一次性完成换刀动作。以PMC-10V20加工中心为例,程序如下:02002;(程序名)G80G40G49;(取消固定循环、刀补)MO5;(主轴停止)M09;(冷却液关闭)G91G30Z0;(Z轴回到第二原点,即换刀点)M06;(换刀)M99;(子程序结束)在需要换刀的时候,只需在MDl状态下,键入“T5M98P2002”,即可换上所需刀具T5,从而避免了许多不必要的失误。各位可根据自己机床的特点,编制相应的换刀子程序。【同一条程序段中,相同指令(相同地址符)或同一组指令,后出现的起作用】例如换刀程序,T2M06T3;换上的是T3而不是T2;G01G00X50.0Y30.0F200;执行的是Goo(虽有F值,但也不执行GOl)。不是同一组的指令代码,在同一程序段中互换先后顺序执行效果相同。G90G54G00X0Y0Z100.0;G00G90G54X0YOZ100.0;以上各项均在PMC-10V20(FANUCSYSTEM)力U工中心上运行通过。在实际应用中,应当深刻理解各种指令的用法和编程规律。【其他】程序段顺序号,用地址N表示。一般数控装置本身存储器空间有限,为了节省存储空间,程序段顺序号都省略不要。N只表示程序段标号,可以方便查找编辑程序,对加工过程不起任何作用,顺序号可以递增也可递减,也不要求数值有连续性。但在使用某些循环指令,跳转指令,调用子程序及镜像指令时不可以省略。CNCI常见的G代码和M代码表汇总ListofGcodesglCjcodeHG代码Group组号Meaning含义GOO01*Rapidmotion(快速运动)GOl01Linearinterpolationmotion(直线插补运动)G0201CWinterpolationmotion(顺圆插补运动)G0301CCWinterpolationmotion(逆圆插补运动)G0400Dwell(暂停)G0900Exactstop(准确停止)GlO00ProgrammabledatainputGll00G1517*G1617G1702*G1802G1902G2006*G2106G2800G2900G3000G3100G3301G4007*G4107G4207G4308G4408G4908*G5011*G5111G5200(可编程数据输入)Programmabledatainputcancel(可编程数据输入取消)Polarcoordinatecancel(极坐标编程取消)Polarcoordinate(极坐标编程)XYplaneselection(XY平面选择)ZXplaneselection(ZX平面选择)YZplaneselection(YZ平面选择)Selectinches(选择英制)Selectmetric(选择公制)Returntoreferencepoint(返回参考点)Returnfromreferencepoint(从参考点返回)Returnto2nd,3rd,4threferencepoint(返回第2、3、4参考点)Feeduntilskip(跳转)Threading(螺纹切削)Cuttercompensationcancel(取消刀具补偿)Cuttercompensationleft(刀具左补偿)Cuttercompensationright(刀具右补偿)Toollengthcompensation+(刀具长度补偿+)Toollengthcompensation-(刀具长度补偿-)G43G44cancel(取消G43G44)G51cancel(取消G51)Scaling(比例缩放)Setlocalcoordinatesystem(设定局部坐标系)G53OONon-modalmachinecoordinateselection(非模态机床坐标系选择)G5414*Selectworkcoordinatesystem1(设定工件坐标系1)”G5514Selectworkcoordinatesystem2(设定工件坐标系2).G5614Selectworkcoordinatesystem3(设定工件坐标系3),G5714Selectworkcoordinatesystem4(设定工件坐标系4),G5814Selectworkcoordinatesystem5(设定工件坐标系5),G5914Selectworkcoordinatesystem6(设定工件坐标系6),G6000Unidirectionalpositioning(单一方向定位)G6115Exactstopmodal(模态准确停止)G6415*G61cancel(取消G61)G6500Macrocall(调用宏程序)G6816Rotation(旋转)G6916*G68cancel(取消G68)G7309Highspeedpeckdrillingcycle(高速深孔钻循环)G7409Left-handedtappingcycle(左旋攻丝循环)G7609Fineboringcannedcycle(精锋循环)G8009*Cannedcyclecancel(取消固定循环)G8109Drillingcycle(钻孔循环)G8209Spotdrillingcycle(钻孔循环,孔底暂停)G8309Nonnalpeckdrillingcycle(普通深孔钻循环)G8409Tappingcycle(攻丝循环)G8509Boringcycle(键孔循环)G8609Boringcyclewithspindlestop(链/较孔循环,孔底主轴停止)G8709Backboringcycle(背链循环)G8809Boringcycle(锋孔循环,孔底暂停后,主轴停)G8909Boringanddwellcycle(链孔循环,孔底暂停,主轴不停)G9003*Absolute(绝对编程方式)G91G9203Incremental(增量编程方式)Setworkcoordinates(X)(设定工件坐标系)G9405*Feedperminute(每分进给)G9505Feedperrevolution(每转进给)G9613Constantsurfacespeed(恒线速度切削)G9713*Constantsurfacespeedcancel(恒线速度切削取消)G9810*Initialpointreturn(返回初始点平面)G9910Rplanereturn(返回R点平面)ListofGcodes(车床专用)GcodeG代码Group组号Meaning含义G12.121*Polarcoordinateinterpolationcancel(极坐标取消)G13.121Polarcoordinateinterpolation(极坐标)G7000Finishingcycle(精车循环)G7100Stockremovalinturning(外圆粗车循环)G7200Stockremovalinfacing(端面粗车循环)G7300Patternrepeatingcycle(封闭切削循环)G7400Endfacepeckdrillingcycle(端面啄式钻孔循环)G7500Longitudinalcutoffcycle(切槽复合循环)Multiple-threadcuttingcycle(复合螺纹切削循环)Cycleforfacedrilling(端面钻孔循环)Cycleforfacetapping(端面攻丝循环)Cycleforfaceboring(端面键孔循环)Cycleforsidedrilling(侧面钻孔循环)Cycleforsidetapping(侧面攻丝循环)Cycleforsideboring(侧面键孔循环)FeedperminuteG7600G8310G8410G8510G8710G8810G8910G9805*(每分进给)G9905Feedperrevolution(每转进给)ListofMcodesMcodeMeaningM代码含义MOOStopprogram(程序停止)Optionalprogramstop(程序选择停止)Programend(程序结束)Spindleforward(主轴正转)Spindlereverse(主轴反转)Spindlestop(主轴停转)Toolchange(自动换刀)CoolantON(Mist)(冷却液开启(雾状)CoolantON(Flood)(冷却液开启(水状)CoolantOFFMOlM02M03M04M05M06M07M08M09(冷却液关闭)M19Orientspindle(主轴定向)M30Programendandrewind(程序结束并反绕)M31Chipconveyorforward(排屑器正转)M32Chipconveyorreverse(排屑器反转)M33Chipconveyorstop(排屑器停转)M34Incrementcoolantspigotposition(冷却液喷嘴位置上升)M35Decrementcoolantspigotposition(冷却液喷嘴位置下降)M36Palletrotate(托盘回转)M39Rotatetoolturret(刀具转塔架回转)M41Lowgearshift(切换低挡齿轮)M42Highgearshift(切换高挡齿轮)M5OExecutepalletchange(执行托盘交换)M82Toolunclamp(刀具松开)M86Toolclamp(刀具夹紧)M88ThroughthespindlecoolantON(主轴中心孔冷却开启)M89ThroughthespindlecoolantOFF(主轴中心孔冷却关闭)M95Sleepmode(睡眠模式)M96Jumpifnoinput(无输入则跳转)M97Localsubprogramcall(局部子程序调用)M98Subprogramcall(子程序调用)M99Subprogramreturnorloop(子程序返回或循环执行)