第2章数控铣床编程与操作CNCMillingMachineProgrammingandOperation2.1数控铣床及其控制系统简介床身冷却液箱工作台电气柜立柱主轴箱控制面板XK713型数控铣床结构数控系统为FANUC0iM2.2数控铣床程序编制方法2.2.1程序段的一般格式一个零件程序是一组被传送到数控装置中去的指令和数据,由遵循一定结构句法和格式规则的若干个程序段组成,而每个程序段由若干个指令字组成。1.指令字的格式一个指令字是由地址符(指令字符)和带符号(如定义尺寸的字或不带符号(如准备功能字G代码)的数字数据组成的。程序段中不同的指令字符及其后续数值确定了每个指令字的含义。在数控程序段中包含的主要指令字符如表2.1所示。地址符+数字表2.1指令字符表功能地址意义零件程序号%(或O)程序编号%(或O)0001~9999程序段号N程序段编号:N0~9999准备功能G指令动作方式(直线、圆弧等)G00-99尺寸字X,Y,Z坐标轴的移动命令±99999.999A,B,CU,V,WR圆弧的半径,固定循环的参数I、J、K圆心相对于起点的坐标,固定循环的参数进给速度F进给速度的指定F0~24000主轴功能S主轴旋转速度的指定S0~9999刀具功能T刀具编号的指定T0~99辅助功能M机床开/关控制的指定M00~99补偿号D,H刀具补偿号的指定00~99暂停P,X暂停时间的指定程序号的指定P子程序号的指定P00001~9999重复次数L子程序的重复次数,固定循环的重复次数参数P,Q,R固定循环的参数2.程序段的格式一个程序段定义一个将由数控装置执行的指令行。程序段的格式定义了每个程序段中功能字的句法,程序段的一般格式如下所示。N(数字)G△△X(数字)Y(数字)Z(数字)F(数字)S(数字)M△△;N(数字)--程序段号,该项为任选项(即可不写);G△△--准备功能指令;X(数字)Y(数字)Z(数字)--尺寸字,分别表示沿X、Y、Z坐标方向的位移量;I(数字)J(数字)K(数字)/R(数字)--圆弧插补时圆心相对于圆弧起点的坐标或用半径值表示;D(数字)/H(数字)--刀具补偿号,指定刀具半径/长度补偿存储单元号;F(数字)--进给速度指令;S(数字)--主轴转速指令;M△△--辅助功能指令;;--程序段结束符。3.程序的一般结构一个零件程序必须包括起始符和结束符,且零件程序是按程序段的输入顺序执行而不是按程序段号的顺序执行。但书写程序时建议按升序方式书写程序段号。本系统的程序结构为:程序起始符:%(或O)符,%(或O)后跟程序号;程序体;程序结束:M02或M30;注释符:括号()内或分号(;)后的内容为注释文字。2.2.2常用准备功能指令OftenusedPreparatoryCodes--------Gcodes1.工件坐标系设定/选择指令(G92/G54~G59)1)工件坐标系设定指令(G92)编程格式:G92X__Y__Z__;该指令功能为设定起刀点相对工件坐标系原点的位置。X、Y、Z即为刀具起点到工件坐标系原点的有向距离。G92指令为非模态指令,一般放在零件加工程序的第一个程序段。YXZO刀具起点程序原点30.020.030.0工件坐标系的建立如图所示,在加工工件前,机床首先回参考点,然后将刀具移动至起刀点(对刀点)位置,当执行下例程序段后,G92X30.0Y30.0Z20.0;就建立了工件坐标系,刀具中心在工件坐标系中的位置为X=30.0,Y=30.0,Z=20.0。2)工件坐标系选择指令(G54~G59)该6个指令功能为可分别设定工件坐标系原点相对机床坐标系原点的位置,如图所示。G54~G59可根据需要任意选用。G54~G59为模态功能,可相互注销。XYZXYZ机床原点G54原点G59原点G54工件坐标系G59工件坐标系原点偏置工件坐标系选择G54~G59注意事项(1)G92指令与G54~G59指令都用于设定工件坐标系,但在使用中是有区别的,G92指令通过程序来设定、选用工件坐标系,它所设定的工件坐标系原点与当前刀具所在的位置有关,这一加工原点在机床坐标系中的位置随当前刀具位置的不同而改变;(2)G54~G59指令通过MDI方式设定工件坐标系,一旦设定,加工原点在机床坐标系中的位置不变,它与刀具的当前位置无关,除非通过MDI方式修改。因此,在使用G54~G59指令前,应先用MDI方式输入各坐标系的坐标原点在机床坐标系中的坐标值;(3)G92与G54~G59指令一般不能在一同程序中同时使用。2.绝对/相对坐标编程指令(G90/G91)G90为绝对值编程指令,表示程序段中给出的刀具运动坐标尺寸为绝对坐标值,即给出的坐标值相对于坐标原点。G91为相对值编程指令,表示程序段中给出的刀具运动坐标尺寸为增量坐标值,即相对于前一位置的增量值。XOYAB2053010G90与G91指令的功能如图所示,若刀具从A点沿直线运动到B点,则:用绝对值方式编程时,程序段如下:G90G01X10.0Y20.0;用增量值方式编程时,程序段如下:G91G01X-20.0Y15.0;G90、G91为模态功能,可相互注销,G90为缺省值。3.坐标平面指定指令(G17,G18,G19)该组指令用来选择进行圆弧插补和刀具半径补偿的平面。G17指定XY平面,G18指定ZX平面,G19指定YZ平面,如图所示。G17、G18、G19为模态功能,可相互注销,G17为缺省值。故立式数控铣床(含数控加工中心)该组指令可隐含不写。此外,需要注意的是:直线移动指令与平面选择无关。例如,当执行指令:G17G01Z10.0;时,Z轴移动不受影响。YZX坐标平面选择G19(YZ平面)G18(ZX平面)G17(XY平面)O4.进给控制指令(G00,G01,G02/G031)快速定位指令(G00)编程格式:G00X__Y__Z__;其中X,Y,Z是快速定位至终点的坐标值,在G90编程方式下,终点为相对于工件坐标系原点的坐标;在G91编程方式下,终点为相对于起点的位移量。G00为模态功能指令,可由G01、G02或G03功能指令注销。需要注意的是,在执行G00指令时,由于各轴以各自速度移动,联动直线轴的合成轨迹不一定是直线。如图所示,使用G00编程,要求刀具从A点快速定位到B点。绝对坐标编程:G90G00X90Y45.0;增量坐标编程:G91G00X70Y30.0;为避免刀具与工件发生碰撞,常见的做法是将Z轴移动到安全高度,再执行G00指令。YXO2050901545ACB实际路径编程路径G00编程2)直线插补指令(G01)编程格式:G01X__Y__Z__F__;其中X,Y,Z是直线插补进给终点,在G90编程方式下,终点为相对于工件坐标系原点的坐标;在G91编程方式下,终点为相对于起点的位移量。F为合成进给速度,在没有新的F指令以前一直有效,不必在每个程序段中都写入F指令。G01是模态代码指令,可由G01、G02或G03功能指令注销。G01指令刀具以联动的方式,按F规定的合成进给速度,从当前位置按线性路线(联动直线轴的合成轨迹为直线)移动到程序段指令的终点。如图所示,使用G01编程,要求从A点经B点线性进给到C点(此时进给路线是从A→B→C的折线)。绝对坐标编程:G90G01X25.0Y30.0F100;X40.0Y35.0;增量坐标编程:G91G01X15.0Y20.0F100;X15.0Y5.0;XYABCO102540103035实际路径编程路径G01编程3)圆弧插补指令(G02/G03)编程格式(XY平面):;其中G02为顺时针圆弧插补,G03为逆时针圆弧插补;X、Y是圆弧终点坐标值,在G90编程方式下,终点为相对于工件坐标系原点的坐标;在G91编程方式下,为圆弧终点相对于圆弧起点的位移量;I、J为圆心相对于圆弧起点的偏移值,如图所示,无论在G90还是在G91编程方式下,都是以增量方式指定。若某一分量为零时,圆心起点终点可省略;圆心位置亦可用圆弧半径R表示,当圆弧圆心角≤180°时R为正值;180°时R为负值;圆心角=360°时为一整圆,则不能用R编程,只能用I、J编程。F__R__I__J____Y__XG03G02(1)劣弧AB绝对坐标编程:G90G02X0Y30.0R30.0F80;或G90G02X0Y30.0I30.0F80;增量坐标编程:G91G02X30.0Y30.0R30.0F80;或G91G02X30.0Y30.0I30.0F80;(2)优弧BCA绝对坐标编程:G90G03X-30.0Y0R-30.0F80;或G90G03X-30.0Y0J-30.0F80;增量坐标编程:G91G03X-30.0Y-30.0R-30.0F80;或G91G03X-30.0Y-30J-30.0F80;如图所示整圆,程序段为:(1)从A点顺时针一周时:绝对坐标编程:G90G02X30.0Y0I−30.0F80;增量坐标编程:G91G02X0Y0I−30.0F80;(2)从B点逆时针一周时:绝对坐标编程:G90G03X0Y−30.0J30F80;增量坐标编程:G91G03X0Y0J30.0F80;注意事项:(1)顺时针或逆时针是从垂直于圆弧所在平面的坐标轴的正方向看到的回转方向;(2)同时编入R与I,J,K时,R有效;(3)在XZ平面或YZ平面圆弧插补指令格式分别为:其编程方法同XY平面。F__R__I__K____Z__XG03G02G18F__R__J__K____Z__YG03G02G195.刀具补偿功能指令CutterCompensation1)刀具半径补偿指令(G41,G42,G40)编程格式:G41为刀具半径左补偿,沿刀具运动方向向前看,刀具位于零件左侧。G42为刀具半径右补偿,沿刀具运动方向向前看,刀具位于零件右侧。G40为撤销刀具补偿指令。D为控制系统存放刀具半径补偿量寄存器单元的代码(称为刀补号)__X__Y__Z__DG01G00G40G42G41G19G18G17补偿量在刀具前进方向左侧补偿刀具旋转方向刀具前进方向刀具前进方向(a)左补偿(b)右补偿刀具旋转方向在刀具前进方向右侧补偿补偿量刀具半径补偿G41,G42,G40都是模态代码,可相互注销,G40为缺省值。注意:(1)刀具半径补偿平面的切换必须在补偿取消方式下进行;(2)刀具半径补偿值,由操作者输入到刀具补偿寄存器中;(3)刀具半径补偿的建立与取消,只能用G00或G01指令,而不能是G02或G03指令。所谓刀具半径补偿建立,就是刀具从无半径补偿运动到所希望的刀具半径补偿起点的过程,而刀具半径补偿取消则恰好与此相反。2)刀具长度补偿指令(G43,G44,G49)ToolLengthOffset编程格式:G43为刀长正补,即Z坐标实际移动的坐标值为将Z坐标尺寸字与刀具长度补偿值相加所得的量。G44为刀长负补,即Z坐标实际移动的坐标值为将Z坐标尺寸字与刀具长度补偿值相减所得的量。H为控制系统存放刀具长度补偿量寄存器单元的代码。G43,G44,G49都是模态代码,可相互注销,G49为缺省值。Z__H__G01G00G49G44G436.其他功能指令1)暂停指令DWELL(G04)编程格式:G04P(X)__;其中P为暂停时间,单位为毫秒(ms)。X单位为秒(根据系统设定)G04在前一程序段的进给速度降到零之后才开始暂停动作。G04为非模态指令,仅在其被规定的程序段中有效。2)单位设定指令(1)尺寸单位选择指令G20,G21G20英制输入制式,G21公制输入制式。G20、G21为模态功能,可相互注销。G21为缺省值,(2)进给速度单位设定指令G94,G95编程格式:G94F__G95F__;