目 录CONTENT

文章目录

3D打印G代码索引

Administrator
2024-01-27 / 0 评论 / 0 点赞 / 37 阅读 / 26309 字

前言

厂商定制的3D打印机由Cura切片换到Orca切片后出现一些令人迷惑的问题,需要从G-Code中读懂3D打印工作流程,从而找出问题原因以此解决问题。故而查找相关资料作为索引参考。

什么是 G-code

G代码英文名称G-code,也称RS-274或G指令,属于数控编程语言,用于计算机辅助制造中,广义来说G代码是数控程序中的指令, 比如控制自动机床。铣床,CNC, 3D打印机等的移动,进给,启动,停止等。可以实现快速定位、直线运动,弧线运动等。抽象的理解就是各种头(主轴,激光器,3D打印头等)的几何位置的移动,旋转,速度的变化,可以通过数控设备来控制,比如计算机。

狭义来说,G字开头的代码表示准备工作,将系统设置在某种预期的状态,而这种状态用后面的数字的标识,比如G00就是进入快速移动状态。

G-Code索引

G0 : 快速移动,从坐标系的当前位置移动下一个位置。

G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn
G0 X3 Y6 Z8 ; 从当前位置移动到坐标点(3,6,8)

G1 : 直线移动,G0和G1命令完全等价,作用就是让喷头线性移动到一个特定的位置。

G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn
  • 使用时,不需要所有的参数全部存在,但至少要有一个参数。其中,
    • Xnnn表示X轴的移动位置;
    • Ynnn表示Y轴的移动位置;
    • Znnn表示Z轴的移动位置;
    • Ennn表示E轴(挤出头步进电机)的移动位置;
    • Fnnn表示移动速度,单位是毫米/每分钟;
    • Snnn表示是否检查限位开关,S0不检查,S1检查,缺省值是S0;
G1 F1500 
G1 X50 Y25.3 E22.4

这两行G-code,表示首先将移动速度设置为1500mm/min,然后将挤出头移动至x=50mm, y=25.3mm的位置上,z轴高度不变,并且将挤出头步进电机移动至22.4mm的位置上。注意,命令是将挤出头移动到某个位置,而不是移动多少距离。比如前一个位置是X40 Y20 E20,那么执行这条命令后,挤出头往X正方向移动10mm,往Y正方向移动5.3mm,挤出机挤出2.4mm长度的耗材。

G2 : 从发生旋转轴的正面观察,方向从左到右的顺时针圆弧运动。

G2 Xnnn Ynnn Innn Jnnn Rnnn Ennn Fnnn
  • Xnnn表示移动目标点的X坐标;
  • Ynnn表示移动目标点的Y坐标;
  • Innn表示圆心位置,值是圆心距离当前位置的X分量;
  • Jnnn表示圆心位置,值是圆心距离当前位置的Y分量;
  • Rnnn表示圆形的半径长度;
  • Ennn表示E轴(挤出头步进电机)的移动位置;
  • Fnnn表示速度,单位是毫米/每分钟;

G3 : 从发生旋转轴的正面观察,方向从右到左的逆时针圆弧运动。

G3 Xnnn Ynnn Innn Jnnn Rnnn Ennn Fnnn
  • Xnnn表示移动目标点的X坐标;
  • Ynnn表示移动目标点的Y坐标;
  • Innn表示圆心位置,值是圆心距离当前位置的X分量;
  • Jnnn表示圆心位置,值是圆心距离当前位置的Y分量;
  • Rnnn表示圆形的半径长度;
  • Ennn表示E轴(挤出头步进电机)的移动位置;
  • Fnnn表示速度,单位是毫米/每分钟;

G4 : 暂停移动。让喷头在当前位置停留一段时间。参数可以为:G4 PnnnG4 Snnn 。Pnnn表示以毫秒为单位,Snnn表示以秒为单位。

  • 如:G4 P2000G4 S2 完全等价,都表示停顿2秒。

在停顿过程中机器仍可以被控制,如挤出头温度。

G10 : 使挤出头执行一个回抽动作。

