打印自 Kezuriba(kezuriba.net/zh/nc/g31/)
G31
加工中心、车床非模态(一次有效),组 00跳转功能(直到输入信号前直线移动)
书写格式与注意事项
G31 X_ Y_ Z_ F_(车床为 G31 X(U)_ Z(W)_ F_)
- 与 G01 一样直线移动,直到有测头等的信号输入;信号输入后立即停止,舍弃剩余的移动,进入下一行。用于测量工件的高度、位置,以及“进给到碰到为止”的作业
- 非模态(组 00)。用到的每一行都要写
- 停止的位置会存入变量,所以可以在宏程序中把测得的值用于计算。变量编号因机型而异(Haas 为 #5061~#5066)
- 要先取消刀具半径补偿、刀尖圆弧半径补偿(G41、G42)再指令(Siemens 的 ISO 方言会报警,三菱电机也是程序错误,Haas 也明确写明不能并用)
- 如果下一行是增量指令,就从“停止的位置”开始移动。如果是绝对指令,就移动到所指令的位置。只有 1 个轴为绝对指令时,没写的轴保持在停止的位置(Siemens 的 ISO 方言、三菱电机)
- 信号没有输入时,有的机型会报警停止,有的机型会移动到终点后若无其事地继续执行。对于会继续的机型,要在宏程序中比较停止位置与终点,来判断“没有碰到”
- F 一定要写。为保护测头,进给不要调得过高(Haas 建议低于 2500 mm/min)
例
G00 G90 G54 X0 Y0 ; G43 H01 Z10. ; (测头的刀具长度) G31 Z-5. F200 ; (碰到就停止。F 一定要写) #100 = #5063 ; (停止时的 Z。#5063 是 Haas 的编号) G00 Z10. ;
这是 Kezuriba 写的、用测头测量工件上表面高度的骨架示例。存入停止位置的变量编号因机型而异。
图解:G31:因信号停止后,下一行如何移动
详细写法与示例:用户宏程序入门:变量(把停止位置 #5061 等用于计算)
各厂家、机床的差异
同一个代码,在不同的数控系统和机床厂家那里,书写格式和功能分配也可能不同。请务必以您所用机床的使用说明书为准。
| 资料 | 机床 | 项目 | 内容 |
|---|---|---|---|
| 三菱电机 | 车床 | 补充 | 信号没有输入时,移动到指令位置后结束(不报警)。没有 F 时使用参数 #1174 的速度。进给倍率固定为 100%,空运行无效 |
| Haas | 加工中心 | 补充 | 信号没有输入时,记录终点位置并继续(不报警)。停止位置存入 #5061~#5066(按轴)。没有 F 会报警。建议进给低于 2500 mm/min(100 inch/min) |
| Siemens(ISO 方言) | 车床 | 补充 | 信号没有输入就走到终点会报警。停止位置存入系统变量 $AA_IM[轴] |
| Siemens(原生) | — | 书写格式 | MEAS(因信号取消剩余移动)、MEAW(不取消,移动到终点) |
| LinuxCNC | — | 番号 | 没有 G31。有 G38.2(没碰到就出错)、G38.3(不出错)、G38.4/G38.5(离开方向)。停止位置存入 #5061~#5069,成败存入 #5070 |
出处
这个代码的含义,在两份以上不同发布方的资料中一致。说明用 Kezuriba 自己的语言撰写。
- Siemens AG“SINUMERIK 802D sl/840D/840D sl/840Di/840Di sl/810D Programming Manual ISO Turning, 04.2007 Edition” cache.industry.siemens.com
- Siemens AG「SINUMERIK 802D sl/840D/840D sl/840Di/840Di sl/810D Programming Manual ISO Milling, 04.2007 Edition(6FC5398-7BP10-0BA0)」 cache.industry.siemens.com
- 三菱电机(Mitsubishi Electric)「MITSUBISHI CNC 700/70 Series Programming Manual (Lathe System)(IB-1500057)」 mitsubishielectric.com
- Haas Automation, Inc.「G31 Feed Until Skip (Group 00)(加工中心,各代码说明页)」 haascnc.com
- Haas Automation, Inc.「Lathe Operator's Manual – 16 Lathe G-Codes(在线版)」 haascnc.com
- LinuxCNC project「G-Codes(LinuxCNC Documentation)」 linuxcnc.org
- Siemens AG「SINUMERIK 840D sl/840D/840Di sl/810D Fundamentals, Programming Manual, Edition 08/2005(6FC5398-1BP10-0BA0)」 cache.industry.siemens.com