资源描述
数控铣编程,一、数控机床编程基本知识 二、数控铣床基本编程指令 三、数控铣床常用编程指令 四、数控铣床编程实例 五、简化编程指令 六、用户宏程序,数控机床编程基础,1、机床坐标轴 2、机床原点、参考点、机床坐标系 3、工件原点和工件坐标 4、绝对、增量编程 5、直径、半径编程 6、程序格式,一、数控编程基本知识,1、坐标系统 1)基本坐标轴 数控机床的坐标轴和方向的命名制订了统一的标准,规定直线进给运动的坐标轴用X,Y,Z表示,常称基本坐标轴。,一、数控编程基本知识,2)旋转轴 围绕X,Y,Z轴旋转的圆周进给坐标轴分别用A,B,C表示,根据右手螺旋定则,如图1所示,以大姆指指向+X,+Y,+Z方向,则食指、中指等的指向是圆周进给运动的+A,+B,+C方向。,一、数控编程基本知识,基本轴与旋转轴的方向: +X =-X, +Y =-Y, +Z =-Z, +A =-A, +B =-B, +C =-C 同样两者运动的负方向也彼此相反。,一、数控编程基本知识,图 1 机床坐标轴,一、数控编程基本知识,3)附加坐标轴: 在基本的线性坐标轴X,Y,Z之外的附加线性坐标轴指定为U,V,W 和P,Q,R。 这些附加坐标轴的运动方向,可按决定基本坐标轴运动方向的方法来决定。,一、数控编程基本知识,一、数控机床编程基础,ZJK-7532立式铣床轴的定义,一、数控编程基本知识,2、机床参考点、机床零点、机床坐标系 机床参考点:为了正确地在机床工作时建立机床坐标系,通常在每个坐标轴的移动范围内设置一个固定的机械的机床参考点(测量起点),(该点系统不能确定其位置) 机床零点:通过已知参考点(已知点)、系统设置的参考点与机床零点的关系可确定一固定的机床零点,也称为机床坐标系的原点。(该点系统能确定其位置)。 机床坐标系:以机床原点为原点,机床坐标轴为轴,建立的坐标系即机床坐标系。(该坐标系是机床位置控制的参照系),一、数控编程基本知识,3、工件坐标系、程序原点 定义:工件坐标系是编程人员在编程时使用的,编程人员选择工件上的某一点为原点(也称程序原点),建立一个坐标系,称为工件坐标系。工件坐标系一旦建立便一直有效,直到被新的工件坐标系所取代。,一、数控编程基本知识,一、数控编程基本知识,图4,一、数控编程基本知识,2-1、G指令(准备功能),二、数控铣床基本编程指令,2-2、M指令(或辅助功能),二、数控铣床基本编程指令,二、数控铣床基本编程指令,一、有关坐标和坐标系的指令 1、绝对值编程G90与相对值编程G91 格式: G90 G X Y Z G91 G X Y Z G90为绝对值编程,每个轴上的编程值是相对于程序原 点的。 G91为相对值编程,每个轴上的编程值是相对于前一位 置而言的,该值等于沿轴移动的距离。,G90、G91为模态功能,G90为缺省值。 区别:图8中给出了刀具由原点按顺序向1、2、3点移动时两种不同指令的区别。,图8 两种指令方式,二、数控铣床基本编程指令,2、坐标系设定G92 格式:G92 X_ Y_ Z_ A_ 其中,X、Y、Z、A为坐标原点(程序原点)到刀具起点(对刀点)的有向距离。 建立:G92指令通过设定刀具起点相对于坐标原 点的位置建立坐标系。此坐标系一旦建立起来, 后序的绝对值指令坐标位置都是此工件坐标系中的坐 标值。,二、数控铣床基本编程指令,二、数控铣床基本编程指令,X、Z取值原则: 1、方便数学计算和简化编程;2、容易找正对刀;3、便于加工检查;4、引起的加工误差小;5、不要与机床、工件发生碰撞;6、方便拆卸工件;7、空行程不要太长;,注意 1、执行此段程序只是建立在工件坐标系中刀具起点相对于程序原点的位置,刀具并不产生运动。 2、执行此程序段之前必须保证刀位点与程序起点(对刀点)符合。 3、G92指令必须单独一个程序段指定,并放在程序的首段。,二、数控铣床基本编程指令,3、工件坐标系选择G54-G59 格式:,二、数控铣床基本编程指令,注意事项: G92指令需后续坐标值指定刀具起点在当前工件坐标系中的坐标值,因此须用单独一个程序段指定,该程序段中尽管有位置指令值,但并不产生运动,在使用G92指令前,必须保证刀具回到加工起始点即对刀点。 使用G54G59建立工件坐标系时,该指令可单独指定 (如上例中的N02句),也可与其他指令同段指定(如上例中的N01句)。使用该指令前,先用MDI方式输入该坐标系坐标原点在机床坐标系中的坐标值,使用G54指令在开机前,必须回过一次参考点,二、数控铣床基本编程指令,二、数控铣床基本编程指令,暂停G04指令 G04 X_ X、为停顿时间 段间过渡方式G09、G61、G64指令 1)准停检查G09指令(非模态,用于清角) 2)精确停止检验G61指令(模态,与G64同组) 3)连续切削方式G64指令 (模态,缺省值,与G61同组;用于小线段连续加工),4、直接机床坐标系编程G53 格式:G53 在含有G53指令的程序段中,用绝对值编程(G90)的移 动指令位置就是在机床坐标系中(相对于机床原点)的 坐标值。 G53指令仅在其被规定的程序段中有效。,二、数控铣床基本编程指令,5、坐标平面选择G17,G18,G19 格式:G17 G18 G19 该指令选择一个平面,在此平面中进行圆弧插补和刀 具半径补偿。 G17选择XY平面,G18选择ZX平面,G19选择YZ平面。 移动指令与平面选择无关。例如在规定了G17 Z_时, Z轴照样会移动。 G17、G18、G19为模态功能,可相互注销,G17为缺省 值。,二、数控铣床基本编程指令,二、有关单位的设定(本课件以FANUC系统为例) 1、尺寸单位选择G20,G21,G22 格式:G20 G21 G22 本系统采用3种尺寸输入制式:英制由G20指定,公制 由G21指定,脉冲当量由G22指定,缺省时采用公制。 3种制式下线性轴、旋转轴的尺寸单位如表4所示。,二、数控铣床基本编程指令,表4 尺寸输入制式及其单位,这3个G代码必须在程序的开头坐标系设定之前用单独的程序段指令。 G20,G21,G22不能在程序的中途切换。,二、数控铣床基本编程指令,2、进给速度单位的设定G94、G95 格式:G94 F_ G95 F_ G94为每分钟进给,F的单位依G20/G21/G22的设定而分别为mm/min,in/min或脉冲当量/min。此外,G94 F_可以指定旋转轴的速度,旋转轴的速度单位为度/min或脉冲当量/min。 G95为每转进给,在F之后,直接指定刀具在主轴转一转的进给量,单位依G20/G21/G22的设定而分别为mm/r,in/r或脉冲当量/r 。这个功能必须在主轴装有编码器时才能使用。 G94、G95为模态功能,可相互注销,G94为缺省值。,二、数控铣床基本编程指令,三、进给控制指令 1、快速定位指令G00 格式:G00 X_Y_Z_A_ 其中,X、Y、Z、A为快速定位终点, G90时为终点在工件坐标系中的坐标; G91时为终点相对于起点的位移量。 G00为模态功能,可由G01、G02、G03或G33功能注销。,二、数控铣床基本编程指令,2、单方向定位指令G60 格式:G60 X_Y_Z_A_ 其中,X、Y、Z、A、为定位终点,在G90时为终点在工件坐标系中的坐标;在G91时为终点相对于起点的位移量。 在单向定位时,每一轴的定位方向是由机床参数确定 的。在G60中,先以G00速度快速定位到一中间点,然 后以一固定速度移动到定位终点。中间点与定位终点 的距离(偏移值)是一常量,由机床参数设定,且从 中间点到定位终点的方向即为定位方向。 G60指令仅在其被规定的程序段中有效。,二、数控铣床基本编程指令,3、线性进给指令G01 格式: G01 X _Y_Z_A_F_ 其中,X、Y、Z、A、为终点, G90时为终点在工件坐标系中的坐标; G91时为终点相对于起点的位移量。 G01和F都是模态代码,G01可由G00、G02、G03或G33功能注销。,二、数控铣床基本编程指令,4、圆弧进给指令G02,G03 圆弧进给 格式: 其中用G17代码进行XY平面的指定,省略时就被默认为是G17, 但当在ZX(G18)和YZ(G19)平面上编程时,平面指定代码不能省略。,二、数控铣床基本编程指令,F_,二、数控铣床基本编程指令,起点,I、J、K分别表示X(U),Y(V),Z(W)轴圆心的坐 标减去圆弧起点的坐标,如图21所示,二、数控铣床基本编程指令,F_,园弧插补注意事项: 1、当圆弧圆心角小于180时,R为正值, 2、当圆弧圆心角大于180时,R为负值, 3、整圆编程时不可以使用R,只能用I、J、K; 4、F为编程的两个轴的合成进给速度。,二、数控铣床基本编程指令,1.螺旋线进给 格式: 螺旋线插补的进给速度F为合成运动速度。,三、数控铣床常用编程指令,例. 如图所示的螺旋线程序 G91时:G91 G03 X-30.0 Y30.0 R30.0 Z10 F100 G90时:G90 G03 X0 Y30.0 R30.0 Z10 F100 G91时: G91 G19 G02 Y30 Z-30 R30 X10 F100 G90时:G90 G19 G02 Y30 Z0.0 R30.0 X10 F100,三、数控铣床常用编程指令,例. 如图所示的螺旋线程序 %0027 G92 X30 Y-50 Z30 G01 Y0 F200 G03 X0 Y30 R30 Z10 G00 Z30 X30Y-50 M30,三、数控铣床常用编程指令,例. 下图所示用直径10mm的键槽刀加工直径50的孔,工件高10mm %0027 N1 G92 X0 Y0 Z30 N10 G03 I-20 Z3 N2 G01 Z11 X20 F200 N11 G03 I-20 Z2 N3 G03 I-20 Z10 N12 G03 I-20 Z1 N4 G03 I-20 Z9 N13 G03 I-20 Z0 N5 G03 I-20 Z8 N14 G03 I-20 N6 G03 I-20 Z7 N15 G01 X0 N7 G03 I-20 Z6 N16 G00 Z30 N8 G03 I-20 Z5 N17 X30 Y-50 N9 G03 I-20 Z4 N18 M30,三、数控铣床常用编程指令,2.虚轴指令G07及正弦线插补 格式: 虚轴规定如下: G07 取0时:指定轴为虚轴 G07 取1时:指定轴为实轴,三、数控铣床常用编程指令,3、正弦线插补(虚轴加螺旋线插补) 1、在G07 指定X、Y、Z0 指令之后,X、Y、Z轴就为虚轴, 2、虚轴只参加计算,不运动。 3、G07仅在其被规定的程度段中有效。 4、虚轴仅对自动操作有效,手动操作无效。,三、数控铣床常用编程指令,例.如图所示,关于Y Z平面上的单周期正弦曲线插补,X轴为虚轴。 XX+YY = RR (R:圆弧半径) Y=R SIN(2Z /L) (L:单周期Z轴移动量) 程序如下: %0001 N01 G92 X0 Y0 Z0 N02 G07 X0 G90 G03 X0 Y.0 I0 J5.0 Z20.0 F100 N04 G07 X1 N05 M30,三、数控铣床常用编程指令,例.如图所示,关于x y平面上的单周期正弦曲线插补,X轴为虚轴。 ZZ+YY = RR (R:圆弧半径) Y=R SIN(2X /L) (L:单周期Z轴移动量) 程序如下: %0001 N01 G92 X0 Y0 Z0 N02 G07 Z0 G19 G90 G03 Y.0 Z0 J5 K0 X20.0 F100 N04 G07 Z1 N05 M30,三、数控铣床常用编程指令,4、回参考点控制指令 1)、自动返回到参考点G28 格式:G28 X _Y_ Z_ A_ 其中,X、Y、Z、A、为指令的终点位置 该指令的终点称之为“中间点”,而非参考点。 在G90时为终点在工件坐标系中的坐标;在G91时为终 点相对于起点的位移量。 由该指令指定的轴能够自动地定位到参考点上。,三、数控铣床常用编程指令,2)、自动从参考点返回G29 格式:G29 X _Y_Z_A_ 其中,X、Y、Z、A、为指令的定位终点, 在G90时为终点在工件坐标系中的坐标;在G91时为终 点相对于中间点的位移量。 由此功能可使刀具从参考点经由一个中间点而定位于 指定点。通常该指令紧跟在一个G28指令之后。 用G29的程序段的动作,可使所有被指令的轴以快速进 给经由以前用G28指令定义的中间点,然后再到达指定 点。 G29指令仅在其被规定的程序段中有效。,三、数控铣床常用编程指令,5、刀具补偿功能指令 1)、刀具半径补偿G40,G41,G42 格式: 其中刀补号地址D后跟的数值是刀具号,它用来调用内 存中刀具半径补偿的数值。,G40,三、数控铣床常用编程指令,在进行刀具半径补偿前,必须用G17或G18、G19指定补偿是在哪个平面上进行。a,b必须与指定平面中的轴相对应。在多轴联动控制中,投影到补偿平面上的刀具轨迹受到补偿,平面选择的切换必须在补偿取消方式下进行,若在补偿方式进行,则报警。 G40是取消刀具半径补偿功能。 G41是在相对于刀具前进方向左侧进行补偿,称为左刀 补,如图31(a)所示。 G42是在相对于刀具前进方向右侧进行补偿,称为右刀 补,如图31(b)所示。 G40、G41、G42都是模态代码,可相互注销。,三、数控铣床常用编程指令,三、数控铣床常用编程指令,例. 见图所示的刀具半径补偿程序。设加工开始时刀具距离工件表面50mm,切削深度为10mm.,三、数控铣床常用编程指令,按增量方式编程 N10 G92 X0.0 Y0.0 Z50 N20 G91 G17 G00 由G17指定刀补平面 N30 G41 X20.0 Y10.0 D01 由刀补号码D01指定刀补刀补启动 N35 Z-48 M03 S500 N38 G01 Z-12 F200 N40 G01 Y40.0 F100 进入刀补状态 N50 X30.0 N60 Y-30.0 N70 X-40.0 N80 G00 Z60 M05 N85 G40 X-10.0 Y-20.0解除刀补 N90 M30,三、数控铣床常用编程指令,按绝对方式编程 N10 G92 X0.0 Y0.0 Z50 N20 G90 G17 G00由G17指定刀补平面 N30 G41 X20.0 Y10.0 D01 启动刀补 N35 Z2 M03 S500 N38 G01 Z-10 F200 N40 G01 Y50.0 F100 刀补状态 N50 X50.0 N60 Y20.0 N70 X10.0 N80 G00 Z50 M05 N85 G40 X0 Y0 解除刀补 N90 M30,三、数控铣床常用编程指令,2、刀具长度补偿G43,G44,G49 格式: 其中,a X,Y,Z,U,V,W,为补偿轴的终点坐标, H为长度补偿偏置号。 假定的理想刀具长度与实际使用的刀具长度之差作为 偏置设定在偏置存储器中,该指令不改变程序就可实 现对a轴运动指令的终点位置进行正向或负向补偿。,_H_,G49,三、数控铣床常用编程指令,用G43(正向偏置),G44(负向偏置)指令偏置的方向。H指令设定在偏置存储器中的偏置量。 无论是绝对指令还是增量指令,由H代码指定的已存入偏置存储器中的偏置值在G43时加,在G44时则是从a轴运动指令的终点坐标值中减去。计算后的坐标值成为终点。 偏置号可用H00-H99来指定。偏置值与偏置号对应,可通过MDI/CRT先设置在偏置存储器中。对应偏置号00即H00的偏置值通常为0,因此对应于H00的偏置量不设定。 要取消刀具长度补偿时用指令G49或H00。 G43、G44、G49都是模态代码,可相互注销。,三、数控铣床常用编程指令,例.如图所示的刀具长度补偿程序。,三、数控铣床常用编程指令,H01= 4.0 (偏置值) N01 G91 G00 X120.0 Y80.0 M03 S500 N02 G43 Z32.0 H01 N03 G01 Z21.0 F1000 N04 G04 P2000 N05 G00 Z21.0 N06 X30.0 Y-50.0 N07 G01 Z41.0 N08 G00 Z41.0 N09 X50.0 Y30.0,三、数控铣床常用编程指令,N10 G01 Z25.0 N11 G04P2000 N12 G00Z57.0 H00 (G49) N13 X200.0 Y60.0 N14 M05 N15 M30 由于偏置号的改变而造成偏置值的改变时,新的偏置值并不加到旧偏置值上。例如,H01的偏置值为20.0,H02的偏置值为30.0时 G90 G43 Z100.0 H01 Z将达到120.0 G90 G43 Z100.0 H02 Z将达到130.0 刀具长度补偿同时只能加在一个轴上,因此下列指令将出现报警。要进行刀具长度补偿轴的切换,必须取消一次刀具长度补偿。 G43 Z_H_ G43 X_H_报警,三、数控铣床常用编程指令,%0027 N1 G92 X0 Y0 Z30 N2 MO3 S500 N3 G01 Z11 X19.178 F1200 #0=58.376/2-10+0.8 WHILE #0 LE 20 #1=8 WHILE #1 GE 1 N3 G91 G02 I-#0 Z-1.5 #1=#1-1 ENDW N15 G90 G01 X0,三、数控铣床常用编程指令,Z11 #0=#0+0.3 G01 X#0 ENDW G01 X20 #1=11 WHILE #1 GE-1 N3 G91 G02 I-20 Z-1.5 #1=#1-1 ENDW N16 G00 Z30 N17 X30 Y-50 N18 M30,例. 下图所示用直径20mm的单刃螺纹镗刀加工M601.5的螺纹,(小径60-2+0.376=58.376),工件高10mm,例. 见下图所示,用8的刀具,沿双点画线加工距离工件上表面3mm深凹槽,四、数控铣床编程实例,例. 见下图所示,用8的刀具,沿双点画线加工距离工件上表面3mm深凹槽,四、数控铣床编程实例,%5002 N1 G92 X0 Y0 Z50 N2 M03 S500 N3 G00 X19 Y24 N4 Z5 N5 G01 Z-3 F40 N6 Y56 N7 G02 X29 Y66 R10 (N7 G02 X29 Y66 I10) N8 G01 X71 N9 G02 X81 Y56 R10 (N9 G02 X81 Y56 J-10) N10 G01 Y24 N111 G02 X71 Y14 R10 (N11 G02 X71 Y14 I-10) N12 G01 X29 N13 G02 X19 Y24 R10 (N13 G02 X19 Y24 J10) N14 G00 Z50 N15 X0 Y0 N16 M30,例. 见下图所示,用8的刀具,加工距离工件上表面3mm深的凸模,四、数控铣床编程实例,例. 见下图所示,用8的刀具,沿双点画线加工距离工件上表面3mm深凸模,四、数控铣床编程实例,%5002 N1 G92 X-40 Y50 Z50 N2 M03 S500 N4 G01 Z-3 F400 N5 G01 G41 X5 Y30 D01 F40 N6 X30 N7 G02 X38.66 Y25 R10 (N7 G02 X38.66 Y25 J-10) N8 G01 X47.32 Y10 N9 G02 X30 Y0 R20 (N9 G02 X30 Y0 I-17.32 J-10) N10 G01 X0 N111 G02 X0 Y20 R10 (N11 G02 X0 Y20 J20) N12 G03 Y40 R10 (N12 G03 Y40 J10) N13 G00 G90 G40 X-40 Y50 N14 G00 Z50 N15 M30,例. 见下图所示,用20的刀具加工下图轮廓,用16的刀具加工下图凹台, 用6、 8的刀具加工孔。,四、数控铣床编程实例,%5002 G92 x-20 y-20 z100 M03 S500 N1 M06 T01 G00 G43 Z-23 H01 G01 G41 X0 Y-8 D01 F100 Y42 X7 Y56 X80 Y46 G02 X70 Y0 R10 G01 X-10 G00 G40 X-20 Y-20 G49 Z100 N2 M06 T2 G00 G43 Z-10 H02 X5 Y-10 G01 Y66 F100 X19,Y-10 X20 Y66 G49 Z100 G00 X-20 Y-20 N3 M06 T03 G00 G43 Z10 H03 G98 G73 X14 Y26 Z-23 R-6 Q-5F50 G99 G73 X42 Y40 Z-23 R4 Q-5F50 G99 G73 X42 Y12 Z-23 R4 Q-5F50 G98 G73 X56 Y26 Z-23 R4 Q-5F50 G00 G49 Z100 X-20 Y-20 M05 M30,例. 见下图所示,用20的刀具加工周边轮廓,用16的刀具加工凹台,用8的钻头加工孔,,四、数控铣床编程实例,例. 见下图所示,用20的刀具加工周边轮廓,用16的刀具加工凹台,用8的钻头加工孔,,四、数控铣床编程实例,%5002 G92 x-20 y-20 z100 M03 S500 N1 M06 T01 G00 G43 Z-23 H01 G01 G41 X0 Y-8 D01 F100 Y56 X80 Y0 X-10 G00 G40 X-20 Y-20 G49 Z100 N2 M06 T2 G00 G43 Z-10 H02 X5 Y-10 G01 Y70 F100 X13 Y-10 X14 Y70,G00 X75 G01 Y-10 F100 X67 Y70 X66 Y-10 G49 Z100 G00 X-20 Y-20 N3 M06 T03 G00 G43 Z10 H03 G98 G73 X12 Y14 Z-23 R-6 Q-5 F50 G98 G73 G91 X23 G90 Z-23 R4 Q-5 L2 F50 G98 G73 X58 Y42 Z-23 R-6 Q-5 F50 G98 G73 G91 X-23 G90 Z-23 R4 Q-5 L2 F50 G00 G49 Z100 X-20 Y-20 M05 M30,五、简化编程指令,1、镜像功能G24,G25 格式: G24 X_Y_Z_A_ M98 P_ G25 X_Y_Z_A_ G24建立镜像,由指令坐标轴后的坐标值指定镜像位置(对称轴、线、点), G25指令用于取消镜像。 G24、G25为模态指令,可相互注销,G25为缺省值。 注: 有刀补时,先镜像 ,然后进行刀具长度补偿、半径补偿。,五、简化编程指令,例. 图34所示的镜像功能程序 %1主程序 N01 G92 X0 Y0 Z10 N02 G91 G17 M03 N03 M98 P100 加工 N04 G24 X0 以Y轴镜像 N05 M98 P100加工 N06 G25 X0 取消Y轴镜像 N07 G24 X0 Y0 以位置点为(0,0) N08 M98 P100加工 N09 G25 X0 Y0取消点(0,0)镜像 N10 G24 Y0以X轴镜像 N11 M98 P100加工 N12 G25 Y0取消X轴镜像 N13 M05 N14 M30,%100子程序 N01 G01 Z-5 F50 N02 G00 G41 X20 Y10 D01 N03 G01 Y60 N04 X40 N05 G03 X60 Y40 R20 N06 Y20 N07 X10 N08 G00 X0 Y0 N09 Z10 N10 M99,五、简化编程指令,2、缩放功能G50,G51 格式: G51 X_Y_Z_P_ M98 P_ G50 其中,G51中的X、Y、Z给出缩放中心的坐标值,P后跟 缩放倍数。G51既可指定平面缩放,也可指定空间缩放。 用G51指定缩放开,G50指定缩放关。在G51后,运动指 令的坐标值以(X,Y,Z)为缩放中心,按P规定的缩 放比例进行计算。使用G51指令可用一个程序加工出形 状相同,尺寸不同的工件。G51、G50为模态指令,可 相互注销,G50为缺省值。 注: 有刀补时,先缩放,然后进行刀具长度补偿、半径补偿。,五、简化编程指令,例如在图35所示的三角形ABC中,顶点为A(30, 40),B(70, 40),C(50, 80),若缩放中心为D(50, 50),则缩放程序为 G51 X50 Y50 P2 执行该程序,将自动计算A,B,C三点坐标数据为A(10,30),B(90,30),C (50,110),从而获得放大一倍的ABC。,五、简化编程指令,3、旋转变换G68,G69 格式:G68 _P_ G69 其中,(、)是由G17,G18或G19定义的旋转中心的坐标值,P为旋转角度,单位是(),0P360.000 G68为坐标旋转功能,G69为取消坐标旋转功能。 注: 在有刀具补偿的情况下,先进行坐标旋转,然后才进行刀具半径补偿、刀具长度补偿。 在有缩放功能的情况下,先缩放后旋转。,五、简化编程指令,例. 如图36所示的旋转变换功能程序。 %1 主程序 N10 G90 G17 M03 N20 M98 P100 加工 N30 G68 X0 Y0 P45 旋转45 N40 M98 P100 加工 N50 G69 取消旋转 N60 G68 X0 Y0 P90 旋转90 N70 M98 P100 加工 N80 G69 M05 M30 取消旋转,%100子程序 (的加工程序) N100 G90 G01 X20 Y0 F100 N110 G02 X30 Y0 I5 N120 G03 X40 Y0 I5 N130 X20 Y0 I10 N140 G00 X0 Y0 N150 M99,五、简化编程指令,4、固定循环 数控加工中,某些加工动作循环已经典型化。例如,钻孔、镗孔的动作是孔位平面定位、快速引进、工作进给、快速退回等,这样一系列典型的加工动作已经预先编好程序,存储在内存中,可用包含G代码的一个程序段调用,从而简化编程工作。这种包含了典型动作循环的G代码称为循环指令 。,五、简化编程指令,孔加工固定循环指令有G73,G74,G76,G80G89,通常由下述6个动作构成(见图37): X、Y轴定位 快速运动到R点(参考点) 孔加工 在孔底的动作 退回到R点(参考点) 快速返回到初始点。,五、简化编程指令,五、简化编程指令,固定循环的程序格式包括数据形式、返回点平面、孔加工方式、孔位置数据、孔加工数据和循环次数。数据形式(G90或G91)在程序开始时就已指定,因此,在固定循环程序格式中可不注出。固定循环的程序格式如下: G98(G99)G_X_Y_Z_R_Q_P_I_J_K_F_L_ 式中第一个G代码(G98或者G99)为返回点平面G代码,G98为返回初始平面,G99为返回R点平面 第二个G代码为孔加工方式, 即固定循环代码G73,G74,G76和G81 G89中的任一个,五、简化编程指令,X、Y为孔位数据,指被加工孔的位置 Z为R点到孔底的距离(G91时)或孔底坐标(G90时) R为初始点到R点的距离(G91时)或R点的坐标值(G90时) Q指定每次进给深度(G73或G83时) ,是增量植, Q0 I、J指定刀尖向反方向的移动量(分别在X、Y轴向上) P指定刀具在孔底的暂停时间 F为切削进给速度 L指定固定循环的次数。 G73、G74、G76和G81G89、Z、R、P、F、Q 、I、J、K不是模态指令。G80、G01G03等代码可以取消固定循环。,五、简化编程指令,1)高速深孔加工循环G73 G98(G99)G73X_Y_Z_R_Q_P_K_F_L_,五、简化编程指令,G73:高速深孔加工循环 G98(G99)G73X_Y_Z_R_Q_P_K_F_L_ 功能:该固定循环用于Z轴的间歇进给,使深孔加工时容易排屑,减少退刀量,可 以进行高效率的加工。 说明: X、Y:孔的位置。 Q:为每次向下的钻孔深度(增量值,取负)。 Z:绝对编程时是孔底Z点的坐标值; K: 为每次向上的退刀量(增量值,取正) 。 增量编程时是孔底Z点相对与参照R点的增量值。 F:钻孔进给速度 R:绝对编程时是参照R点的坐标值; L:循环次数(一般用于多孔加工的简化编程) 增量编程时是参照R点相对与初始B点的增量值 例. %0073 N10G92 X0 Y0 Z80 N15G00 N20G98 G73 G91 X100 G90 R40 P2 Q-10 K5 G90 Z0 I2 F200 N30G00 X0 Y0 Z80 N40M30 注意:1、如果Z、K、Q移动量为零时,该指令不执行。 2、|Q|K|,五、简化编程指令,2)反攻丝循环G74 G98(G99)G74X_Y_Z_R_P_F_L_,五、简化编程指令,2)反攻丝循环G74 (教学机不可用) G98(G99)G74X_Y_Z_R_P_F_L_ 功能:攻反螺纹时主轴反转攻丝,到孔底时主轴停止旋转,主轴正转退回。攻丝时速度倍率不起 作用。使用进给保持时,在全部动作结束前也不停止。 说明: X、Y:螺纹孔的位置。 Z:绝对编程时是孔底Z点的坐标值; 增量编程时是孔底Z点相对与参照R点的增量值。 R:绝对编程时是参照R点的坐标值; 增量编程时是参照R点相对与初始B点的增量值 P:为孔底停顿时间。 F:螺纹导程 L:循环次数(一般用于多孔加工的简化编程) 例. %0074 N10 G92 X0 Y0 Z80 F200 N20 G98 G74 G91 X100 G90 R40 P10 G90 Z0 F1 N30 G0 X0 Y0 Z80 N40 M30 注意:如果Z的移动量为零时。该指令不执行。,五、简化编程指令,3) G76:精镗循环 G98(G99)G76X_Y_Z_R_P_I_J_F_L_,G7,6,精镗,孔,孔底准停定向、反向让刀,快退。,五、简化编程指令,3) G76:精镗循环 (有主轴准停,教学机不可用) G98(G99)G76X_Y_Z_R_P_I_J_F_L_ 功能:精镗时,主轴在孔底定向停止后,向刀尖反方向移动,然后快速退刀。刀尖反向位移量用 地址I、J指定,其值只能为正值。I、J值是模态的,位移方向由装刀时确定。 说明: X、Y:螺纹孔的位置。 P:为孔底停顿时间。 Z:绝对编程时是孔底Z点的坐标值; I:X轴方向偏移量,只能为正值 增量编程时是孔底Z点相对与参照R点的增量值。 J:Y轴方向偏移量,只能为正值 R:绝对编程时是参照R点的坐标值; F:镗孔进给速度 增量编程时是参照R点相对与初始B点的增量值 L:循环次数(一般用于多孔加工的简化编程) 例. %0076 N10 G92 X0 Y0 Z80 N15 G00 N20 G99 G76 G91 X100 G91 R-40 P2 I-20 G91 Z-40 I2 F200 N30 G00 X0 Y0 Z80 N40 M30 注意:如果Z移动量为零,该指令不执行。,G,81,快速钻孔,一次加工到孔底,五、简化编程指令,4) G81:钻孔循环(定点钻) G98(G99)G81X_Y_Z_R_F_L_,五、简化编程指令,4) G81:钻孔循环(定点钻) G98(G99)G81X_Y_Z_R_F_L_ 功能:图42为G81指令的动作循环,包括X,Y坐标定位、快进、工进 和快速返回等动作。 说明: X、Y:螺纹孔的位置。 Z:绝对编程时是孔底Z点的坐标值; 增量编程时是孔底Z点相对与参照R点的增量值。 R:绝对编程时是参照R点的坐标值; 增量编程时是参照R点相对与初始B点的增量值 F:钻孔进给速度 L:循环次数(一般用于多孔加工的简化编程) 例. %0081 N10G92 X0 Y0 Z80 N15G00 N20G99 G81 G90 X100 G90 R40 G90 Z0 P2 F200 N30G90 G00 X0 Y0 Z80 N40M30 注意:如果Z的移动位置为零,该指令不执行。,五、简化编程指令,5)G82:带停顿的钻孔循环 G98(G99)G82X_Y_Z_R_P_F_L_,五、简化编程指令,5) G82:带停顿的钻孔循环 G98(G99)G82X_Y_Z_R_P_F_L_ 功能:此指令主要用于加工沉孔、盲孔,以提高孔深精度。该指令除了要在孔底暂停外, 其他动作与G81相同 说明: X、Y:螺纹孔的位置。 Z:绝对编程时是孔底Z点的坐标值; 增量编程时是孔底Z点相对与参照R点的增量值。 R:绝对编程时是参照R点的坐标值; 增量编程时是参照R点相对与初始B点的增量值。 P:孔底暂停时间。 F:钻孔进给速度。 L:循环次数(一般用于多孔加工的简化编程)。 例. %0082 N10G92 X0 Y0 Z80 N15G00 N20G99 G82 G90 X100 G90 R40 P2 G90 Z0 F200 N30G90 G00 X0 Y0 Z80 N40 M30 注意:如果Z的移动量为零,该指令不执行。,五、简化编程指令,6) G83:深孔加工循环 G98(G99)G83X_Y_Z_R_Q_P_K_F_L_,五、简化编程指令,6) G83:深孔加工循环 G98(G99)G83X_Y_Z_R_Q_P_K_F_L_ 功能:该固定循环用于Z轴的间歇进给,每向下钻一次孔后,快速退到参照R点,然后快进到距已加 工孔底上方为K的位置,再工进钻孔。使深孔加工时更利于排屑、冷却。 说明: X、Y:孔的位置。 Q:为每次向下的钻孔深度(增量值,取负)。 Z:绝对编程时是孔底Z点的坐标值; K:距已加工孔底上方的距离(增量值,取正)。 增量编程时是孔底Z点相对与参照R点的增量值。 F:钻孔进给速度 R:绝对编程时是参照R点的坐标值; L:循环次数(一般用于多孔加工的简化编程) 增量编程时是参照R点相对与初始B点的增量值 例. %0083 N10G92 X0 Y0 Z80 N15G00 N20G99 G83 G91 X100 G90 R40 P2 Q-10 K5 Z0 F200 I2 N30G90 G00 X0 Y0 Z80 N40M30 注意:如果Z、Q、K的移动量为零,该指令不执行。,五、简化编程指令,7)G84:攻丝循环 (要主轴编码器,教学机不可用) G98(G99)G84X_Y_Z_R_P_F_L_,五、简化编程指令,7) G84:攻丝循环 (要主轴编码器,教学机不可用) G98(G99)G84X_Y_Z_R_P_F_L_ 功能:攻正螺纹,主轴正转攻丝,到孔底时主轴停止旋转,主轴反转退回。攻丝时速度倍率不起作用。使用进给保持时,在全部动作结束前也不停止。 说明: X、Y:螺纹孔的位置。 Z:绝对编程时是孔底Z点的坐标值; 增量编程时是孔底Z点相对与参照R点的增量值。 R:绝对编程时是参照R点的坐标值; 增量编程时是参照R点相对与初始B点的增量值 P:为孔底停顿时间。 F:螺纹导程 L:循环次数(一般用于多孔加工的简化编程) 例. %0074 N10 G92 X0 Y0 Z80 F200 N20 G98 G74 G91 X100 G90 R40 P10 G90 Z0 F1 N30 G0 X0 Y0 Z80 N40 M30 注意:如果Z的移动量为零时。该指令不执行。,五、简化编程指令,8) G85:镗孔循环 G98(G99)G85X_Y_Z_R_P_F_L_,镗刀,孔底 Z点,初始 B点,参照 R点,五、简化编程指令,8) G85:镗孔循环 G98(G99)G85X_Y_Z_R_P_F_L_ 功能:该指令主要用于精度要求不太高的镗孔加工,其动作为:F速工 进镗孔、孔底延时、F速工退,全过程主轴旋转。 例. %0076 N10 G92 X0 Y0 Z80 N15 G00 N20 G99 G85 G91 X100 G91 R-40 P2 G91 Z-40 I2 F200 N30 G00 X0 Y0 Z80 N40 M30 注意:如果Z移动量为零,该指令不执行。,五、简化编程指令,9) G86:镗孔循环 G98(G99)G86X_Y_Z_R_F_L_,五、简化编程指令,9) G86:镗孔循环 G98(G99)G86X_Y_Z_R_F_L_ 此指令与G81相同,但在孔底时主轴停止,然后快速退回。 例. %0086 N10G92 X0 Y0 Z80 N15G00 N20G98 G86 G90 X100 G90 R40 Q-10 K5 P2 G90 Z0 F200 N30G90 G00 X0 Y0 Z80 N40M30 注意:如果Z的移动位置为零,该指令不执行。,五、简化编程指令,10) G87:反镗循环 (需要主轴准停、教学机不能用) G98G87X_Y_Z_R_P_I_J_F_L_,孔底 Z点,初始 B点,参照 R点,G99,孔底延时P秒准停,偏移I或J量,刀具快移到B点主轴定向停转反向偏移I或J量快移到参照高度偏移到R点 主轴正转向上工进镗孔延时P秒主轴定向停转反向偏移I或J量快速抬刀 到安全高度偏移到B点主轴正转,五、简化编程指令,10) G87:反镗循环 (需要主轴准停、教学机不能用) G98G87X_Y_Z_R_P_I_J_F_L_ %0087 N10 G92 X0 Y0 Z80 N15 G00 F200 N20 G98 G87 G91 X100 Y100 I-10 G90 R0 P2 G90 Z40 I2 N30 G90 G00 X0 Y0 Z80 M05 N40 M30 注意: 1、如果Z的移动量为零,该指令不执行。 2、此指令不得使用G99,如使用则提示“固定循环格式错”报警,五、简化编程指令,11) G88:镗孔循环 (手镗 ) G98(G99)G88X_Y_Z_R_P_F_L_,精镗孔:该类镗孔不需要主轴定向,孔底 Z点,初始 B点,参照 R点,初始B点,G98,G99,返回R点后主轴正转,参照R点,孔底Z点,返回B点后主轴正转,孔底延时、主轴停止,五、简化编程指令,11) G88:镗孔循环 (手镗 ) G98(G99)G88X_Y_Z_R_P_F_L_ 图中给出了该指令的循环动作次序。工进镗孔到孔底,延时P秒后主轴停止旋转,机床停止进给,将工作方式置为手动,并将刀具从孔中手动退出。到初始平面或参照平面上方后,主轴正转,再将工作方式置为自动,按“循环启动”键,刀具返回B点或R点,运行下面的程序。该指令不需主轴准停 例. %0088 N10 G92 X0 Y0 Z80 N15 G00 F200 N20 G98 G88 G90 X100 Y100 G90 R40 P2 G90 Z0 N30 G90 G00 X0 Y0 Z80 M05 N40 M30 注意:如果Z的移动量为零,该指令不执行。,五、简化编程指令,12) G89:镗孔循环 G98(G99)G89X_Y_Z_R_P_F_L_,五、简化编程指令,12) G89:镗孔循环 G98(G99)G89X_Y_Z_R_P_F_L_ 此指令与G86指令相同,但在孔底有暂停。(孔底延时、停主轴)例. %0089 N10 G92 X0 Y0 Z80 N15 G00 N20 G99 G89 G90 X100 Y100 G90 R40 Q-10 K5 P2 G90 Z0 I2 F200 N30 G90 G00 X0 Y0 Z80 N40 M30 注意:如果Z的移动量为零,该指令不执行。,五、简化编程指令,注意: 1、在固定循环中,定位速度由前面的指令决定。 2、各固定循环指令均为非模态值,因此每句指令的各项参数应写全。 3、固定循环中定位方式取决与上次是G00还是G01,因此如果希望快速定位则在上一行或本语句开头加G00。 13) G80:取消固定循环 该指令能取消固定循环,同时R点和Z点也被取消。,五、简化编程指令,使用固定循环时应注意以下几点: 在固定循环指令前应使用M03或M04指令使主轴回转在固定循环程序段中,X, Y, Z, R数据应至少指令一个才能进行。 孔加工在使用控制主轴回转的固定循环(G74、G84、G86)中,如果连续加工一些孔间距比较小,或者初始平面到R点平面的距离比较短的孔时,会出现在进入孔的切削动作前时,主轴还没有达到正常转速的情况,遇到这种情况时,应在各孔的加工动作之间插入G04指令,以获得时间 .,五、简化编程指令,当用G00G03指令之一注销固定循环时,若G00G03指令之一和固定循环出现在同一程序段,当程序格式为 G00 (G02,G03) G_X_Y_Z_R_Q_P_F_L_ 时,按G_指定的固定循环运行 当程序格式为 G_ G00 (G02,G03) X_Y_Z_R_Q_P_F_L_ 时,按G00(或G02,G03)进行X、Y移动在固定循环程序段中,如果指定了辅助功能M,则在最初定位时送出M信号,等待M信号完成,才能进行孔加工循环。,五、简化编程指令,例 图47所示的钻孔循环程序(设Z轴开始点距工作表面100mm处,切削深度为20mm)。 G92 X0 Y0 Z50 G91 G00 S300 M03 G99 G81 X10.0 Y10.0 Z22.0 R48.0 F150 G99 G81 Y30.0 Z-22 R-48 G99 G81 X10.0 Y10.0 Z-22 R-48 G99 G81 X10.0 Z-22 R-48 G98 G81 X10.0 Y20.0 Z-22 R-48 (G98指令刀具返回初始点) G80 X40.0 Y30.0 M05 (G80取消固定循环,只移动不加工) G00 X0 Y0 Z50 M30,五、简化编程指令,例 图48所示的螺纹加工程序(设Z轴开始点距工作表面50mm处,切削深度为10mm)。 (i) 先用G81钻孔 G92 X0 Y0 Z50 G91 G00 Y40 M03 G98 G81 X40.0 Z-12.0 R-48.0 L4 F100 G00 Y50 G98 G81 X-40.0 Z-12 R-48 L4 G80 X0 Y0 M05,五、简化编程指令,(ii) 再用G84攻丝 G91 G00 Y40 M03 G99 G84 X40.0 Z17.0 R43.0 L4 F280(螺距为2、主轴转速为140r/min) G00 Y50.0 G99 G84 X-40.0 Z-17 R-43 L4 G80 Z43.0 X160.0 Y90.0 M05 M30,六、宏指令编程,华中型数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。,六、宏指令编程,宏指令编程 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程、。较大地简化编程;扩展应用范围。,宏变量及常量 宏变量 #0#49 当前局部变量 #50#99 全局变量 #100#199 刀补号 100199的补偿值 #200#249 0层局部变量 #250#299 1层局部变量 #300#349 2层局部变量 #350#399 3层局部变量 #400#449 4层局部变量,六、宏指令编程,#450#499 5层局部变量 #500#549 6层局部变量 #550#599 7层局部变量 #600#699 刀具长度寄存器H0H99 #700#799 刀具半径寄存器D0D99 #800#899 刀具寿命寄存器 #1195#1199为系统内状态变量(可调用,不可改变),六、宏指令编程,宏指令编程 当前局部变量#0#38对应的宏调用量传递的字段参数名,宏指令编程 参数传递规则,常量 PI:圆周率 TRUE:真 FALSE:假,六、宏指令编程,运算符与表达式 算术运算符: +,-,*,/ 条件运算符: EQ(=),NE(),GT(),GE(),LT(),LE() AR:判断参数合法性的宏 (其可用来判别该变量是否被定义,是被定义为增量或绝对方式) 逻辑运算符: AND,OR,NOT 函数 SIN(正弦)、COS(余弦)、TAN(正切)、 ATAN(反正切-9090)、ABS(绝对值)、INT(取整)、 ATAN2 (反正切-180180) 、 SIGN(取符号)、 SQRT(开方)、EXP(指数),六、宏指令编程,表达式: 用运算符连接起来的常数,宏变量构成表达式。 例如:175/SQRT2 * COS55 * PI/180 #3*6 GT 14 赋值语句 格式:宏变量=常数或表达式 把常数或表达式的值送给一个宏变量称为赋值。 例如: #2 = 175/SQRT2 * COS55 * PI/180 #3 = 124.0,六、宏指令编程,条件判别语句IF, ELSE,ENDIF 格式 (i): IF条件表达式 ELSE ENDIF 格式(ii) :IF条件表达式 ENDIF 循环语句WHILE,ENDW 格式: WHILE 条件表达式 ENDW,六、宏指令编程,系列椭圆加工(XX)/(aa)+(YY)/(bb)=1 X=aCOS Y =bSIN %0001 #0=5 (定义刀具半径R值) #1=20 (定义a值) #2=10 (定义b值) #3=0 (定义步距角的初值,单位:度) N1 G92 X0 Y0 Z10 N2 G00 X#0+#1 Y#0+#2 N3 G01 Z0 N4 G41 X#1 N5 WHILE #3 GE -360 N6 G01 X#1*COS#3*PI/180 Y#2*SIN#3*PI/180 N7 #3=#3-5 ENDW G01 G91 Y-#0 G00 Z10 M30,六、宏指令编程,系列椭圆加工(XX)/(aa)+(YY)/(bb)=1 %0001 N1 G92 X0 Y0 Z10 N2 M98 P0002 A12 B6 R6 (#0A #1B #17R;R为刀具半径值) %0002 N15 ENDW N3 #2=-#0 N16 G01 X#0 Y0 N4 #3=#0 N17 WHILE #3 GE -#0 N5 #101=#17 N18 #13=-#1*SQRT#0*#0-#3*#3/#0 N6 G00 X-#0-2*#17 Y-#1-2*#17 N19 G01 X#3 Y#13 N7 G64 Z0 N20 #3=#3-0.1 N8 G01 G41 X-#0 Y-#1 D101 F400 N21 ENDW N9 Y0 F100 N22 G01 X-#0 Y0 N10 WHILE #2 LE #0 N23 Y#1+2*#17 F400 N11 #12=#1*SQRT#0*#0-#2*#2/#0 N2
展开阅读全文