Technical Article
三菱 M80 的 G51 写了两倍,为什么 Y 方向没有放大?
针对三菱M80加工中心,比较G51仅写X中心与同时写XY中心的直线终点,说明缩放有效轴、G50清除旧状态及单轴缩放的圆弧限制。
同一段直线轮廓,把 G51 的倍率写成 2,X 尺寸放大了,Y 尺寸却没变。若程序只写了 X 方向的缩放中心,这不一定是倍率没生效:三菱 M80 加工中心的这项规则是,只有指定了中心坐标的轴才参与缩放。
先看 G51 这一行有没有 Y
本文按三菱《M800/M80/E80/C80 加工中心系统编程手册》IB-1501278-T,第20.12节、1059—1062页解释。T 是手册修订号,不是控制器固件版本;此处不推定具体机床的软件版本。对象是具备缩放功能的 M80 加工中心系统,不是车床格式,也不把 M80V 或其他品牌同号指令视为等价。没有缩放规格时,手册列出的报警为 P350。
下面统一采用毫米、G90、零中心、无坐标旋转和无刀具补偿的直线几何例子。每组先用 G50 取消旧缩放。代码只展示缩放与直线段,不包含装夹、Z安全位置、主轴与刀具设定;F100.只是方便观察的示例进给,不是材料切削推荐值。
只让 X 参与
G50 G90 G51 X0. P2.0 G01 X20. Y10. F100. G50
X 中心写为0,倍率为2,目标 X=0+2×(20−0)=40。Y 没有指定缩放中心,因此目标仍为10。结果是当前工件坐标系中的 (40,10),不是 (40,20),也不是直接给出的机床坐标。G51 中的 X0.定义中心,不是叫轴移动到 X0.;实际运动发生在后面的 G01。
希望 X、Y 都放大
G50 G90 G51 X0. Y0. P2.0 G01 X20. Y10. F100. G50
补上 Y0. 后,Y=0+2×(10−0)=20,两轴的终点才成为 (40,20)。本例没有指定 Z 中心,因此不把 Z 加工深度一起缩放。P2.0 放在 G51 之后,明确表达两倍,不把无小数点的整数写法当成同样的倍率。

为什么两组都先写 G50
假如前面已经启用了 Y 缩放,再写一条只含 X 中心的 G51,不能据此断言 Y 已被取消。手册说明:缩放模式中再次给出 G51,会让新指定中心的轴也成为有效缩放轴,并采用最新倍率。所以检查后处理时,要连同前一段的缩放状态一起看,而不是只截取一行。
把这两组代码放在独立的 G50 起点比较,才能把“参与轴不同”这个变量单独看清。对于非零中心,同样按“中心+倍率×(编程坐标−中心)”计算;不要把绝对坐标本身直接乘二。

直线成立,不代表圆弧也能照搬
本例只比较 G01。若圆弧所在平面的两个轴中只有一个轴启用缩放,手册列出的结果是 P70 程序错误,不能期待 G02/G03 自动变成椭圆。要放大 XY 圆弧轮廓,应同时核对该平面两个轴的缩放设置,而不是只补倍率。
缩放也不把刀具半径补偿量、刀长补偿量等数值一并乘二:补偿针对缩放后的形状计算。这里改变的是编程形状,不是把实体刀具直径变大。
后处理里应改哪里
先对照 NC 文件中的 G50、G51 与后续运动段:若需求是 XY 轮廓等比例放大,就让对应中心坐标明确输出,不用“省略坐标表示零”来猜控制器行为。再按一个已知点计算预期终点,检查控制器图形中的几何结果。上面的 (40,10) 与 (40,20) 是数学推导,不是本机试切数据。
中心由 G90/G91 解释,因此还可对照三菱局部坐标与绝对、增量模式理解坐标状态;准备修改后处理时,按后处理最小修改方法保留原输出并比较变化。这里的 G51 不是用来替代 G52 零点平移。