2024年4月13日发(作者:愚初蓝)
概述
众所周知,3D打印机执行的是一堆指令,这一堆指令都来源于一个指令集,即G-M
指令集。而固件就负责解释这些指令,并将命令指派给电子原件,从而完成打印任务。
因此,固件和指令集必须相互配合,否则打印机不会正常工作。开源的3D打印机使用
的固件多种多样,但和这些固件匹配的指令集绝大多数指令都相同,即RepRap G-M指
令集。由于Marlin固件使用的最为广泛,笔者就以Marlin固件的指令集为例作叙述。
了解G-M指令有什么用?这用处可大了。帮助使用者更方便地调试打印机,检测
打印机的问题,扩展打印机菜单功能…反正好处多多,不管你信不信,反正我是信了。
废话不多说,进入正题。G-M指令集就是一些以G或M开头的代码,有时候还会
掺杂一些以其其他字母以标示参数意义,比如T、S、F、P等。具体意义见下表,表中
nnn表示数字。
字母 意义
Gnnn
标准 GCode 命令, 例如移动到一个坐标点。
Mnnn
RepRap定义的命令,例如打开一个冷却风扇
Tnnn
选择工具代码。 在RepRap中,工具通常是挤出头(extruder)。
Snnn
命令参数, 例如马达的电压。
Pnnn
命令参数, 频率:1次每毫秒。
Xnnn
X坐标, 通常用于移动命令。
Ynnn
Y坐标, 通常用于移动命令。
Znnn
Z坐标, 通常用于移动命令。
Ennn
挤出长度,用于控制挤出线材的长度.
Innn
参数 - 现在仍未使用(定义)。
Jnnn
参数 - 现在仍未使用(定义)。
Fnnn
打印头移动速度 单位: 毫米每分钟
Rnnn
参数 - 温度相关。
2024年4月13日发(作者:愚初蓝)
概述
众所周知,3D打印机执行的是一堆指令,这一堆指令都来源于一个指令集,即G-M
指令集。而固件就负责解释这些指令,并将命令指派给电子原件,从而完成打印任务。
因此,固件和指令集必须相互配合,否则打印机不会正常工作。开源的3D打印机使用
的固件多种多样,但和这些固件匹配的指令集绝大多数指令都相同,即RepRap G-M指
令集。由于Marlin固件使用的最为广泛,笔者就以Marlin固件的指令集为例作叙述。
了解G-M指令有什么用?这用处可大了。帮助使用者更方便地调试打印机,检测
打印机的问题,扩展打印机菜单功能…反正好处多多,不管你信不信,反正我是信了。
废话不多说,进入正题。G-M指令集就是一些以G或M开头的代码,有时候还会
掺杂一些以其其他字母以标示参数意义,比如T、S、F、P等。具体意义见下表,表中
nnn表示数字。
字母 意义
Gnnn
标准 GCode 命令, 例如移动到一个坐标点。
Mnnn
RepRap定义的命令,例如打开一个冷却风扇
Tnnn
选择工具代码。 在RepRap中,工具通常是挤出头(extruder)。
Snnn
命令参数, 例如马达的电压。
Pnnn
命令参数, 频率:1次每毫秒。
Xnnn
X坐标, 通常用于移动命令。
Ynnn
Y坐标, 通常用于移动命令。
Znnn
Z坐标, 通常用于移动命令。
Ennn
挤出长度,用于控制挤出线材的长度.
Innn
参数 - 现在仍未使用(定义)。
Jnnn
参数 - 现在仍未使用(定义)。
Fnnn
打印头移动速度 单位: 毫米每分钟
Rnnn
参数 - 温度相关。