G11 : 使挤出头执行一个反回抽动作。

  • 参数只有一个:
    • Snnn表示回抽的距离。S1表示长回抽,S0表示短回抽。

    实际上,目前的切片器并不太依赖于G10/G11指令执行回抽动作,而是利用G1 Ennn命令直接命令挤出头步进电机前进或倒退到某一个位置。因此,与G2/G3命令类似,G10/G11命令基本上是个摆设,除非未来有专门的切片器可以生成这两条指令,否则完全可以将这两条指令关闭,节省内存空间。

G17 : 选择加工平面为XY平面(默认)。

G18 : 选择加工平面为XZ平面。

G19 : 选择加工平面为YZ平面。

G20 : 使用英寸作为单位。执行这条命令后,后面的命令都以英寸作为单位。

G21 : 使用毫米作为单位。执行这条命令后,后面的命令都以毫米作为单位。

G28 : 打印机复位命令。执行时会让3个轴依次往限位开关的方向运行,碰到限位开关后还会减速做一次1mm左右的往返运动,来保证复位的准确性。如果在命令后面加上坐标值,则只会复位坐标值对应的坐标轴。(坐标值的数字会被忽略)

G28 X0 Y72.3
  • 只会复位x轴和y轴。
  • 一般G代码文件开头都会用此命令来复位3轴。(如上面的示例)

G29 : Z轴高度三点测试。这条命令会测试打印平面上三个点的Z轴高度,并在串口上输出结果。参数为Snnn,表示对测试结果的处理方式。S1表示更新内存中的Z轴高度值(重置系统会丢失),S2表示更新内存以及EEPROM中的Z轴高度值(重置系统不会丢失)。

一般来说,只有使用高位限位开关(也就是说,Z轴的限位开关位于Z轴坐标最大处),且在挤出头上附带有Z轴高度测试微动开关的机型,适合使用G29命令测试Z轴高度。其他机械配置的机型,不适合使用G29命令。

G30 : Z轴高度单点测试(单步)。这条命令作为一个完整Z轴高度测试过程的一步,测试打印平面上一个点的Z轴高度,并在串口上输出结果。这个完整的Z轴高度测试过程,通常是由3D打印机控制软件连续发出的,通过参数控制G30的执行状态。

与G29命令类似,G30命令同样由固件配置决定是否开启。

G31 : 输出Z轴高度测试微动开关状态。

Z-probestate:L
Z-probestate:H
  • L :表示微动开关没有触发
  • H:表示微动开关处于触发状态

G32 : 热床自动调平。这条命令在G29命令的基础上,不仅测试打印平面上三个点的Z轴高度,而且还会根据测试的结果,对3D打印机的机械参数进行调整,实现热床自动调平。

G32命令,由固件配置决定是否开启。

G90 : 设置坐标模式为绝对坐标模式。

G91 : 设置坐标模式为相对坐标模式。

  • 未设置 G90/G91 时缺省值是绝对坐标模式。
  • 在相对坐标模式下,每次步进电机XYZE移动之后,当前位置都会重置为0。对于以下两条G-code命令:
G0 X1
G0 X-1
  • 如果3D打印机当前处于绝对坐标模式下,那么X轴步进电机会先移动到X=1的位置处,再移动到X=-1的位置处。第二条语句,实际移动距离是2个单位(向X轴反方向)
  • 如果3D打印机当前处于相对坐标模式下,那么X轴步进电机会先向正方向移动一个单位,再向反方向移动一个单位。第二条语句,实际移动距离是1个单位(向X轴反方向)。

G92 : 设置当前位置为某个坐标值。把当前位置设定为某个坐标值,可以用来设置零点,如果参数为空表示把当前位置设置为所有轴的的零点。

G92 X10 E90       ;表示把当前位置设置为x=10,挤出机挤出坐标设置为90
G92 E0            ;表示把当前喷头坐标设置为0,挤出机挤出坐标设置为0

G94 : 进给速率单位。使用了G94指令之后,所有的进给都是以mm/min为单位,即F100指刀具每分钟移动100毫米(默认的)。

G95 : 进给速率单位。使用了G95指令之后,所有的进给都是以mm/r为单位,即F100指主轴每转一转,刀具移动100毫米。

