简介
G代码是数控程序中的指令。一般都称为G指令,它属于数控编程语言。Marlin 使用Gcode控制多轴电机移动, 它“告诉”3d打印机在哪儿打印,如何移动,挤出多少等。
-
Marlin gcode 解释器在下位机(mcu)方面, 且从插补角度来看用Bresenham算法,通过Bresenham算法计算脉冲控制gpio ,定时器驱动电机;
-
linuxcnc 和machinekit和klipper 和Remora用的是这种 gcode 解析器则在上位机,一般直接通过gpio 控制电机;
gcode 有读和写功能, Gcode 写指cam /cad 切片软件 把图形文件译成gcode 文件传到解释器里,解释器负责把gcode
变成功能指令
常用的 G-Codes
G00------快速定位
G01------直线插补
G02------顺时针方向圆弧插补
G03------逆时针方向圆弧插补
G04------定时暂停
G05------通过中间点圆弧插补
G06------抛物线插补
G07------Z 样条曲线插补
G08------进给加速
G09------进给减速
G10------数据设置
G16------极坐标编程
G17------加工XY平面
G18------加工XZ平面
G19------加工YZ平面
G20------子程序调用
G22------半径尺寸编程方式
G220-----系统操作界面上使用
G23------直径尺寸编程方式
G230-----系统操作界面上使用
G24------子程序结束
G25------跳转加工
G26------循环加工
G30------倍率注销
G31------倍率定义
G32------等螺距螺纹切削,英制
G33------等螺距螺纹切削,公制
G34------增螺距螺纹切削
G35------减螺距螺纹切削
G40------刀具补偿/刀具偏置注销
G41------刀具补偿——左
G42------刀具补偿——右
G43------刀具偏置——正
G44------刀具偏置——负
G45------刀具偏置+/+
G46------刀具偏置+/-
G47------刀具偏置-/-
G48------刀具偏置-/+
G49------刀具偏置0/+
G50------刀具偏置0/-
G51------刀具偏置+/0
G52------刀具偏置-/0
G53------直线偏移,注销
G54------直线偏移x
G55------直线偏移y
G56------直线偏移z
G57------直线偏移xy
G58------直线偏移xz
G59------直线偏移yz
G60------准确路径方式(精)
G61------准确路径方式(中)
G62------准确路径方式(粗)
G63------攻螺纹
G68------刀具偏置,内角
G69------刀具偏置,外角
G70------英制尺寸 寸
G71------公制尺寸 毫米
G74------回参考点(机床零点)
G75------返回编程坐标零点
G76------车螺纹复合循环
G80------固定循环注销
G81------外圆固定循环
G331-----螺纹固定循环
G90------绝对尺寸
G91------相对尺寸
G92------预制坐标
G93------时间倒数,进给率
G94------进给率,每分钟进给
G95------进给率,每转进给
G96------恒线速度控制
G97------取消恒线速度控制
G98 初始水平在罐装循环中返回
g99 “R”电平以罐装周期返回
使用示例
G90 G21
(移动的位置为绝对距离模式,而使用G91就进入增量距离模式,G21以公制单位计算)
G0 X5 Y7
(从当前位置快速移动到X轴为5,Y轴为7的点上面,用于快速移动,比如归位,移动到起始工作点等)
G01 X10 Y77 F100
(G01直线插补,x轴移动到10,y轴移动到77,以每分钟100mm的速度进给)
G02 X20 Y25 i5 j6 f100
M2
(这个就是结束程序)
常见的 M-Codes
除了G指令,还有一些基本的常用命令,比如M,T等,用于刀具补偿、缩放、工作坐标系、停留、开关冷却液等。用户可定制的M代码将根据应用程序和用户定义进行更改。
M 代码命令,常与 G 代码一起在程序中使用。以下是一些常见的 M 代码命令:
M00 – 程序停止
M02 – 程序结束
M03 – 主轴开启 – 顺时针
M04 – 主轴开启 – 逆时针
M05 – 主轴停止
M06 – 换刀
M08 – 开启冷却夜
M09 – 关闭冷却液
M30 – 程序结束
如果是 3D 打印机:
M104 – 启动挤出机加热
M109 – 等到挤出机到达 T0
M140 – 开始加热床
M190 – 等到床位到达 T0
M106 – 设置风扇速度
其中一些命令需要适当的参数。比如用M03打开主轴时,我们可以用S命令设置主轴转速。因此,生产线M30 S1000将以 1000 RPM 的速度开启主轴。