以下是 LinuxCNC 数控系统中 G代码 和 M代码 的详细介绍,涵盖标准功能及部分扩展特性。LinuxCNC 是一款开源的数控系统,兼容大部分标准 G/M 代码,并支持用户自定义功能。内容基于 LinuxCNC 2.8+ 版本及常见编程规范整理: 一、G代码(准备功能)G代码控制机床的运动模式、坐标系、刀具补偿等核心功能。 1. 运动控制G00 - 快速定位
格式:G00 X_ Y_ Z_ 功能:以机床最大速度移动至目标点,非切削运动。
G01 - 直线插补 G02/G03 - 圆弧插补 G33 - 螺纹切削
2. 坐标系与单位G17/G18/G19 - 平面选择
G20/G21 - 单位制 G54~G59.3 - 工件坐标系 G90/G91 - 绝对/增量坐标 G92 - 临时坐标系偏移 格式:G92 X_ Y_ Z_ 功能:将当前点设为新坐标系原点(临时生效)。
3. 刀具补偿G40/G41/G42 - 刀具半径补偿
G43/G44/G49 - 刀具长度补偿
4. 固定循环(钻孔/攻丝)G73~G89 - 钻孔循环
常用指令:
G81 - 简单钻孔
G81 X_ Y_ Z_ R_ F_(R 为安全平面,Z 为钻孔深度)。 G82 - 钻孔+底部暂停
格式:G82 X_ Y_ Z_ R_ P_ F_(P 为暂停时间,单位:秒)。 G83 - 深孔啄钻
格式:G83 X_ Y_ Z_ R_ Q_ F_(Q 为每次啄钻深度)。 G84 - 刚性攻丝
格式:G84 X_ Y_ Z_ R_ F_(需主轴编码器同步)。 G80 - 取消循环
结束所有固定循环。
5. 进给速率模式6. 高级功能G10 - 参数设置
G61/G64 - 路径控制模式
二、M代码(辅助功能)M代码控制机床的辅助操作,如主轴、冷却液、程序流程等。 1. 程序控制M00 - 强制暂停
M01 - 选择性暂停 M02/M30 - 程序结束
2. 主轴控制M03/M04/M05 - 主轴启停
M19 - 主轴定向
3. 冷却液控制4. 换刀与工具控制5. 子程序与宏6. 扩展功能
|