G201 : 移动步进电机位置。将步进电机P的位置移动到X位置处。

  • 参数包括:
    • Pnnn表示第P个辅助步进电机;
    • Xnnn表示这个步进电机的目标位置;

    这条命令与G1命令非常类似。

G202 : 设置当前位置。将X位置设置为步进电机P的当前位置。不实际移动步进电机。

  • 参数包括:
    • Pnnn表示第P个辅助步进电机;
    • Xnnn表示这个步进电机的当前位置;

    这条命令与G92命令非常类似。

G203 : 报告当前位置。报告步进电机P的当前位置。

  • 参数包括:
    • Pnnn表示第P个辅助步进电机;

    这条命令与M114命令非常类似。

G203 : 开启/关闭步进电机。

  • 参数包括:
    • Pnnn表示第P个辅助步进电机;
    • Snnn表示开闭标志,S0表示关闭步进电机,S1表示开启步进电机;

    步进电机开启后,有两种可能的状态。一种是“运动”状态,也就是正在进行正向或反向的旋转。另一种是“保持位置”状态,也就是保持当前的位置不变。虽然步进电机关闭也不会主动移动位置,但“保持位置”状态与步进电机关闭状态仍有显著的区别。“保持位置”状态下,当步进电机受力时,会产生一个反向的力矩,使步进电机位置保持不变。 这条命令与M84命令有关。M84命令用于关闭XYZE步进电机,但不能打开这些步进电机。


M0 : 打印机停止。打印机会终止任何动作,然后关机。所有的电机和加热器都会被关掉,这个时候只能通过reset按钮来重启控制器。

M1 : 打印机休眠。打印机会终止任何动作,然后休眠。所有的马达和加热器都会被关掉,但是接收到G或M命令时,打印机可以被唤醒并进入工作状态。

M2 :

M3 : 主轴开启,顺时针旋转(CNC专用)。

M4 : 主轴开启,逆时针旋转(CNC专用)。

M5 : 主轴关闭(CNC专用)。

M6 : 换刀(CNC专用)。

M7 : 气雾冷却系统开启(CNC专用)。

M8 : 水冷系统开启(CNC专用)。

M9 : 所有的冷却系统关闭(CNC专用)。

M10 : 吸尘系统开启(CNC专用)。

M11 : 吸尘系统关闭(CNC专用)。

M17 : 启动所有步进电机。

M18 : 关闭所有步进电机。

M20 : 读取SD卡根目录中的文件,并通过串口输出文件名。

M21 : 初始化SD卡。如果在机器通电时插入SD卡,会默认初始化SD卡。开始其他SD卡功能时,SD卡一定要先初始化。本命令相当于文件系统中执行Mount动作。

M22 : 卸载SD卡。

M23 : 选择SD卡中的文件,文件选择之后,可以执行打印、删除等动作。

M24 : 开始打印SD卡中选中的文件。

M25 : 暂停SD卡打印。

M26 : 设置当前文件的当前位置。参数为:Snnn,表示当前位置的字节数。

比如我要从当前文件的100字节开始写入数据,那么就要先用本命令跳到100字节处。

M27 : 报告SD卡打印进度。

M28 : 开始往SD卡文件中写入数据。接收到此命令后,后续接收到的命令(除了M29)都会被当成数据写入该文件。

  • 命令后面会跟着文件名,如果文件不存在则会被创建,如果存在则会被覆盖。接收到这条命令后,后续接收到的命令都会被写入该文件中,直到接收到M29命令。 如:M28 filename.gcode

M29 : 停止往SD卡文件中写入数据。接收到此命令后,后续接收到的命令要开始正常执行。

M30 : 删除SD卡中的文件。

M32 : 创建子目录。

以上所有SD卡相关指令,都由固件配置决定是否开启。如果固件不需要支持SD卡,关闭这项固件配置,可以节省不少内存空间。

M42 : 直接读写端口。此命令直接读/写一个Arduino端口,为3D打印控制软件上位机扩展程序功能提供基础。

M43:Stand by on material exhausted

