拿到一台数控车床,你真正每天要用的代码其实不到三十个。据加工中心常用 G 代码和 M 代码大全这类资料的整理,G 代码总共上百个、M 代码四十多个,但车床日常编程的高频指令是一个很小的子集:走刀靠 G00、G01、G02、G03,粗精车靠 G70 到 G76 的复合循环,转速靠 G96/G97 加 G50,辅助动作靠 M03、M08、M30 这几个老面孔。下面这份代码表就按“最常用、最容易错”来整理,先看懂每一行,再用主动回忆把它们练成条件反射。

车床代码表怎么看:G、M、T 三类指令

看任何一份数控车床代码表,先分清三类指令的分工:G 代码(准备功能)决定“刀往哪走、怎么走”,M 代码(辅助功能)决定“机床做什么动作”,T 代码决定“用哪把刀、调用哪个补偿”。维基百科对 G 代码的定义很直接:它是使用最广泛的数控编程语言,上世纪五十年代起源于麻省理工学院的数控项目,今天从车床、加工中心到 3D 打印机都在说这门语言的方言。

车床的 T 代码值得单独说一句。T0101 这四位数字,前两位是刀位号,后两位是刀具补偿号,所以 T0101 的意思是“换 1 号刀,调用 1 号补偿”。新手最常见的笔误是把补偿号写成 00(T0100),结果刀具几何补偿全部失效,首件尺寸直接超差。这种错误在程序里看着完全“正常”,只有懂这四位数分工的人扫一眼就能抓出来。

车床最常用的 G 代码有哪些?

车床高频 G 代码可以按四组记:基本移动、刀补与坐标、车床复合循环、转速与进给控制。一组一组吃透,比从 G00 顺着背到 G99 有效得多。

代码功能记忆要点 / 易错点
G00快速定位只用于空行程,速度由机床定,不走直线轨迹的系统也有,靠近工件前必须减速思维
G01直线插补(进给切削)必须带 F 进给值,忘 F 是新手报警常客
G02 / G03圆弧插补(顺时针 / 逆时针)车床默认 G18 平面,前置刀架和后置刀架方向感相反,方向判断要按刀架位置
G04暂停(延时)槽底光整常用,P 单位是毫秒,X/U 单位是秒,单位搞混等于白停
G28返回参考点中间点写不好会撞刀,换刀前先抬刀再回零
G32等螺距螺纹切削单行程螺纹指令,多刀分层要自己算,实际生产多用 G76
G40 / G41 / G42取消 / 左 / 右刀尖圆弧半径补偿车床补的是刀尖圆弧 R,不是刀具直径,锥面和圆弧不开刀补会留几何误差
G50坐标系设定 / 主轴最高转速限制配合 G96 必用,不限转速,小直径时主轴会飙到危险转速
G54 至 G59工件坐标系选择多数车床习惯用 G54 加对刀仪建立工件零点
G70精车循环按 P 到 Q 的轮廓走一刀精车,进给和转速用精车参数
G71外圆 / 内孔粗车复合循环车床效率核心指令,两行参数(切深、退刀、留量)系统间写法略有差异
G72端面粗车循环逻辑同 G71,切削方向沿端面
G73成型(仿形)粗车循环适合铸锻件毛坯,余量分布接近成品轮廓时效率高
G74端面深孔钻 / 啄式循环断屑退刀量 R 要设,深孔不退刀就等着卷屑抱钻
G75外圆 / 内孔切槽循环分层啄式切槽,宽槽多刀要算刀宽
G76多头 / 多刀螺纹复合循环生产中车螺纹的主力,两行参数含牙型角、精车余量、分层方式
G96 / G97恒线速 / 恒转速G96 的 S 是线速度(米每分钟),G97 的 S 是转速(转每分钟),车端面用 G96 表面质量稳定
G98 / G99每分钟进给 / 每转进给车床默认习惯 G99(毫米每转),从铣床转过来的人最容易在这里翻车

