1、华中数控车床编程典型指令G 代码命令 代码组及其含义“模态代码” 和 “一般” 代码“形式代码” 的功能在它被执行后会继续维持,而 “一般代码” 仅仅在收到该命令时起作用。定义移动的代码通常是“模态代码” ,像直线、圆弧和循环代码。反之,像原点返回代码就叫“一般代码” 。每一个代码都归属其各自的代码组。在“模态代码”里,当前的代码会被加载的同组代码替换。 代码组及其含义“模态代码” 和 “一般” 代码“形式代码” 的功能在它被执行后会继续维持,而 “一般代码” 仅仅在收到该命令时起作用。定义移动的代码通常是“模态代码” ,像直线、圆弧和循环代码。反之,像原点返回代码就叫“一般代码” 。每一个代
2、码都归属其各自的代码组。在“模态代码”里,当前的代码会被加载的同组代码替换。G 代码 解释 G00 定位 (快速移动) G01 直线切削 G02 顺时针切圆弧 (CW,顺时钟) G03 逆时针切圆弧 (CCW,逆时钟) G04 暂停 (Dwell) G09 停于精确的位置 G20 英制输入 G21 公制输入 G22 内部行程限位 有效 G23 内部行程限位 无效 G27 检查参考点返回 G28 参考点返回 G29 从参考点返回 G30 回到第二参考点 G32 切螺纹 G36 直径编程 G37 半径编程 G40 取消刀尖半径偏置 G41 刀尖半径偏置 (左侧) G42 刀尖半径偏置 (右侧) G
3、53 直接机床坐标系编程 G54G59 坐标系选择 G71 内外径粗切循环 G72 台阶粗切循环 G73 闭环车削复合循环 G76 切螺纹循环 G80 内外径切削循环 G81 端面车削固定循环 G82 螺纹切削固定循环 G90 绝对值编程 G91 增量值编程 G92 工件坐标系设定 G96 恒线速度控制 G97 恒线速度控制取消 G94 每分钟进给率 G95 每转进给率 支持参数与宏编程 G00 定位 1.格式:G00 X(U)_ Z(W)_2.说明:X、Z:为绝对编程时,快速定位终点在工件坐标系中的坐标;U、W:为增量编程时,快速定位终点相对于起点的位移量;G00 指令刀具相对于工件以各轴预
4、先设定的速度,从当前位置快速移动到程序段指令的定位目标点。G00 指令中的快移速度由机床参数“快移进给速度”对各轴分别设定,不能用 F 规定。G00 一般用于加工前快速定位或加工后快速退刀。快移速度可由面板上的快速修调按钮修正。G00 为模态功能,可由 G01、G02、G03 或 G32 功能注销。注意:在执行 G00 指令时,由于各轴以各自速度移动,不能保证各轴同时到达终点,因而联动直线轴的合成轨迹不一定是直线。操作者必须格外小心,以免刀具与工件发生碰撞。常见的做法是,将 X 轴移动到安全位置,再放心地执行 G00 指令。G01 直线插补 线性进给 1.格式: G01 X(U)_ Z(W)
5、_ F_ ;2.说明:X、Z:为绝对编程时终点在工件坐标系中的坐标;U、W:为增量编程时终点相对于起点的位移量;F_:合成进给速度。G01 指令刀具以联动的方式,按 F 规定的合成进给速度,从当前位置按线性路线(联动直线轴的合成轨迹为直线) 移动到程序段指令的终点。G01 是模态代码,可由 G00、G02、G03 或 G32 功能注销倒直角 1.格式:G01 X(U)_ Z(W)_C_;2.说明:直线倒角 G01,指令刀具从 A 点到 B 点,然后到 C 点X、Z: 为绝对编程时,未倒角前两相邻轨迹程序段的交点 G 的坐标值;U、W:为增量编程时,G 点相对于起始直线轨迹的始点 A 点的移动距
6、离。C: 是相邻两直线的交点 G,相对于倒角始点 B 的距离。倒圆角 1.格式:G01 X(U)_ Z(W)_R_;2.说明:直线倒角 G01,指令刀具从 A 点到 B 点,然后到 C 点X、Z: 为绝对编程时,未倒角前两相邻轨迹程序段的交点 G 的坐标值;U、W:为增量编程时,G 点相对于起始直线轨迹的始点 A 点的移动距离。R: 是倒角圆弧的半径值。G02/G03 圆弧插补 (G02, G03) 1.格式: F_R_I_K_X _Z _X、 Z: 为绝对编程时,圆弧终点在工件坐标系中的坐标;U、W: 为增量编程时,圆弧终点相对于圆弧起点的位移量;I、 K:圆心相对于圆弧起点的增加量( 等于
7、圆心的坐标减去圆弧起点的坐标,) ,在绝对、增量编程时都是以增量方式指定,在直径、半径编程时 I 都是半径值R: 圆弧半径,F: 被编程的两个轴的合成进给速度;注意:(1) 顺时针或逆时针是从垂直于圆弧所在平面的坐标轴的正方向看到的回转方向;(2) 同时编入 R 与 I、K 时,R 有效。螺纹切削 G321.格式:G32 X(U)_Z(W)_R_E_P_F_2.说明:X、 Z: 为绝对编程时,有效螺纹终点在工件坐标系中的坐标;U、W: 为增量编程时,有效螺纹终点相对于螺纹切削起点的位移量;F: 螺纹导程,即主轴每转一圈,刀具相对于工件的进给值;R、 E: 螺纹切削的退尾量,R 表示 Z 向退尾
8、量;E 为 X 向退尾量,R、 E 在绝对或增量编程时都是以增量方式指定,其为正表示沿Z、X 正向回退,负表示沿 Z、X 负向回退。使用 R、E 可免去退刀槽。R 、E 可以省略,表示不用回退功能;根据螺纹标准 R 一般取 0.751.75 倍的螺距, E 取螺纹的牙型高。P:主轴基准脉冲处距离螺纹切削起始点的主轴转角。注意:1 从螺纹粗加工到精加工,主轴的转速必须保持一常数;2 在没有停止主轴的情况下,停止螺纹的切削将非常危险;因此螺纹切削时进给保持功能无效,如果按下进给保持按键,刀具在加工完螺纹后停止运动;3 在螺纹加工中不使用恒定线速度控制功能;4在螺纹加工轨迹中应设置足够的升速进刀段
9、和降速退刀段 ,以消除伺服滞后造成的螺距误差;自动返回参考点 G281.格式:G28 X_Z_2.说明:X、Z: 绝对编程时为中间点在工件坐标系中的坐标;U、W:增量编程时为中间点相对于起点的位移量。G28 指令首先使所有的编程轴都快速定位到中间点,然后再从中间点返回到参考点。一般,G28 指令用于刀具自动更换或者消除机械误差,在执行该指令之前应取消刀尖半径补偿。在 G28 的程序段中不仅产生坐标轴移动指令,而且记忆了中间点坐标值,以供 G29 使用。电源接通后,在没有手动返回参考点的状态下,指定 G28 时,从中间点自动返回参考点,与手动返回参考点相同。这时从中间点到参考点的方向就是机床参数
10、“回参考点方向”设定的方向。G28 指令仅在其被规定的程序段中有效。自动从参考点返回 G291.格式:G29 X_Z_2.说明:X、Z:绝对编程时为定位终点在工件坐标系中的坐标;U、W:增量编程时为定位终点相对于 G28 中间点的位移量。G29 可使所有编程轴以快速进给经过由 G28 指令定义的中间点,然后再到达指定点。通常该指令紧跟在 G28 指令之后。G29 指令仅在其被规定的程序段中有效。暂停指令 G041.格式:G04 P_2.说明:P:暂停时间,单位为 s。G04 在前一程序段的进给速度降到零之后才开始暂停动作。在执行含 G04 指令的程序段时,先执行暂停功能。G04 为非模态指令,
11、仅在其被规定的程序段中有效。G04 可使刀具作短暂停留,以获得圆整而光滑的表面。该指令除用于切槽、钻镗孔外,还可用于拐角轨迹控制。恒线速度指令 G96、G97 1.格式:G96 SG97 S2.说明:G96:恒线速度有效G97:取消恒线速度功能S:G96 后面的 S 值为切削的恒定线速度,单位为 m/min;G97 后面的 S 值为取消恒线速度后,指定的主轴转速,单位为r/min;如缺省,则为执行 G96 指令前的主轴转速度。注意:使用恒线速度功能,主轴必须能自动变速。内(外)径切削循环 G80圆柱面内(外)径切削循环 1.格式: G80 X_Z_F_;2.说明:X、Z:绝对值编程时,为切削终
12、点 C 在工件坐标系下的坐标;增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、W 表示,其符号由轨迹 1 和 2 的方向确定。园锥面内(外)径切削循环1.格式: G80 X_Z_ I_F_;2.说明:X、Z:绝对值编程时,为切削终点 C 在工件坐标系下的坐标;增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、W 表示。I:为切削起点 B 与切削终点 C 的半径差。其符号为差的符号(无论是绝对值编程还是增量值编程)。端面切削循环 G81端平面切削循环1.格式: G81 X_Z_F_;2.说明:X、Z:绝对值编程时,为切削终点 C 在工件坐标系
13、下的坐标;增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、W 表示,其符号由轨迹 1 和 2 的方向确定。园锥端面切削循环 1.格式: G81 X_Z_ K_F_;2.说明:X、Z:绝对值编程时,为切削终点 C 在工件坐标系下的坐标;增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、W 表示。K:为切削起点 B 相对于切削终点 C 的 Z 向有向距离。螺纹切削循环 G82直螺纹切削循环 1.格式: G82 X(U)_Z(W)_R_E_C_P_F_;2.说明:X、Z:绝对值编程时,为螺纹终点 C 在工件坐标系下的坐标;增量值编程时,为螺纹终点
14、 C 相对于循环起点 A 的有向距离,图形中用 U、W 表示,其符号由轨迹 1 和 2 的方向确定;R, E:螺纹切削的退尾量,R、E 均为向量,R 为 Z 向回退量;E 为X 向回退量,R 、E 可以省略,表示不用回退功能;C:螺纹头数,为 0 或 1 时切削单头螺纹;P:单头螺纹切削时,为主轴基准脉冲处距离切削起始点的主轴转角(缺省值为 0);多头螺纹切削时,为相邻螺纹头的切削起始点之间对应的主轴转角。F:螺纹导程;注意:螺纹切削循环同 G32 螺纹切削一样,在进给保持状态下,该循环在完成全部动作之后才停止运动。锥螺纹切削循环 1.格式: G82 X_Z_ I_R_E_C_P_F_;2.说
15、明:X、Z:绝对值编程时,为螺纹终点 C 在工件坐标系下的坐标;增量值编程时,为螺纹终点 C 相对于循环起点 A 的有向距离,图形中用 U、W 表示。I:为螺纹起点 B 与螺纹终点 C 的半径差。其符号为差的符号(无论是绝对值编程还是增量值编程);R, E:螺纹切削的退尾量,R、E 均为向量,R 为 Z 向回退量;E 为X 向回退量,R 、E 可以省略,表示不用回退功能;C:螺纹头数,为 0 或 1 时切削单头螺纹;P:单头螺纹切削时,为主轴基准脉冲处距离切削起始点的主轴转角(缺省值为 0);多头螺纹切削时,为相邻螺纹头的切削起始点之间对应的主轴转角。F:螺纹导程;复合循环有四类复合循环,分别
16、是G71:内(外)径粗车复合循环;G72:端面粗车复合循环;G73:封闭轮廓复合循环;G76:螺纹切削复合循环;运用这组复合循环指令,只需指定精加工路线和粗加工的吃刀量,系统会自动计算粗加工路线和走刀次数。内(外)径粗车复合循环 G71无凹槽加工时1.格式: G71 U( d) R(r) P(ns) Q(nf) X( x) Z( z) F(f) S(s) T(t);2.说明:d:切削深度 (每次切削量),指定时不加符号,方向由矢量 AA决定;r:每次退刀量;ns:精加工路径第一程序段( 即图中的 AA)的顺序号;nf:精加工路径最后程序段(即图中的 BB)的顺序号;x:X 方向精加工余量;z:
17、Z 方向精加工余量;f,s,t:粗加工时 G71 中编程的 F、S、T 有效,而精加工时处于ns 到 nf 程序段之间的 F、S、T 有效。有凹槽加工时1.格式:G71 U( d) R(r) P(ns) Q(nf) E(e) F(f) S(s) T(t);2.说明: d:切削深度( 每次切削量),指定时不加符号,方向由矢量 AA决定;r:每次退刀量;ns:精加工路径第一程序段( 即图中的 AA)的顺序号;nf:精加工路径最后程序段(即图中的 BB)的顺序号;e:精加工余量,其为 X 方向的等高距离;外径切削时为正,内径切削时为负f,s,t:粗加工时 G71 中编程的 F、S、T 有效,而精加工
18、时处于ns 到 nf 程序段之间的 F、S、T 有效。注意:(1) G71 指令必须带有 P,Q 地址 ns、nf ,且与精加工路径起、止顺序号对应,否则不能进行该循环加工。(2) ns 的程序段必须为 G00/G01 指令,即从 A 到 A的动作必须是直线或点定位运动。(3) 在顺序号为 ns 到顺序号为 nf 的程序段中,不应包含子程序。端面粗车复合循环 G72 1.格式:G72 W( d) R(r) P(ns) Q(nf) X( x) Z( z) F(f) S(s) T(t);2.说明:其中:d:切削深度 (每次切削量),指定时不加符号,方向由矢量 AA决定;r:每次退刀量;ns:精加工
19、路径第一程序段的顺序号;nf:精加工路径最后程序段的顺序号;x:X 方向精加工余量;z:Z 方向精加工余量;f、s、t:粗加工时 G71 中编程的 F、S、T 有效,而精加工处于 ns 到 nf 程序段之间的 F、S、T 有效。注意:(1) G72 指令必须带有 P,Q 地址,否则不能进行该循环加工。(2) 在 ns 的程序段中应包含 G00/G01 指令,进行由 A 到 A的动作,且该程序段中不应编有 X 向移动指令。(3) 在顺序号为 ns 到顺序号为 nf 的程序段中,可以有 G02/G03 指令,但不应包含子程序。闭环车削复合循环 G731.格式:G73 U( I) W( K) R(r
20、) P(ns) Q(nf) X( x) Z( z) F(f) S(s) T(t)2.说明: I:X 轴方向的粗加工总余量; k:Z 轴方向的粗加工总余量;r:粗切削次数;ns:精加工路径第一程序段的顺序号;nf:精加工路径最后程序段的顺序号;x:X 方向精加工余量;z:Z 方向精加工余量;f,s,t:粗加工时 G71 中编程的 F、S、T 有效,而精加工时处于ns 到 nf 程序段之间的 F、S、T 有效。注意:I 和 K 表示粗加工时总的切削量,粗加工次数为 r,则每次 X,Z方向的切削量为 I/r,K/r;按 G73 段中的 P 和 Q 指令值实现循环加工,要注意x 和z,I 和K 的正负
21、号。螺纹切削复合循环 G761.格式:G76C(c)R(r)E(e)A(a)X(x)Z(z)I(i)K(k)U(d)V( dmin)Q( d)P(p)F(L);2.说明:c:精整次数(199),为模态值;r:螺纹 Z 向退尾长度(0099) ,为模态值;e:螺纹 X 向退尾长度(0099) ,为模态值;a:刀尖角度( 二位数字 ),为模态值;在 80、60、55 、30 、29和 0六个角度中选一个;x、z:绝对值编程时,为有效螺纹终点 C 的坐标;增量值编程时,为有效螺纹终点 C 相对于循环起点 A 的有向距离;(用 G91 指令定义为增量编程,使用后用 G90 定义为绝对编程。)i:螺纹两
22、端的半径差;如 i=0,为直螺纹 (圆柱螺纹)切削方式;k:螺纹高度;该值由 x 轴方向上的半径值指定; dmin:最小切削深度(半径值);当第 n 次切削深度 (d n?d n?1),小于 dmin 时,则切削深度设定为 dmin;d:精加工余量( 半径值); d:第一次切削深度(半径值);p:主轴基准脉冲处距离切削起始点的主轴转角;L:螺纹导程( 同 G32);刀尖圆弧半径补偿 G40,G41 ,G421.格式:G40/G41/G42G00/G01X_Z_2.说明:数控程序一般是针对刀具上的某一点即刀位点,按工件轮廓尺寸编制的。车刀的刀位点一般为理想状态下的假想刀尖 A 点或刀尖圆弧圆心
23、O 点。但实际加工中的车刀,由于工艺或其他要求,刀尖往往不是一理想点,而是一段圆弧。当切削加工时刀具切削点在刀尖圆弧上变动;造成实际切削点与刀位点之间的位置有偏差,故造成过切或少切。这种由于刀尖不是一理想点而是一段圆弧,造成的加工误差,可用刀尖园弧半径补偿功能来消除。刀尖园弧半径补偿是通过 G41、G42 、G40 代码及 T 代码指定的刀尖园弧半径补偿号,加入或取消半径补偿。G40:取消刀尖半径补偿 X, Z: G00/G01 的参数,即建立刀补或取消刀补的终点;注意:G40、G41 、G42 都是模态代码,可相互注销。(1) G41/G42 不带参数,其补偿号( 代表所用刀具对应的刀尖半径
24、补偿值)由 T 代码指定。其刀尖圆弧补偿号与刀具偏置补偿号对应。(2) 刀尖半径补偿的建立与取消只能用 G00 或 G01 指令,不得是G02 或 G03。刀尖圆弧半径补偿寄存器中,定义了车刀圆弧半径及刀尖的方向号。车刀刀尖的方向号定义了刀具刀位点与刀尖圆弧中心的位置关系,其从 09 有十个方向进给速度单位的设定 G94、G951.格式: G94 F_ ;G95 F_ ;2.说明:G94:每分钟进给;G95:每转进给。G94 为每分钟进给。对于线性轴,F 的单位依 G20/G21 的设定而为mm/min 或 in/min;对于旋转轴,F 的单位为度/min。G95 为每转进给,即主轴转一周时刀
25、具的进给量。F 的单位依G20/G21 的设定而为 mm/r 或 in/r。这个功能只在主轴装有编码器时才能使用。G94、 G95 为模态功能,可相互注销, G94 为缺省值。绝对值编程 G90 与相对值编程 G911.格式: G90G912.说明:G90:绝对值编程,每个编程坐标轴上的编程值是相对于程序原点的。G91:相对值编程,每个编程坐标轴上的编程值是相对于前一位置而言的,该值等于沿轴移动的距离。绝对编程时,用 G90 指令后面的 X、Z 表示 X 轴、Z 轴的坐标值;增量编程时, 用 U、W 或 G91 指令后面的 X、Z 表示 X 轴、Z 轴的增量值;其中表示增量的字符 U、W 不能用于循环指令 G80、G81、G82、 G71、 G72、G73、G76 程序段中,但可用于定义精加工轮廓的程序中G90、 G91 为模态功能,可相互注销, G90 为缺省值。坐标系设定 G921.格式:G92 X_ Z_2.说明:X、Z:对刀点到工件坐标系原点的有向距离。当执行 G92 X Z 指令后,系统内部即对( , )进行记忆,并建立一个使刀具当前点坐标值为( , )的坐标系,系统控制刀具在此坐标系中按程序进行加工。执行该指令只建立一个坐标系,刀具并不产生运动。G92 指令为非模态指令。