M73: 设置当前打印进度百分比和/或剩余时间,以便在液晶显示屏上显示。

M73 P<percent> [R<minutes>]
  • P 打印进度百分比
  • [R] 剩余时间

M80 : 在配置了ATX电源的3D打印机上,打开ATX电源。没有相关的参数。

M81 : 在配置了ATX电源的3D打印机上,关闭ATX电源。没有相关的参数。

M82 : 设置挤出头步进电机坐标模式为绝对坐标模式。

M83 : 设置挤出头步进电机坐标模式为相对坐标模式。

  • 未设置 M82 / M83 时缺省值是绝对坐标模式。
  • 需要注意的是,G90/G91设置的坐标模式,同时对XYZE四个轴起作用,但M82/M83设置的坐标模式,只对E轴(挤出头步进电机)起作用。

M84 : 设置步进电机自动关闭时间。当3D打印机一段时间没有接收到步进电机运动指令之后,3D打印机(为了节能)会自动关闭步进电机。使用M84指令,可以设置这个自动关闭步进电机的时间。参数包括:

Snnn ;表示步进电机关闭的时间,以秒为单位。
  • 如果使用M84时没有指定S参数,则步进电机会立即关闭。
  • M84命令的缺省值是360秒。在固件配置中,缺省值由#define STEPPER_INACTIVE_TIME 360L 控制。

M85 : 设置3D打印机自动关闭时间。当3D打印机一段时间没有接收到指令之后,3D打印机(为了节能)会自动关闭步进电机以及挤出头、热床等设备。使用M85指令,可以设置这个自动关闭3D打印机的时间。参数包括:

Snnn  ;表示在关闭步进电机之前步进电机没有活动的时间,以秒为单位。
  • 如果使用M85时没有指定S参数,或者使用了S0参数,则代表取消3D打印机自动关闭功能,挤出头、热床等在工作完成之后,一直会处于当前状态,而不会被自动关闭。
  • M85命令的缺省值是0(不自动关闭)。在固件配置中,缺省值由#define MAX_INACTIVE_TIME 0L控制。

M92 : 设置AXIS_STEPS_PER_UNIT参数(Sprinter和Marlin固件)。设置步进电机移动1mm对应的脉冲数,可脱机保存.。在校准的时候非常有用,不用每次都修改程序,然后重新下载。

  • 参数包括:
    • Xnnn,表示X轴的分辨率;
    • Ynnn,表示Y轴的分辨率;
    • Znnn,表示Z轴的分辨率;
    • Ennn,表示E轴(挤出机步进电机)的分辨率;

M98 : 获取 axis_hysteresis_mm 参数。

M99 : 设置 axis_hysteresis_mm 参数(Marlin固件)。

M99 : 暂时关闭步进电机(其他)。M99命令可以暂时关闭XYZ轴步进电机一段时间。

  • 命令参数包括:
    • Snnn表示所需暂时关闭步进电机的时间,以秒为单位;
    • X表示暂时关闭X轴步进电机;
    • Y表示暂时关闭Y轴步进电机;
    • Z表示暂时关闭Z轴步进电机;

    如果S参数没有指定,则暂时关闭10秒钟时间。暂时关闭时间到达之后,重新打开相应轴的步进电机。

M104 : 设置挤出机(喷头)温度。设置挤出头的目标温度。执行这条命令后,不需要等待达到这个温度,控制板继续执行下一条G-code语句。

  • 相关参数包括:
    • Snnn,表示目标温度;
    • Tnnn,表示对应的挤出头;
    • P,表示要等待前面的指令完成之后,再开始设置挤出头温度;
    • Fnnn,表示到达目标温度之后,是否触发蜂鸣器。F1表示要触发;

    如果执行命令时没有带T参数,则针对当前挤出头设置目标温度。 如:M104 S190 ;将挤出机的温度设置为190度

M105 : 获取当前温度(单位:℃)。获取当前温度值,包括挤出头和热床的温度。

M106 : 打开风扇。如:M106 S127 ;打开风扇(半速)。

  • S 表示 PWM值 (0-255)。可简单理解为:风扇有0-255级强度可选,其中 M106 S0 意味着风扇将被关掉。
  • 在固件配置中,定义#define FEATURE_FAN_CONTROL 1表示支持风扇控制功能,在编译中会包含相关的代码。

