M73 是什么意思
M73 提供的是给打印机屏幕或任务界面显示的估算值,并不测量机械结构真实完成了多少。切片软件可以在文件不同位置写入新的 P 和 R;加热、暂停、速度倍率、断电恢复和固件自己的运动规划都会让这些数值与真实剩余时间产生差异。
在 Marlin 中,手动进度显示需要相应编译配置:P 表示完成百分比,R 表示剩余分钟,新版本还可用 C 表示距离下一次用户操作的分钟数。RepRapFirmware 使用 R 接收切片软件给出的剩余时间,不使用 P,并从 RRF 3.6.0 开始支持 C。Klipper 官方内置指令列表没有 M73,但具体打印机可以自行定义名为 M73 的 gcode_macro;参数和结果完全取决于该机器配置。
写法和参数
M73 [P<percent>] [R<minutes>] [C<minutes>]M73P切片软件估算的完成百分比。Marlin 接受 0–100;RepRapFirmware 文档保留该字段但不使用。
R支持该参数的固件把它解释为切片软件估算的剩余分钟数;它不是真实时间测量。
C支持版本中距离下一次用户操作的分钟数:Marlin 2.1.2 加入该字段,RepRapFirmware 从 3.6.0 开始支持。
No parameters启用 M73_REPORT 的 Marlin 可以用无参数形式查询已保存的数值;该写法不能直接套用到其他方言。
实际示例
写入切片估算值
M73 P25 R43在支持的 Marlin 配置中,文件声称已完成 25%,还剩 43 分钟;这些是写入文件的估算,不是传感器测量。
在 Marlin 中查询已保存数值
M73无参数查询需要启用 Marlin 的 M73_REPORT,不能假设其他固件也支持。
不同固件怎样处理
| 系统 | 支持情况 | 具体差异 |
|---|---|---|
| Marlin | 常见支持 | 启用 SET_PROGRESS_MANUALLY(旧版本名为 LCD_SET_PROGRESS_MANUALLY)时属于常见用法。P 设置 0–100% 进度;R 在 Marlin 2.0.0 加入,C 在 2.1.2 加入;无参数查询还需要 M73_REPORT。 |
| Klipper | 需要核对方言 | 官方指令参考没有把 M73 列为内置指令。打印机可以定义 M73 gcode_macro,因此必须查看该配置才能确认参数和效果。 |
| RepRapFirmware | 需要核对方言 | 使用 R 表示切片软件提供的剩余分钟数,不使用 P;RRF 3.6.0 及以后可以用 C 表示距离下一次操作的时间。 |
| CNC controllers | 需要核对方言 | M73 不是可移植的 CNC 进度指令;该编号可能不存在或有控制器专用含义,应以目标控制器手册为准。 |
这个查看器能显示什么
源代码查看区会显示 M73,但当前分析器不会用 P、R、C 计算界面中的进度或时间,也不会模拟打印机屏幕。运动和挤出统计仍来自文件明确写出的路径以及查看器自己的计算。
常见错误
- 不能把 P 或 R 当成机器实测进度;它们是切片软件或其他文件生成器写入的数值。
- 不能因为切片配置选择了熟悉的 G-code flavor 就直接发送 M73;还要核对固件、版本、配置或宏。
- 加热、暂停、速度倍率、恢复打印等运行时事件都会让剩余时间失准。
主要资料来源
本页根据下面的固件文档审阅并重新整理。真正发送指令前,仍应以目标机器所用固件和实际配置为准。