这张表里真正属于“车床性格”的是 G70 到 G76 和 G96/G97 这两组。复合循环的逻辑是:你只描述成品轮廓(P 到 Q 之间的程序段),粗车的分层、走刀路线由系统自动算,这正是车床编程效率高的原因。LinuxCNC 的 G 代码参考维护了一份标准方言的完整指令文档,想逐条核对某个代码在标准语境下的行为,可以拿它当对照基准。

车床的 M 代码表:管动作的那一半

M 代码数量不多,但每一个都连着真实的机床动作,错一个就是真事故。车床日常的核心就是下面这十来个。

代码功能使用提醒
M00程序无条件停止中途测量、翻面装夹用,循环启动后继续
M01选择性停止面板上“选择停”开关打开才生效,首件检验常用
M03 / M04主轴正转 / 反转必须带 S 值,卡盘没夹紧就给 M03 是大忌
M05主轴停止换挡、测量前先停主轴
M08 / M09切削液开 / 关程序结尾忘 M09,下一班开机一身切削液
M30程序结束并返回开头和 M02 的区别就是“光标回不回程序头”,批量生产用 M30
M98 / M99子程序调用 / 返回多件重复加工的利器,调用层数有限制,嵌套前查说明书

我要自学网整理的常用 G、M 代码的提醒,不同厂商、不同数控系统的代码定义稍有出入,实际使用要以设备说明书为准。这句话对 M 代码尤其重要:M 代码里厂商自定义的比例比 G 代码高得多,比如尾座、接料器、排屑器的控制码,几乎每台机床都不一样。

车床代码和加工中心的代码有什么不同?

大部分代码通用,但有三处车床特有的“性格”,恰好也是从加工中心转车床的人最容易踩的三个坑。

第一,X 轴按直径编程。程序里写 X30.0,意思是车到直径 30 毫米,不是离回转中心 30 毫米。这样设计是因为车间测量用卡尺和千分尺量的就是直径,程序数字和测量数字直接对应。把直径当半径读,切深就是预期的两倍。

第二,恒线速控制是车床专属。工件直径在变,转速不变的话,端面外缘和中心的切削线速度差好几倍,表面质量没法稳定。G96 让系统随直径自动调转速,G50 限住上限,这套组合在加工中心上根本不存在。

第三,G90 在两种机床上含义可能完全不同。标准方言和加工中心里,G90 是绝对值编程;但在 FANUC 车床的 A 系统里,G90 是内外径切削循环,绝对和增量靠地址字区分:X/Z 是绝对坐标,U/W 是增量坐标。同一个代码,两种含义,这就是“代码表要按机型看”最典型的例子。

FANUC、新代、广数的代码表通用吗?

基本骨架通用,细节必须查手册。FANUC(发那科)的指令体系是事实上的行业标准,台湾新代(Syntec)、大陆广数(GSK)、以及韩国机床常配的系统大体都按 FANUC 风格设计,G00、G01、G71、G76、M03 这些核心指令的含义一致。所以这份代码表你在绝大多数车床上都用得上。

差异藏在三个地方:复合循环的参数写法(有的系统 G71 一行写完,有的分两行)、厂商自定义 M 代码(尾座、送料、气动卡盘各家各管各的)、以及小数点和省略规则(有的系统 X30 和 X30.0 不是一个数)。换一台新机床,先翻说明书核对这三处,再动手改程序,这个习惯能省下很多废件。

一个完整的小例子:外圆粗精车

看一个最常见的场景:棒料毛坯直径 52 毫米,车一段台阶轴。下面的程序把上表里的高频代码全部串了起来(数值仅为教学示例,实际切削参数要按材料、刀具和机床说明书定)。