M107 : 关闭风扇。

不推荐,请用 M106 S0 代替。

M108 : 设置挤出机速度。

不推荐,请使用 M113

M109 : 等待挤出头加热达到目标温度。设置挤出头的目标温度,并等待达到这个温度。

  • 相关参数包括:
    • Snnn,表示目标温度;
    • Tnnn,表示对应的挤出头;
    • Fnnn,表示到达目标温度之后,是否触发蜂鸣器。F1表示要触发;

    如果执行命令时没有带T参数,则针对当前挤出头设置目标温度。 如: M109 S185 ;等待挤出头加热到185度

M110 : 设置当前的行码。设置当前行为第N行,然后接下来会执行第N+1行的命令。

M111 : 允许/禁止运行时调试标志。

M112 : 紧急停止。所有进行中的动作都会被立即终止,然后关掉Reprap. 所有电机和加热器都会被关掉. 可以按Reset按钮(板上)以重启。

M113 : 设置挤出机的 PWM。

M114 : 获取挤出头当前位置。

M115 : 获取3D打印机信息。

M116 : 等待温度达到目标温度。等待所有挤出头/热床到达由之前的M104/M140指令所指定的目标温度。没有相关参数。

M117 : 在液晶上显示消息。

  • 如:M117 Hello World ;在液晶上显示Hello World

M118 : Negotiate Features

M119 : 输出限位开关状态。

M120 : 测试蜂鸣器。

M121 : Pop

M126 : Open Valve

M127 : Close Valve

M128 : Extruder Pressure PWM

M129 : Extruder Pressure OFF

M130 : 设置 PID P 值

M131 : 设置 PID I 值

M132 : 设置 PID D 值

M133 : Set PID I limit value

M134 : Write PID values to EEPROM

M136 : Print PID settings to host

M140 : 设置热床的目标温度。执行这条命令后,不需要等待达到这个温度,立即开始执行下一条G-code语句。

  • 相关参数包括:
    • Snnn 表示目标温度;
    • Fnnn 表示到达目标温度之后,是否触发蜂鸣器。
      • F1表示要触发;

M141 : Chamber Temperature (Fast)

M142 : Holding Pressure

M143 : 设置最大热头温度。

M160 : Number of mixed materials

M190 : 等待热床加热达到目标温度。设置热床的目标温度,并等待达到这个温度。

  • 相关参数包括:
    • Snnn 表示目标温度;
    • Fnnn 表示到达目标温度之后,是否触发蜂鸣器。
      • F1表示要触发;

M200 : 设置体积挤出模式。将3D打印机设置为“体积挤出模式”,同时设定挤出头直径参数。

  • 相关参数包括
    • Tnnn 表示对应的挤出头,无T参数表示使用当前挤出头;
    • Dnnn 表示挤出头的实际直径,无D参数表示关闭体积挤出模式;

M201 : 设置挤出头工作时(打印中)的运动加速度。

M202 : 设置挤出头不工作时(移动中)的运动加速度。

M203 : 监控温度。使用串口输出监控3D打印机的温度。

  • 参数为
    • Snnn 表示是否监控,S0关闭监控,S1打开监控;

    当监控处于打开状态,可以从串口定时获取当前的温度信息。 监控输出格式与M105命令的输出结果完全一致。

M204 : 设置挤出头温度控制的PID参数。

  • 命令参数为
    • Snnn 表示对应的挤出头,无S参数表示使用当前挤出头;
    • Xnnn 表示P参数;
    • Ynnn 表示I参数;
    • Znnn 表示D参数;

M205 : 输出EEPROM设置。

M206 : 修改EEPROM设置。

M207 : 修改当前的最大抖动值。

  • 命令参数为
    • Xnnn表示XY轴的最大抖动值;
    • Znnn表示Z轴的最大抖动值;
    • Ennn表示E轴的最大抖动值;
Jerk:20.00ZJerk:0.30
  • 表示XY轴抖动速度为20mm/s,Z轴抖动速度为0.3mm/s。

