以下是LinuxCNC G代码各指令地址字的详细说明表格,包含标准定义和特殊用法:
LinuxCNC G代码地址字详解
地址字 | 主要功能说明 | 特殊用法及注意事项 |
---|---|---|
N | 行号(可选) | 主要用于程序跳转标记(如N100 ),不参与实际运动控制 |
G | 准备功能指令 | G61 (精确停止模式)、G64 (连续路径模式)是LinuxCNC特有控制模式 |
M | 辅助功能指令 | M66 (等待输入)、M100-M199 (用户自定义宏)为LinuxCNC扩展功能 |
X/Y/Z | 主轴直线坐标(mm/inch) | 支持G53 (机械坐标系)直接编程 |
U/V/W | 第二直线坐标(通常用于增量模式) | 需在INI文件中启用[AXIS_n] 配置 |
A/B/C | 旋转轴坐标(度) | 需配置[AXIS_4] 等参数,支持G0 A90 等指令 |
F | 进给速率(单位/分钟) | G93 (反比进给模式)下表示时间倒数(1/min) |
P | 多功能参数: • G4 P_ 暂停(秒)• M62 P_ 数字输出控制• G10 L2 P_ 坐标系选择 | P0 在M62/M63 中表示所有输出复位 |
I/J/K | 圆弧中心偏移量(相对起点) | G2/G3 中必须与R 二选一,R 为负值时表示大于180°的圆弧 |
D | 刀具半径补偿号 | 实际补偿值从[TOOL_n] 表格读取,支持G41.1/G42.1 动态补偿 |
H | 刀具长度补偿号 | 与G43 配合使用(如G43 H2 ) |
R | 圆弧半径/宏参数 | 在G2/G3 中优先于IJK 使用;在子程序中可作为局部变量(如#<R> ) |
S | 主轴转速(RPM)/子程序参数 | M3 S1000 启动主轴;在G65 调用中作为参数传递 |
Q | 子程序专用参数/深孔钻增量 | G83 X_ Y_ Z_ Q_ R_ 中表示每次钻孔深度 |
T | 刀具选择/时间参数 | G1 T_ 表示样条段时长(需启用G64 P_ 平滑模式) |
特殊功能示例
-
精确停止模式:
G61 ; 启用精确停止
G1 X10 F100 ; 到达X10后完全停止
G64 ; 恢复连续路径模式
动态刀具补偿:
G41.1 D0.5 ; 实时设置0.5mm半径补偿
G1 X10 Y10
条件判断:
#100 = 1
O100 if [#100 EQ 1]
(条件成立执行块)
O100 endif
配置依赖项
-
INI文件关键参数:
[RS274NGC]
FEATURE_ENABLE = 1 ; 启用高级功能
SUBROUTINE_PATH = ./macros ; 宏程序路径
- 工具表格式(tool.tbl):
T1 P1 D1.5 H10.2 ; 刀具1:半径补偿1.5mm,长度补偿10.2mm