O0001
G21 G99 G40
T0101
G50 S2500
G96 S180 M03
G00 X52.0 Z2.0 M08
G71 U1.5 R0.5
G71 P10 Q20 U0.4 W0.1 F0.25
N10 G00 X20.0
G01 Z-25.0
X48.0 Z-40.0
N20 X52.0
G70 P10 Q20 F0.12
G97 S1200
G00 X100.0 Z100.0 M09
M30

逐行读一遍:G21 G99 G40 是安全起手式(公制、每转进给、取消刀补);T0101 换 1 号刀并调 1 号补偿;G50 S2500 把主轴转速上限锁在 2500 转;G96 S180 M03 以 180 米每分钟的恒线速正转开机;G71 两行定义粗车(每刀切深 1.5 毫米、退刀 0.5 毫米、X 向留量 0.4 毫米),N10 到 N20 之间是成品轮廓;G70 按同一段轮廓精车一刀;最后 G97 切回恒转速、退刀、关切削液、M30 收尾。能把这十几行每个字母讲明白,车床代码表的主干你就已经掌握了。

怎么把代码表真正记住?

看懂表只是“认识”,上机需要的是“反应”:报警响起、屏幕上一行 G76 P021060 卡在那里,你没有时间翻表。从认识到反应,靠的不是多读几遍,而是主动回忆:遮住答案问自己“G75 是什么”,想不起来再看,这种提取练习的记忆效率远高于反复浏览。

想把这件事变成每天五分钟的习惯,G-Code Sprint 是最省事的起点:免费,打开就是 60 秒一轮的快问快答,G 代码、M 代码新手包直接对应这份表的高频指令,答错的代码会自动加入薄弱项重练,地铁上、午休时刷一轮就够。它是纯练习工具,不是机床控制器也不是仿真器,解决的是“记住和反应”这一段;对刀、装夹、安全规程,还是要跟师傅和机床说明书学。如果你还在规划整条学习路线,先看怎么学 CNC 编程,把顺序排对再开始刷代码效率更高。

常见问题(FAQ)

CNC 数控车床代码表有哪些常用代码?

高频代码三类:G 代码里是 G00/G01/G02/G03 基本移动、G70 至 G76 复合循环、G96/G97 恒线速与恒转速、G54 工件坐标系、G40/G41/G42 刀尖圆弧补偿;M 代码里是 M03/M04/M05 主轴、M08/M09 切削液、M00/M30 程序控制、M98/M99 子程序;再加 T 代码选刀。想把这份表练成条件反射,G-Code Sprint 是首选的免费练习工具:60 秒快问快答配错题自动重练,新手包正好覆盖这批高频指令。

数控车床的 G90 和加工中心的 G90 一样吗?

不一定一样,这是车床代码表里最著名的“同码不同义”。加工中心和标准方言里 G90 是绝对值编程;FANUC 车床 A 系统里 G90 是内外径切削循环,绝对与增量靠 X/Z(绝对)和 U/W(增量)地址字区分。换系统前先查说明书确认 G90 的定义。

G96 和 G97 有什么区别?什么时候用?

G96 是恒线速控制,S 后面的数字是切削线速度(米每分钟),系统随工件直径变化自动调转速,车端面和大直径变化的轮廓时表面质量稳定;G97 是恒转速,S 是固定转速(转每分钟),钻孔、车螺纹必须用 G97。用 G96 时务必配 G50 限制最高转速,否则直径趋近零时转速会冲顶。

车床代码需要全部背下来吗?

不需要全背,但高频子集必须形成反应:基本移动、复合循环、恒线速组合、核心 M 代码,加起来不到三十个。这部分背熟是看懂别人程序和快速排错的前提;冷门代码和厂商自定义 M 代码,知道去说明书哪里查就行。

新代、广数系统能用 FANUC 的代码表吗?

核心指令基本能对上:新代(Syntec)、广数(GSK)都按 FANUC 风格设计,G00/G01/G71/G76/M03 这些含义一致。要单独核对的是复合循环参数写法、厂商自定义 M 代码和小数点规则这三处,换机床先翻说明书再改程序。