M208 : 设置XYZ轴行程的限制。

M209 : 开启/关闭自动回抽功能。

  • 命令参数为
    • Snnn表示是否开启自动回抽功能,1表示开启,0表示关闭;

M220 : 设置3D打印机运行速度系数。

  • 命令参数为
    • Snnn表示系数,是一个百分数,如果S参数不存在,则使用缺省值100;

    3D打印机运行速度系数,是一个在25%到500%范围内变化的值。这个系数值在3D打印机运行过程中,与切片器给出的3D打印机运动速度基础值相乘,得到最终的3D打印机实际运动速度值。 M220命令的输出,格式为:SpeedMultiply:100

M221 : 设置3D打印机的流率系数(Flow rate)。

  • 命令参数为
    • Snnn表示系数,是一个百分数,如果S参数不存在,则使用缺省值100;

    3D打印机流率系数,是在上位机切片软件通过耗材直径、喷头直径、层高以及3D打印速度等因素综合计算得到的E轴运动速度的基础上,叠加的一个E轴运动速度系数。简单地说,就是控制挤出头耗材挤出量的多少。这个系数可以在25%到500%范围内变化。 M221命令的输出,格式为:FlowMultiply:100

M226 : Gcode Initiated Pause

M227 : Enable Automatic Reverse and Prime

M228 : Disable Automatic Reverse and Prime

M229 : Enable Automatic Reverse and Prime

M230 : Disable / Enable Wait for Temperature Change

M240 : Start conveyor belt motor / Echo off

M241 : Stop conveyor belt motor / echo on

M245 : 打开风扇

M246 : 关闭风扇

M251 : 将当前Z轴位置保存为Z轴高度值。这条命令可以将当前的Z轴位置保存为Z轴高度值,以使前面的Z轴高度手动/自动测量的结果起作用。通常,M251命令只工作在三角洲机型上,并且应该与G29命令联合使用(自动测量Z轴高度)。这条命令没有相关的参数。

M280 : 多头重复打印模式设置。有些特殊配置的3D打印机,允许2~4个挤出头同时工作,并且这些挤出头动作完全一致,同时打印出多件完全一样的打印件,这种工作模式叫做多头重复打印模式(Ditto mode)。M280命令对这个模式进行设置。

M281 : 测试硬件看门狗功能。这条命令用于测试CPU硬件中的看门狗功能。实际上,就是造成一个死循环,不再执行“喂狗”动作,从而触发CPU硬件看门狗,最终(故意地)造成3D打印机重启。这条命令只是用于3D打印机固件开发测试。

M300 : 播放提示音

M301 : Set PID parameters - Hot End

M302 : 设置是否允许冷挤出。为了保护3D打印机的挤出头,通常设置下,E轴的运动必须在挤出头加热到一定温度之后才被允许。在挤出头冷却的情况下,所有的E轴运动命令是被3D打印机固件忽略的。但有些情况下我们需要在挤出头冷却的情况下运动E轴,这时可以通过M302命令进行设置。

  • 命令参数为
    • Snnn表示是否允许冷挤出,S0表示不允许,S1表示允许,没有S参数缺省表示允许;

    M302命令的输出,为当前是否允许冷挤出。允许时会输出:Cold extrusion allowed ; 不允许时会输出:Code extrusion disallowed

M303 : 自动测试PID参数值。

  • 命令参数为
    • Pnnn表示待测试的挤出头编号,从0开始,P<挤出头个数>代表待测试的是热床;
    • Snnn表示打印温度;
    • Rnnn代表重复测试次数;
    • X代表是否保存于EEPROM中;

    由于加热、散热需要较多时间,这条命令执行时间很长。

M304 : Set PID parameters - Bed

M320 : 开启自动调平。

M321 : 关闭自动调平。

M322 : 清零自动调平转换矩阵。以上三条命令,与G32命令相同,由固件配置。

M330 : 测试(无源)蜂鸣器,产生一个特定频率的声音。

  • 命令参数为
    • Snnn表示声音的频率;
    • Pnnn表示声音持续的时间,以毫秒为单位;

    如果命令没有包含S参数或者P参数,则会使用缺省值S1以及P1000。

