上个月在车间调一台新的加工中心,操作工拿着程序单问我:"这行 G00 X50. Y30. 怎么刀直接冲过去了?"我一看,前一行是 G01 模态,进给 F800,后面突然来个 G00 快移——新手常犯的错,模态代码没搞清楚。
干这行十几年,G 代码 M 代码的坑我基本踩了个遍。今天把最常见的几个易错点捋出来,都是血泪教训。
G00 与 G01 的模态陷阱
G00、G01 是模态代码,一旦指定就持续有效。新手最容易忘的就是这一点。比如:
G01 X100. F500
Y50.
G00 Z50.
X0 Y0
Z-5.最后那行 Z-5. 看着没问题,但因为前面 G00 了,Z 轴是快移下去的——直接撞工件。正确写法要么在 Z-5. 前加 G01,要么在 G00 Z50. 后面用 G01 F300 恢复切削进给。
M03 和 M04 别搞反
这个说起来低级,但每年都有人犯。M03 主轴正转,M04 反转。攻丝的时候搞反了,丝锥直接拧断。我一般在程序开头写死:
M03 S3000
G43 H01 Z50.先定转速再启动,配合刀具长度补偿。有些系统支持 M03 S3000 合写,FANUC 和西门子都行,广数有些版本要分开写。
G90/G91 混用搞出的尺寸事故
绝对值和增量混用是最容易出废品的地方。我在一个铝合金壳体程序里见过这种写法:
G90 G54 X0 Y0
G01 Z-2. F200
G91 X50.
G90 X100.G91 X50. 是增量走 50,然后 G90 X100. 又跳回绝对坐标。这种混合编程不是不行,但改程序时极易出错。我的习惯:一个子程序里统一用 G90,需要增量时单独开一段,前后用注释标清楚。
M00/M01 的区别
M00 无条件暂停,M01 选择性暂停(要打开选择停止开关才生效)。粗精加工分开时,我在精加工前插 M00,让操作工测量去毛刺。M01 用在可选的检查点,不影响自动运行。
G28 回参考点的隐患
G28 是回机床参考点,很多人直接拿来当安全高度用。问题是 G28 经过中间点时刀具会移动,中间点坐标设错了就撞。我现在习惯用 G53 Z0 代替——直接回 Z 轴机械零点,安全可靠。
还有个细节:G28 之前要取消刀补(G40 G49),否则带着补偿回参考点,位置会偏。这些细节看着琐碎,但出了事就是撞刀断主轴。
总结一句:写程序别图快,模态状态心里要有数。每段开头把 G 代码写全,宁可多几个字也别省。