搜索文章与案例

Technical Article

三菱 M80 的 G10 重跑一次,G54 为什么又偏了0.2毫米?

三菱 M80 加工中心的 G91 G10 L2 P1 会逐次累加工件偏置。用两张原创图和0.2毫米算例,分清偏置写入、坐标显示与后续定位,并说明 G90、G11 为什么不能撤销已写数值。

G54 的 X 原来是 −300.000。程序里有一行 G91 G10 L2 P1 X0.200,执行一次变成 −299.800;从前面重新执行到这行,又变成 −299.600。后面还是同一个 X20.000,目标位置却又挪了0.2毫米。

问题就在 G91:这行写入的是在原偏置上再加0.200,不是把某个位置固定设成0.200。三菱 M80 加工中心手册对这一点写得很明确,增量方式的工件偏置会随执行次数累加。查重启后的整体偏移,先对照实际执行过几次 G10,再看后面的运动坐标。

先认准这行改的是哪一栏

本文按三菱 M800/M80/E80/C80 加工中心系统 R 版手册第15.9.3节讨论,算例均为毫米输入。L2 表示普通工件坐标偏置输入,P1 指向 G54,X0.200 是本次 X 轴的写入量。P0 对应外部工件偏置,P2 至 P6 分别对应 G55 至 G59。不要把 P1 当成重复次数。

显式写了 L2 P1,写入对象就是 G54;即使此前正在用 G55,也不能据此认定这行会修改 G55。反过来,P1 选定写入对象,并不等于替后续程序完成了 G54 坐标系选择。把偏置写入与坐标系选择分开,阅读程序时更清楚。

两次0.2,怎样变成0.4

只看 G54 的 X 栏,初值为 −300.000:

  • 第一次执行:−300.000 + 0.200 = −299.800。

  • 第二次执行:−299.800 + 0.200 = −299.600。

  • 与最初相比,累计变化是 +0.400,而不是 +0.200。

下面是偏置写入片段,用来比较赋值效果,不包含装刀、运动或加工循环。执行前已经采用毫米输入,不能把示例数值代替实际对刀数据。

G91 G10 L2 P1 X0.200
G90

第二行 G90 让后续位置指令恢复绝对编程;它不会把上一行刚改过的 G54 数值退回去。若整个程序再次执行到第一行,仍会再加0.200。

M80的G91 G10 L2 P1 X0.200使G54 X偏置从负300依次变为负299.8和负299.6;G90绝对写入负299.8重复后不累加。
图1:M80的G91 G10 L2 P1 X0.200使G54 X偏置从负300依次变为负299.8和负299.6;G90绝对写入负299.8重复后不累加。

如果编程意图是每次都把 G54 X 写成某个已经确定的绝对偏置,例如 −299.800,则片段为:

G90 G10 L2 P1 X-299.800

这项赋值重复执行,结果仍是 −299.800。这里“重复不累加”只针对这一个偏置写入动作,不代表整段加工程序可以任意重跑。重新开始的位置、刀补和运动顺序仍是另一组需要逐段核对的数据。

G10没有移动,为什么工件坐标变了

按本节规定,G10 本身不产生轴移动。为了看清偏置与位置的关系,设外部工件偏置为零,没有 G52 局部偏移、坐标旋转等其他变换,并且采用 G54。刀具的机床 X 位置固定在 −280.000。

此时工件坐标 X = 机床坐标 X − G54 的 X 偏置。写入前是 −280.000 − (−300.000) = 20.000。偏置改为 −299.800,显示变成19.800;再改为 −299.600,显示变成19.600。刀具没有因为这条 G10 移动,变化的是它相对于新工件零点的坐标。

刀具机床X位置固定为负280,G54 X偏置从负300变为负299.8和负299.6时,工件X坐标从20变为19.8和19.6。
图2:刀具机床X位置固定为负280,G54 X偏置从负300变为负299.8和负299.6时,工件X坐标从20变为19.8和19.6。

再反过来看下一次绝对定位。如果后续在 G54 下给同一个 X20.000,按上述简化条件,机床 X 目标分别是 −280.000、−279.800、−279.600。G10 写偏置时没走轴,不等于它对后面的轨迹没有影响。

重启排查不要只盯着G90

先记录偏置页面的当前值,再回查真正执行过的写入块。程序窗口光标停在某一行,不等于那行已经执行;手册专门区分显示位置与执行时机。程序中断、重新搜索和从头运行,是否经过写偏置块,要按实际执行记录判断。

把三项放在一起比较:写入前的 G54 X、G10 前生效的 G90/G91,以及本次是否又执行了 G10。若原始偏置没有记录,不能仅凭“偏了0.2”就倒扣0.2。期间可能还有人工修正、测量程序更新或其他写入,必须先把最后应有的偏置值确定下来。

G11 是手册给出的补偿输入取消指令,不是已写数值的撤销键。单独补一行 G11 或 G90,都不能恢复之前的 G54。需要恢复时,要用已经核对的原始偏置数据,而不是猜一次相反方向的增量。

后处理怎样避免反复叠加

检查程序头的 G10 是“装夹坐标初始化”,还是“在现有值上补一点”。两种意图不能共用一条含糊的输出模板。前者需要明确的绝对目标值;后者必须知道基准来自哪里、哪些入口会执行、重启时会不会再次经过。

输出中显式给出 G90 或 G91、L2 和 P 号,不依赖前一工序的模态。G10 单独成块;本节不允许把它与固定循环或子程序调用写在同一块,也不要顺手把 G00、G21 等无关指令塞进写入块。G10 自身是非模态指令,但它所改动的偏置数据不会随着下一行开始就自动复原。

如果偏置表没有变化,位置却随着 G54/G55 切换出现差异,再对照三菱 M80 的 G52 局部偏移与工件坐标切换,不要把局部偏移与 G10 改表混成一个问题。需要核查后处理输出时,按后处理资料清单准备机床型号、完整的程序头、实际中断与重启位置,以及前后两次偏置页面,才能把重复写入点定位到具体一行。

依据

三菱 M800/M80/E80/C80 编程手册 加工中心系统 R版,分册2/2第15.9.3节,印刷页583–586:G10 L2/L20、G90/G91写入规则、执行时机和组合限制。本文数值是按手册规则推导的偏置算例,不是客户加工记录。