学习数控车床编程:为什么 12 个代码能覆盖大多数车削工作
车床程序看起来很长,但运动只由很少几个指令控制。定位、两种进给、两种圆弧、四个固定循环、主轴旋转和切削液。加上换刀,程序长度主要是不同坐标的重复。学习数控车床编程,真正学的是这几个指令如何相互作用,而不是背手册。
12 不是标准。它只是覆盖我们每周报价的绝大多数简单轴、衬套和接头类工作的数量。掌握这些之后,读别人的程序就不再靠猜。
每个代码都有边界。G00 快但盲目。G71 按假定毛坯形状的模式去除材料。知道代码在哪里不再安全,比知道定义更重要。这才是编程员拿工资的本事。
G00、G01、G02 和 G03:移动刀具
G00 以机床快速移动,车削中心上通常为 20–30 m/min。它不管工件。只在零件上方或空处使用。刀具仍在 X0 时,G00 移到 Z-2.0 mm 会直接撞入端面并打碎刀片。
G01 是按编程进给率的直线进给。加工 6061 铝时,粗车用 0.25–0.35 mm/rev,精车用 0.05–0.12 mm/rev。加工 316 不锈钢时,粗车降到 0.15–0.25 mm/rev。精车进给太轻会摩擦材料而不是切削,表面会被撕裂。
G02 和 G03 切削圆弧,分别为顺时针和逆时针。车床上圆弧在 ZX 平面定义,所以 I 和 K 是起点到圆心的偏移,不是 J。习惯性写 J 是从铣削转来的人最常犯的错误之一。
只有半径真实存在时才用 G02 或 G03。0.4 mm 的角部去锐用 G01 倒角更快。车床上的圆弧移动会占用控制系统,小半径时还会产生多边形表面,而倒角可以避免。
G71、G70、G74 和 G76:按模式去除材料
G71 是粗车循环。你给它每刀切深、精车余量和轮廓。加工 4140 钢时我们每边切 1.5–2.5 mm;铝则 3–4 mm。该循环假定毛坯在一个方向上大于轮廓。如果毛坯是形状不规则的铸件,G71 第一刀会切得很重,此时应改用 G73。
G70 是跟随 G71 轮廓的精车走刀。钢件留 0.2–0.5 mm 径向余量,铝件留 0.3–0.5 mm。不留余量,精车走刀就无料可切,结果零件看起来光亮但尺寸不对。
G74 沿轴线钻孔和啄钻。在 1045 钢上钻 Ø20 mm 孔时,4–6 mm 啄钻并完全退刀可排屑。深孔时啄钻深度应随深度增加而减小,否则钻头会偏,孔会偏离中心。
G76 以受控进刀车螺纹。在 303 不锈钢上加工 M20 × 2.5 螺纹时,我们用 1,200 rpm、首刀 0.3 mm、最小切深 0.08 mm。走刀次数太少会使刀片过载;太多会使表面加工硬化并撕裂螺纹。
M03、M08 以及控制机床的代码
M03 启动主轴正转。对外圆车刀,正转意味着刀片顶面朝向切削。方向反了,刀片会离开刀座。副主轴上的左旋刀方向相反,所以同一个 M03 并不总是正确。
M08 开启大流量切削液。加工 316 不锈钢和钛时这不是可选项。热量排不出去,钛切屑会在刀尖处起火;干车时长条切屑会缠绕刀具。
M30 结束程序并倒回。M05 停主轴,M09 停切削液。把 M05 和 M09 放在刀具退回之前,而不是之后。主轴仍在转时把刀具从内孔拉出,会在已加工孔壁上拖出划痕。
这些代码因为不移动任何东西而常被忘记。但它们仍决定零件是干净出活,还是内孔里留下螺旋划痕。
运行前先读程序
发现错误最快的方法是跟着刀具走,而不是跟着代码走。从换刀位置开始,沿前十个程序段追踪 X 和 Z。如果主轴转起来之前刀具就穿过零件轮廓范围,你就在撞机前找到了错误。
检查工序顺序。端面、中心钻、钻孔、粗车、精车。先钻孔后车端面的程序会切进尚未车平的表面,钻头会偏。
对照材料检查进给。同一程序在 6061 和 17-4PH 不锈钢上运行方式不同。如果编程员没有在材料之间改变进给和转速,不锈钢零件第一刀就会加工硬化。
最后,检查每个刀具块末尾的 M 代码。缺少 M09 会让切削液一直流到下一次换刀,缺少 M05 会让刀塔转位时主轴仍在旋转。都是小事,但会造成实际损伤。
这 12 个代码做不到的事
它们无法补偿磨损的刀片。如果 50 个零件后尺寸漂移了 0.03 mm,问题在刀具,不在程序。换刀片再复查。
它们无法处理需要两次装夹的零件。代码只覆盖一个主轴上的一个工序。零件翻面后,你就是在用新的零点编新程序,两次装夹之间的公差链才是真正的限制。
它们无法纠正错误的工件夹持方案。轴用三爪卡盘夹持、悬伸 4 倍直径,无论进给多好都会让刀。调程序前先用尾座或中心架支撑。
零件在长特征上需要 ±0.005 mm 时,代码只是一半。机床状态、加工过程中的热漂移和走刀之间的检测承担其余部分。把程序当作计划,不是结果。
12 个代码及各自开始不安全的边界
数值为车削中心上钢件和铝件的典型起始值
| 代码 | 作用 | 典型值 | 何时不适合选用 |
|---|---|---|---|
| G00 | 快速定位 | 20–30 m/min | 任何低于零件表面的移动 |
| G01 | 直线进给 | 0.25–0.35 mm/rev 粗车 | 不锈钢上的极轻精车进给 |
| G02 | 顺时针圆弧 | ZX 平面内的 I、K 偏移 | 半径小于 0.5 mm 的转角 |
| G03 | 逆时针圆弧 | ZX 平面内的 I、K 偏移 | 直边或倒角边 |
| G71 | 外圆/内孔粗车循环 | 钢件每边 1.5–2.5 mm | 余量不规则的铸件 |
| G70 | 精加工走刀 | 0.2–0.5 mm 余量 | 未留余量时 |
| G74 | 啄钻循环 | Ø20 mm 孔,4–6 mm 啄钻 | Ø5 mm 以下的孔 |
| G76 | 螺纹循环 | 最小切削 0.08 mm | 螺距细于 0.5 mm 的螺纹 |
| G90 | 简单车削循环 | 单次走刀,直线轮廓 | 带台阶或圆弧的轮廓 |
| G94 | 端面车削循环 | 端面走刀至台阶 | 细长轴 |
| M03 | 主轴正转 | 匹配刀具旋向 | 副主轴上的左旋刀 |
| M08 | 切削液开 | 大流量,钢件常开 | 加工金属时很少出错 |
工程师常问的问题
这 12 个代码在所有车床系统上都通用吗?
本清单中的 G 代码在 FANUC 风格系统上接近通用,大多数车削中心都用这类系统。M 代码差异更大。有些系统用 M03 表示主轴正转,有些在副主轴上另有定义。
运行不熟悉的程序前,务必查阅机床手册确认 M 代码定义。G 代码在机床之间的通用性远比 M 代码可靠。
为什么 G71 在铸件上第一刀切削很重?
G71 假设毛坯是大于精加工轮廓的圆柱。铸件外表面不规则,所以第一刀按编程深度从系统认为的位置开始,而实际表面并不在那里。
铸件和锻件用 G73,它按递增偏移重复精加工轮廓,更贴合实际毛坯形状。
转角处如何在 G01 倒角和 G02/G03 圆弧之间选择?
图纸标圆弧就切圆弧。如果是约 0.5 mm 以下的去毛刺边,G01 倒角更快,在大多数材料上转角更干净。
高进给下的小 G02、G03 圆弧会留下可见棱面,因为系统是分段插补的。倒角没有这个问题。
不锈钢加工起始进给和速度怎么选?
303 或 304 不锈钢外圆车刀,粗车从约 0.15–0.25 mm/rev 开始,精车 0.05–0.10 mm/rev,硬质合金的线速度在 120–180 m/min 范围。
如果切屑变蓝且表面冷作硬化,先降线速度再降进给。不锈钢上进给太轻会摩擦表面并使其硬化。
什么时候完全不该改程序?
尺寸在一批加工中缓慢漂移时,是刀具磨损,程序没问题。换刀片,复查刀补。
首件超差、第十件合格时,是机床在升温。先跑预热循环或几个废件,再动刀补。
这些代码能加工带交叉孔或铣平面的零件吗?
两轴车床不行。交叉孔或平面需要动力刀和 C 轴,或在铣床上做第二道工序。
在车铣复合中心上,同样会出现这些 G 代码,但平面变了,圆弧偏移量也切换回 I 和 J。那是另一个程序,不是本程序的延伸。
