M 代码

下表显示支持的 M 代码

M代码
功能
示例
示例响应
仅社区固件

可选停止。如果启用了 M333,程序在到达此命令时将暂停。如果改为设置了 M334,则不会暂停

M2

结束程序,停止主轴和气流

M3

启动主轴。参数 S 设置每分钟转数(转/分)

M3 S5000

以 5000 转/分开启主轴

M5

停止主轴

M5

M6

自动换刀,T0 表示无线探针,T-1 表示无

M6 T1

切换到刀具 1 并设置刀具长度偏移(TLO)

M7

开启气流

M7

M9

停止气流

M9

M17

打开所有使能引脚

仅调试

M18

允许单独关闭电机,若无参数则全部关闭

仅调试

M20

列出 SD 卡根目录下的文件。不会显示子文件夹

仅调试

M21

用于 3D 打印机 OctoPrint 的代码,无动作

请勿使用

M23

选择一个文件

M23 gcodes/test.cnc

M24

开始播放当前文件

请勿使用

M25

暂停当前播放的文件(使用 M600 来添加暂停)

请勿使用

M26

重置当前文件,准备重新开始

请勿使用

M27

报告当前进度(用于将控制器显示与当前行同步)

M30

程序结束,对 Carvera 无操作。参见 M26

M30

M32

选择一个文件并开始播放。宏请参见 M98

M32 gcodes/test.cnc

M82

E 绝对模式 开

仅调试

M83

E 绝对模式 关

仅调试

M84

关闭所有使能引脚

仅调试

M92

设置每毫米步数

M98 X12

将 X 轴每毫米步数设置为 12

跳转到 gcode 的特定行

M97 P14

跳到当前文件的第 14 行

在当前运行的 gcode 内打开子程序,通常称为宏。完成后返回主程序。参数 P 为引用 gcodes/macros 文件夹中名为 ####.cnc 的文件的编号。可选的 L 参数使子程序循环指定次数

M98 P1001 L4

按路径打开子程序,完成后返回主程序。其他与上文相同。可选的 L 命令必须在路径之前

M98 L2 {gcodes/test.cnc}

从子程序返回到主程序

M99

M105

读取当前主轴温度

M105

M112

紧急停止

仅调试

M114

将每个轴的当前工作坐标系(WCS)打印到控制台

M115

报告固件版本和功能

M115

FIRMWARE_NAME:Smoothieware, FIRMWARE_URL:http%3A//smoothieware.org, X-SOURCE_CODE_URL:https://github.com/Smoothieware/Smoothieware, FIRMWARE_VERSION:master-811c4f62, X-FIRMWARE_BUILD_DATE:Oct 30 2024 15:14:06, X-SYSTEM_CLOCK:100MHz, X-AXES:5, X-GRBL_MODE:1, X-CNC:1, X-MSD:1, X-WARNING:deprecated_MCU

M117

一种特殊的不合规 Gcode,因为它允许命令后跟一行任意文本。打印到可用的显示面板

请改用 118

将该行剩余部分打印到控制台

将评估后的整行写入串口

M118.1 P[2+2]

在控制台打印 4

M119

报告当前探针信息

X_max:0 Y_max:0 Z_max:0 引脚- (XL)P0.24:0 (XL)P0.25:0 (YL)P1.1:0 (YL)P1.4:0 (ZL)P1.8:0 探针: 0

M120

压栈状态

仅调试

M121

出栈状态

仅调试

M143

3D 打印机特定代码

请勿使用

M203

设置最大进给速度(单位:mm/s)

M203 X100

M203.1

设置最大执行器进给速度

M204

M204 Snnn - 将默认加速度设置为 nnn,Xnnn Ynnn Znnn 设置轴特定加速度

M205

M205 Xnnn - 设置交叉偏差,Z - 设置 Z 轴交叉偏差,Snnn - 设置最小路径规划速度

M206

设置回原点偏移

M206 X15 Y15 Z15

将回原点偏移设置为 15,15,15

M220

S<百分比因子> - 设置进给速度因子覆盖百分比

M220 S50

M221

开启/关闭软限位

