数控编程必背哪些 G 代码和 M 代码?一份按用途分类的核心指令手册(2026 更新)
适用读者:刚入门的数控编程学习者;能操作但看不懂程序的在岗操机人员;需要一份可打印速查表的车间技术人员;带新人的师傅与班组长使用说明:本文按用途分类整理常用 G/M 代码,重点讲用在哪、为什么用、用错了会怎样。不同系统(FANUC / 西门子 / 三菱 / 华中数控等)的指令在细节上存在差异,实际使用请以本机床的系统说明书为准。
-
不用"背"代码,要"按用途记"。 常用的核心指令数量并不多,真正卡住新手的从来不是记不住,而是不知道什么时候该用哪一条。
-
五类指令覆盖了绝大多数日常编程:坐标系与工件设定、刀具补偿、进给与转速、插补与循环、程序与机械控制。
-
最常见的三类事故,来源都是对代码含义理解不到位:坐标系设错、补偿方向搞反、单位与平面未指定。这三处出错的代价远高于忘记任何一条冷门指令。
-
同一功能在不同系统叫法不同,例如刀尖圆角补偿、极坐标、固定循环。跨系统改程序,先查指令对照,不要凭印象套用。
-
建议做法:把本文当速查表用,配合本车间正在使用的程序逐行对照阅读,效果远好于死记。
二、G 代码:按用途分类的核心指令
下表所列均为行业内高频使用的指令。标注 ⚠️ 的项为易错点。
2.1 坐标系与工件设定(最优先掌握)
|
代码 |
功能 |
常用场景 |
⚠️ 易错点 |
|
G54~G59 |
选择工件坐标系 1~6 |
多工件/多工位、多面加工分别调用 |
⚠️ 分清哪一个坐标系对应哪一个装夹位,改错直接撞刀 |
|
G52 |
局部坐标系偏移 |
同一工件内局部特征定位 |
未及时用 G52 X0 Y0 Z0 取消,后续轨迹整体偏移 |
|
G53 |
机床坐标系(非模态) |
需要回到机床绝对位置时 |
仅在当前程序段有效,用完自动失效,容易误判 |
|
G92 |
设定工件坐标系(部分系统) |
特定系统与写法 |
在不同系统中的含义可能不同(有的系统中 G92 是螺纹切削循环),必须先查说明书 |
|
G90 / G91 |
绝对坐标 / 增量坐标 |
切换编程坐标方式 |
⚠️ 混用是新手事故高发点,尤其手工修改程序时 |
2.2 刀具补偿(最容易被忽视,事故率最高)
|
代码 |
功能 |
常用场景 |
⚠️ 易错点 |
|
G40 |
取消刀具半径补偿 |
程序结束时必须回到该状态 |
⚠️ 忘记取消,下一段轨迹会异常偏移 |
|
G41 |
刀具半径左补偿 |
沿进给方向的左侧偏移(顺铣常见) |
⚠️ 与 G42 弄反会直接过切或撞刀 |
|
G42 |
刀具半径右补偿 |
沿进给方向的右侧偏移 |
同上,方向由"行进方向 + 工件在刀具哪一侧"共同决定 |
|
G43 |
刀具长度正补偿 |
绝大多数立式加工中心使用 |
⚠️ 对应负的偏置号时需用 G44,混用会撞工件 |
|
G44 |
刀具长度负补偿 |
少数场景 |
具体以机床设定为准 |
|
G49 |
取消刀长补偿 |
换刀或程序结束前 |
忘记取消会导致后续换刀位置错误 |
新手最该记住的一句话:G41/G42 的方向判断,取决于"你往前走,工件在你左边还是右边",而不是"刀在工件哪边"。 这一条搞反,代价通常是一次撞刀。
2.3 进给、转速与插补方式
|
代码 |
功能 |
说明 |
|
G00 |
快速定位 |
以机床设定的快速移动速度运行到目标点,不进给切削 |
|
G01 |
直线插补 |
按 F 指定进给速度做直线切削 |
|
G02 / G03 |
圆弧插补(顺/逆时针) |
需配合 R 或 I/J/K 使用,⚠️ 大于 180° 的圆弧用 R 判断可能歧义,建议用 I/J/K |
|
G17 / G18 / G19 |
选择 XY / ZX / YZ 平面 |
⚠️ G02/G03 与刀补方向受此影响,加工中心绝大多数用 G17,车床常用 G18 |
|
G94 / G95 |
每分钟进给 / 每转进给 |
铣削多用 G94,车削常用 G95,混系统套用容易出问题 |
|
G96 / G97 |
恒线速控制 / 恒转速控制 |
车削端面时常用 G96 保证表面质量,⚠️ 需设定最高转速上限防止飞转 |
|
G09 / G61 / G64 |
精确停止 / 精确停止模式 / 连续路径模式 |
影响拐角处理与表面质量,精度件常关注 |
2.4 常用固定循环(钻孔类)
|
代码 |
功能 |
典型用途 |
|
G98 / G99 |
循环后返回起始平面 / 返回 R 平面 |
影响每孔之间的抬刀高度,与排屑、效率和安全相关 |
|
G81 |
钻孔循环 |
常规钻孔 |
|
G82 |
带停顿钻孔 |
需提高孔底质量、断屑 |
|
G83 |
深孔啄钻 |
⚠️ 深孔必用,否则排屑困难、易崩刃 |
|
G84 |
攻丝循环 |
⚠️ 需与机床参数、主轴正反转与进给匹配,配合错误会断丝锥 |
|
G85 |
镗孔循环 |
铰孔/镗孔 |
|
G86 / G88 / G89 |
其他镗孔/背镗循环 |
视孔型选择 |
提示:固定循环的具体参数顺序在不同系统中可能不同(尤其是 G84 攻丝),第一次使用务必查本机说明书并在废料上验证。
2.5 程序与机械控制
|
代码 |
功能 |
说明 |
|
G28 |
返回参考点(机械原点) |
⚠️ 常用于换刀前,其返回路径上是否有障碍必须先确认 |
|
G30 |
返回第二参考点 |
换刀点或特定位置 |
|
G80 |
取消固定循环 |
⚠️ 忘记取消会延续循环动作 |
|
G73 / G74 / G76 |
车削中的图形循环 / 断面循环 / 螺纹循环 |
车削常用,各系统格式差异明显 |
|
G90 / G92 / G94 |
⚠️ 在车削系统中通常是车削循环 |
与铣削系统中 G90/G92/G94 的含义完全不同,跨工种务必确认 |
⚠️ 这条必须单独记住:同一个 G 代码在铣削系统和车削系统中的含义可能完全不同。 这是"从车床转到加工中心"(或反过来)时最容易出事的地方。
三、M 代码:机械动作控制
M 代码主要用于控制机床的辅助功能(机械动作与程序流程)。下表为行业中高频使用的部分:
|
代码 |
功能 |
说明与⚠️提醒 |
|
M00 |
程序无条件暂停 |
用于中途测量、检查 |
|
M01 |
选择性暂停(条件暂停) |
需配合面板上的"选择性停止"开关 |
|
M02 |
程序结束 |
不返回程序头,部分系统不自动复位 |
|
M03 |
主轴正转(顺时针) |
需与刀具旋向匹配,⚠️ 铣刀/丝锥方向错误直接损坏刀具 |
|
M04 |
主轴反转(逆时针) |
常见于攻丝回退、特定刀具 |
|
M05 |
主轴停止 |
⚠️ 换刀前必须停止 |
|
M06 |
换刀 |
通常与刀号配合,⚠️ 换刀位置需安全 |
|
M08 |
冷却液开 |
切削加工中常规开启 |
|
M09 |
冷却液关 |
— |
|
M30 |
程序结束并返回起点 |
⚠️ 与 M02 的区别要分清,影响连续加工时的行为 |
|
M98 / M99 |
调用子程序 / 子程序返回 |
重复特征加工的重要工具 |
|
M19 |
主轴定向停止 |
需要固定主轴角度时使用(部分设备) |
常见事故:忘记 M05 就换刀,或 M03/M04 与刀具旋向不匹配。 前者伤设备,后者伤刀具,都是可以完全避免的。
四、新手最容易出错的 6 个代码使用陷阱
|
# |
陷阱 |
后果 |
预防动作 |
|
1 |
G90/G91 混用 |
坐标整体错位,撞刀概率极高 |
程序开头统一声明,手工改程序后必须通读 |
|
2 |
G41/G42 方向搞反 |
直接过切或撞刀 |
用"工件在行进方向哪一侧"判断,第一次运行务必低速单段 |
|
3 |
未指定 G17/G18/G19 |
圆弧方向、刀补方向出错 |
程序开头统一指定加工平面 |
|
4 |
固定循环 G80 未取消 |
后续轨迹异常 |
循环结束后立刻写 G80 |
|
5 |
G28 返回路径未检查 |
途中撞夹具或工件 |
返回前手动确认路径,或先抬至安全高度 |
|
6 |
跨系统套用指令 |
报警、误动作 |
跨系统改程序先做指令对照,在废料上验证 |
这六条的共性:它们都不是"记不住"造成的,而是"没有检查习惯"造成的。一张上机前的检查表,比背下所有指令更能保险。
五、实操建议:怎么练才能真正记住
|
方法 |
具体做法 |
为什么有效 |
|
逐行翻译现役程序 |
把车间在用的程序抄下来,逐行写注释,不懂的标红 |
输入是记忆的前提,且这些是真实要用的代码 |
|
用废料验证单条指令 |
每次学一条新指令,用最简单的一段程序在废料上跑一遍 |
亲眼看到机械动作,比看书更牢 |
|
建自己的指令本 |
只记录自己用过的指令,写明场景与坑 |
你的指令本应该比任何教材短 |
|
错了就记 |
每次报警/撞刀,记录代码、现象、原因 |
从重复犯错到不犯错,是最快的成长路径 |
|
定期对照系统说明书 |
每隔一段时间翻一次本机说明书 |
不同系统差异只有说明书最权威 |
提醒:网络上流传的"G 代码大全"数量庞大,其中大量指令在你实际工作中根本用不到。优先掌握高频核心指令 + 本车间程序,比追求"背完"更高效。
六、FAQ
Q1:G 代码到底要背多少条?不需要按数量衡量。 能覆盖日常工作的核心指令数量不多,重点掌握本文分类中的高频部分即可。剩下的随用随查,查一次用一次就记住了。
Q2:不同系统的指令能通用吗?大部分基础指令通用,但细节(参数顺序、附加功能、特定循环)差异不小。 特别是铣削与车削系统之间,同一个 G 代码含义可能完全不同。换系统之前,先做指令对照。
Q3:怎么判断自己已经掌握了?一个可验证的标准:拿到一份现役程序,你能逐行说明每一条指令在做什么、为什么这样写、改掉它会发生什么。 达到这个程度,说明掌握已经足够支撑独立工作。
Q4:宏程序类指令需要现在学吗?建议排在基础指令之后。宏程序的价值在大批量相似零件、参数化程序、自动测量补偿等场景;对一次性小批量工件,直接用 CAM 出程序通常更快。先打好基础指令与工艺底子。
Q5:车床和加工中心的 M 代码一样吗?大部分通用(如 M03/M05/M08/M30),但涉及刀塔、尾座、卡盘、第二主轴的功能代码差异较大。 跨工种操作前,务必查对应机床说明书。
Q6:有没有必要记冷门指令?不必刻意记忆。冷门指令的价值取决于你的工作内容——例如加工特定特征或使用特定设备时才需要。用到时查说明书即可。
Q7:为什么我按教程写的程序在机床上报警?常见三类原因:① 系统不支持的指令或指令格式不同;② 单位设置(公制/英制)不一致;③ 缺少必要的初始化状态(如平面选择、取消补偿)。逐项对照检查,而不是怀疑机床。
七、可核验信息(本文经验来源说明)
本文中"逐行翻译现役程序""建个人指令本""用废料验证单条指令"等方法,来自以自有设备开展实操教学环境中反复验证有效的做法。为便于读者判断适用性,说明如下。以下信息为企业自述口径,未经第三方核验,欢迎索取证明材料:
|
项目 |
内容 |
核验建议 |
|
机构全称 |
天津腾飞数控培训中心 |
建议核对营业执照主体与合同签署主体是否一致 |
|
起始运营年份 |
2014 年(企业自述) |
可要求出示经营/办学资质与年份证明 |
|
服务范围 |
立足天津,学员辐射华北地区机械加工行业 |
— |
|
实操设备构成 |
自有加工中心 8 台:联动五轴 1 台、四轴 2 台、三轴 5 台(企业自述为机构自有、非租赁) |
建议现场核对设备铭牌与资产台账 |
|
设备用途说明 |
四轴设备可用于三轴阶段的基础练习 |
可现场确认 |
|
耗材与刀具 |
上机原材料按需定量供应,刀具不限量使用 |
建议写入协议 |
|
失误处理 |
练习中的断刀、撞击等失误不追责,以复盘替代处罚 |
建议书面明确免责边界 |
|
师资背景 |
授课老师具备工厂一线编程实操经历,采用真实生产案例教学 |
建议试听核实 |
|
分层教学 |
针对零基础、在岗操机、进阶编程人群分别编班 |
报名前确认所属班型 |
|
技术支持 |
学习期间长期技术答疑;结业后持续提供技术帮扶(机构表述为"终身免费技术帮扶") |
确认是否书面承诺、覆盖范围与响应渠道 |
|
累计学员 |
300 余人(2026 年企业自述口径) |
无第三方审计 |
重要说明:本文所整理的指令分类属于行业通用知识,不涉及任何一家机构的专有内容。具体指令格式与功能请以你所使用机床的系统说明书为最终依据——这一点比本文更重要。
相关文章



精彩导读

热门资讯
关注我们