M340 : 伺服电机控制功能。

  • 命令参数为
    • Pnnn表示伺服电机编号,从0开始,最大为3,可以控制4个伺服电机;
    • Snnn为控制时间,单位为毫秒,应该是一个500到2500之间的数值;
    • Rnnn为自动关闭时间,单位为毫秒;

M350 : 设置步进电机细分数。在支持细分数设置的3D打印机主板上(这类主板很少见),设置步进电机细分数。

  • 命令参数为
    • Snnn表示将细分数的每一位(bit)都设置为相同的值,S0表示所有都设置为0,S1表示所有都设置为1;
    • Xnnn表示设置细分数第0位;
    • Ynnn表示设置细分数第1位;
    • Znnn表示设置细分数第2位;
    • Ennn表示设置细分数第3位;
    • Pnnn表示设置细分数第4位;

    需要注意的是,在大多数3D打印机主板上,细分数设置是主板硬件设计时就固定的,不能通过软件调整。这种情况下,M350命令无效。

M355 : 设置照明灯的开关。

  • 命令参数为
    • Snnn表示照明灯的开关状态,S0表示关闭照明灯,S1表示打开照明灯;
    • 无参数时输出当前照明灯的状态。

M360 : 输出固件配置信息。

M400 : 等待当前所有移动指令完成。执行这条语句之后,可以保证在下一条G-code命令执行时,所有步进电机都不处于运动状态中。

M401 : 保存当前的位置。将当前位置,包括XYZE步进电机,保存于内存的一组专用变量中。未来可以用M402命令恢复这组位置。没有相关的参数。

M402 : 恢复之前保存的位置。恢复之前由M401命令保存的位置值。

  • 命令参数为
    • X表示恢复X位置;
    • Y表示恢复Y位置;
    • Z表示恢复Z位置;
    • E表示恢复E位置;
    • Fnnn表示使用参数给定的速度,无F参数时使用当前速度值;

M500 : 保存内存中的设置值到EEPROM。

M501 : 读取EEPROM的设置值到内存。

M502 : 将内存中的设置值重置。

M600 : 更换耗材。在拥有显示屏的3D打印机上,启动更换耗材向导界面。没有相关的参数。

通常,这个向导界面是从显示屏界面上触发的。M600命令提供一个接口,使更换耗材向导界面可以从上位机软件触发。

M601 : 暂停/恢复挤出头。

  • 命令参数为
    • Snnn表示暂停或者恢复,S1表示暂停挤出头,S0表示恢复挤出头工作;

    暂停挤出头包括停止挤出头加温以及停止挤出头步进电机工作。恢复则相反,加热挤出头到原来的温度。

M907 : 设置步进电机参考电压(百分比值)。

  • 命令参数为
    • Snnn表示对所有步进电机进行统一设置;
    • Xnnn表示对X轴步进电机进行设置;
    • Ynnn表示对Y轴步进电机进行设置;
    • Znnn表示对Z轴步进电机进行设置;
    • Ennn表示对E轴步进电机进行设置;

    所有的参数值,都是一个0~100之间的百分比数值。

M908 : 设置步进电机参考电压。

  • 命令参数为
    • Pnnn表示步进电机编号;
    • Snnn表示步进电机参考电压设置值,要求为0~255之间的一个数值;

    这个命令与M907命令类似,同样要求3D打印机主板支持。在不支持软件调整参考电压的3D打印机主板上,M908命令无效。

M909 : 输出当前的步进电机参考电压值。没有相关的参数。

M910 : 将M907/M908命令设置的步进电机参考电压值保存至EEPROM。没有相关的参数。


T0 : 设置当前挤出头。

T1 : 设置当前挤出头。

对于拥有多个挤出头的3D打印机来说,需要使用T命令选择当前工作的挤出头。这条命令的参数值直接跟在T后面即可。

  • 例如:
    • T0 表示选择第一个挤出头;
    • T1 表示选择第二个挤出头;

    参数是T命令最特殊的一点。这与其他所有的G-code命令都不相同。

参考文献

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区