M221 S0

关闭软限位。M221 S1 打开软限位

M223

S<百分比因子> - 设置主轴速度因子覆盖百分比

M223 S80

M301

3D 打印机特定

请勿使用

M303-305

由 PID 自动调谐器用于 3D 打印机热端温度控制。对 Carvera 无作用

请勿使用

M306

基于当前位置设置回原点偏移

M321

进入激光模式,机器将自动放下当前工具并校准主轴夹头(以将激光偏移设置到工作表面)

M321

M322

退出激光模式

M322

M323

进入激光测试模式,激光模块将以非常低的功率供电,通常用于重新聚焦激光

M323

M324

退出激光测试模式

M324

M325

S<百分比因子> - 设置激光功率因子覆盖百分比

M325 S50

M331

开启自动吸尘模式,若开启,当主轴运行时自动开启真空,不运行时自动关闭

M331

M332

关闭自动吸尘模式

M332

关闭可选停止模式。参见 M01

开启可选停止模式。参见 M01

关闭逐行执行模式

开启逐行执行模式。每行后暂停。不在空行或以 ; 或 ( 开头的行暂停

M370

清除自动压床校准数据并在再次运行 G32 之前禁用补偿

M370

M374

将自动调平网格保存到 SD 卡

M374.1

从 SD 删除自动调平网格

M375

从 SD 卡加载网格

M375.1

在 MDI 窗口显示当前床面调平网格数据

M375.1

停用弹性补偿

打印弹性补偿

将弹性补偿数据保存到 SD

从 SD 加载补偿数据

M400

等待直到此点之前的所有移动完成

使用已知尺寸的圆孔校准探针刀尖

M460 X25 L3

从孔中心开始。将基于 25mm 的孔进行校准,取 3 次测试的平均值。该值将保存为变量 #150。使用 config-set sd zprobe.probe_tip_diameter # 将此值存储以便重置时使用。除 T、S 外,M461 的所有参数均已实现

使用已知尺寸的凸台校准探针刀尖

M460.2 X15 L3

从凸台中心上方开始。需要 X 或 Y,但不需要两者。X 或 Y 的值为凸台的实测尺寸。L 为探测并取平均的次数。除 T、S 外,M462 的所有参数均已实现

使用锚点 2 校准探针刀尖

M460.3

将先按间隙 Z 移动到正确位置,移动 XY,再在 Z 方向探测。位置基于锚点 2 的配置位置和已保存的锚点宽度。请先测量并设置锚点宽度。

探测孔位

M461 X25 Y30 D2.5 H10 C2 Q15 L2 R1.8 S1 F100 K200

从孔的大致中心开始,宏以 Z 探针开始,向下移动 (H)10mm。如果刀具触到表面,将以 (C)2mm 撤回。如果未触及,则从新的低位置继续。如果未提供 H 或 H 为 0,宏将从起始高度进行探测。然后以 (Q)15 度旋转,在 X 方向探测 (X)25mm 直到触到表面。撤回到离表面 (R)1.8mm 向中心方向,然后以更慢速度重新探测。回到中心并在 -x 方向重复。对 Y 方向重复 X 的步骤,探测 (Y)30。重复 X 和 Y 的探测 (L)2 次。所有正常探针移动以 (F)100 mm/s 进行,探针起始之间的移动以快速速率 (K)200 进行。完成后程序将把 X 轴的距离保存为 #151,Y 轴的距离保存为 #152,中心点在 MCS 中保存为 #154,#155。因为设置了 S=1,程序会将当前工作坐标系(通常为 G54,除非被覆盖)设为孔的中心。如果未设置 S,探针宏不会影响 WCS。(D) 用于计算点之间的距离,表示刀具尖端直径。所有参数均为可选,但必须提供 X 或 Y 中的一个;如果只提供其中一个,则只在该方向上探测。

探测凸台(boss)

M461 X25 Y25 E12

M461 的所有参数均适用。从矩形块/凸台的大致中心开始,探针将在正 X 方向移动 (X)25mm,然后向下探测至 -(C+E) 以到达块的侧面。然后将向中心双点触探以找到点 1。它会返回到间隙位置,然后到中心位置,然后对负方向的 x 探测和两个 y 方向重复。输出变量与 M461 相同。如果设置 S1,则凸台中心将成为新的 XY 原点。如果设置 S2 且给定了探测高度 (H),则 Z 原点将设置为探测到的表面

探测内角

M462 X-15 Y-15

实现了 M461 的 D、H、C、Q、F、K、L、R、S 参数。探测左下方的内角(X 和 Y 的方向决定探针移动的方向,此处为向左并朝向机器前方)。将中心位置保存到 #151 和 #152

探测外角

M463 X15Y15

实现了 M461 的 D、H、C、Q、F、K、L、R、S 参数。实现了 M462 的 E 参数,并以类似方式对 2 个点进行处理而不是 4 个点。探测左下方的外角(X 和 Y 的方向决定探针移动的方向,此处为向左并朝向机器前方)。将中心位置保存到 #151 和 #152。S 的作用与 M462 相同

探测轴线和角度

M464 X10 E10 V10

实现了 M461 的 H,C,X,Y,Q,F,K,L,R 参数。只接受 1 个轴值(X 或 Y)。从起始位置:以距离 (E)10 垂直于所给轴进行双点触探直到触到表面。E 的符号决定探测方向。返回起始位置。沿所给轴移动 (X)10 并重复探测。返回起始位置。因为设置了 V,探针将沿着探测表面的相同角度移动 (V)10。将角度以度保存到 #153

探测第四轴(A 轴)工件

M465.1 Y15 E30 F200 K600 L2

使用机器偏移探测第四轴(A 轴)工件

M465.2 X10 Y15 R1 F200 K600

带双点触的直线探测

M466 X{距离} Y{距离} Z{距离} D{刀尖直径} Q{角度} L{重复次数} R{回缩} S{保存为 xy,如果仅给出 1 轴且无 q,则仅将该轴保存为零} F{进给速率} I{为数控反向}

矩形探测

M466.1 X{dist] Y{dist} H{depth}

M469 / M469.0

将来:使用用户定义引脚的真实三轴探针归原点机器

未实现

M469.0 I{反向}

使用真实三轴探针校准锚点 1

M469.1

M469.1 I{反向}

使用真实三轴探针校准锚点 2

M469.2

M469.2 I{反向}

M469.3

将来:使用真实三轴探针校准 ATC 刀具位置

未实现

使用真实三轴探针校准第四轴主轴(headstock)

M469.4

M469.4 I{反向} Y{主轴宽度} H{探测深度}

使用探针校准第四轴高度偏移

M469.5

M469.5 R{针径} X{从第 1 次探测位置到探测的距离} H{最大探测深度}

M469.6

报告并设置机器偏移(仅机器内部代码)

仅调试

X - 原始 X 位置 Y - 原始 Y 位置,Z - 原始 Z 位置,P - 探针设置类型。1 为锚点 1,2 为锚点 2,3 为 ATC 刀具位置,等

M470

设置无线探针地址

M470 S2020

M471

将无线探针置于配对模式

M471

M472

开启无线探针激光

M472

M481-489

与 WiFi 相关的 Gcode,通常通过控制台命令更合适

请勿使用

M490

执行 ATC 归原点流程,如有需要在发出 M490.1 或 M490.2 时会自动执行归原点

M490

M490.1

收紧主轴夹头以固定新刀具入主轴

M490.1

M490.2

松开主轴夹头并放下当前铣刀位

M490.2

M491

执行一次校准,并重置当前刀具的刀具长度偏移(TLO)

M491

通过校准当前刀具并将其长度与先前存储的刀具长度偏移(TLO)比较来执行刀具断裂检查

M491.1 H0.05

如果差异大于 0.05 则停止机器

M492

内部命令,用于判断刀具架是否为空

仅调试

在触发 TLO 探针时保存刀具偏移。使用 M493.3 将 TLO 设置为特定值

仅调试

新的刀具写入 T 参数。T-1 表示空位。T0 表示探针

M493.2 T5

将刀具长度偏移保存为该值。使用 Z 指定一个全新的值。

M493.3 Z-15

将 TLO 设置为 -15

根据当前 WCS 位置并加上偏移 H 设置 TLO

M493.3 H10

开始时刀具位于工作坐标系 Z 轴上方 10mm,使用量规销或纸张技巧。将计算出与当前 WCS 匹配的正确 TLO

报告当前刀具长度偏移

M493.5

将来:ATC 暂停

M494 / M494.1

开启探针激光

M494.1

M494.2

关闭探针激光

M494.2

M495

根据参数执行边界、Z 探针、自动调平,必要时更换探针工具。X 和 Y 为边界起点。C 和 D 为边界范围。O 和 F 为 Z 探针偏移。A、B 为自动调平的范围,I 和 J 为每轴探测的点数,H 为自动调平探测高度,P1 将回到原点

M495.3

沿 -Z、-X 和 -Y 做一次三轴 Z 探测。参见 G38 获取其他探测功能。D 设置探针刀尖直径,H 为三轴探针金属件的厚度

M495.3 D3.175 H9

M496.2

前往工作原点。X 和 Y 参数相对于锚点 1 设置位置

M496.2 X30Y0

M496.3

前往锚点 1

M496.4

前往锚点 2 位置

M496.5

前往位置。X 和 Y 参数相对于锚点 1 设置位置

M496.5 X30Y0

M497

等待队列清空。通常为内部命令

仅调试

M498 / M498.1

报告 EEPROM 数据。将打印当前刀具编号、TLO、toolmz、refmz 和 WCS 偏移到控制台

M498.2

擦除 EEPROM 数据。请勿运行

请勿使用

M499/M499.1

将当前刀具信息打印到控制台

M499.2

将所有 ATC 刀具位置数据打印到控制台

M500

将对配置文件的更改保存到 SD 卡

M501

// 加载配置覆盖

仅调试

未实现

M502

M502 删除 config-override,因此所有内容将恢复为 config 中的默认值

仅调试

M503

将配置文件值打印到控制台

M504

保存到特定的配置覆盖文件

M504 "/sd/config-override"

M561

清除自动床面调平数据并在再次运行 G32 前禁用补偿。与 M370 相同

M565

设置 Z 探针偏移。稍后研究

M600

暂停当前文件(用于添加暂停)\

M601

恢复当前文件 - 通常从 MDI 控制台运行

M665

M665 基于臂解算设置可选臂解算变量

功能不确定

M670

设置探针默认信息直到下次重置。S - 慢进给速率,K - 快速进给速率,R - 返回进给速率,Z - 探测最大 Z 深度,H - 探测距离,I - 探针反向状态,D - 探测前停留时间

M801

打开内部真空(Carvera)。参数 S 设置真空功率(S100 = 100%) 在 Carvera Air 上开启 PSU 风扇

M801 S100

M802

关闭 Carvera 上的真空,并关闭 Carvera Air 上的 PSU 风扇

M802

M811

开启主轴冷却风扇。参数 S 设置风扇功率

M811 S100

M812

关闭主轴冷却风扇

M812

M821

打开灯光

M821

M822

关闭灯光

M822

M831

打开刀具检测传感器激光

M831

M832

关闭刀具检测传感器激光

M832

M841

打开无线探针充电电源

M841

M842

关闭无线探针充电电源

M842

M851

打开扩展端口电源。参数 S 设置端口的 PWM 输出

M851

M852

关闭扩展端口电源

M852

M881

设置 2.4G 频道为:S 参数 并开始传输

M881 SwifiNetworkName

M882

关闭 WiFi 网络

M882

M885

关闭硬限位(上电后恢复为开启,归原点时忽略)

M886

开启硬限位

M887

关闭归原点检查

M888

开启归原点检查

]

报告主轴速度

M957

当前主轴速度和状态

状态:开启,当前转速:15086 目标转速:15000 PWM 值:0.699

M958

设置主轴 PID 参数,参数 P、I、D

M1000

M1000 是一个特殊命令,将把原始小写命令传递到 simpleshell(用于不允许此类命令的主机)

最后更新于