# 反向时间进给

社区固件支持 **G93** （反时间进给）和 **G94** （每分钟进给），精神上类似于 [LinuxCNC G93 / G94](http://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g93-g94)。它们是 **模态**：一旦设置，该模式就会一直生效，直到程序了另一个命令或程序以 **M2** / **M30**.

***

## G93 — 反时间进给模式

### 描述

**G93** 选择 **反时间进给**。在每次 **G1**, **G2**，或 **G3** 移动中， **F** 字被解释为 **不** 一个以 mm/min 表示的速度。相反，规划器会使用 **该移动的长度** 来转换它，从而使该移动在明确规定的时间内执行。

此模式适用于 **多轴移动** （例如同时进行线性和 **A**轴运动），在这种情况下，单独的 **F** mm/min 不如“在给定时间内完成此块”那样清楚地描述运动。

### F 的解释方式

固件将 **F** 视为具有以下单位： **每分钟 1** （倒数分钟），适用于该块：

* **完成该移动所需时间** ≈ **1 / F** （以分钟计），当 **F** 为正时。
* 规划器会将其转换为一个有效的 **mm/min** 路径速度，方法是将 **F** 乘以内部使用的 **移动长度** （其净效果与按该块的距离缩放进给相同）。

因此 **较大的 F** 表示 **更短的** 块时间（更快）， **较小的 F** 表示 **更长的** 块时间（更慢）。 **F** 必须为 **正数**.

### G1、G2 和 G3 的规则

* **每一条** **G1**, **G2**，以及 **G3** 线都必须包含一个有效的 **F** ，同时 **G93** 处于活动状态。如果 **F** 缺失，机器将 **暂停** 并报错，例如： `反时间进给模式要求每条 G01/G02/G03 线上都必须有 F 参数。`
* **G0** （快速移动）不 **不** 使用反时间：固件以 **mm/min** 运行快速移动，使用正常的 [快速/寻位行为](/docs/stable/zh/gu-jian/supported-commands/gcodes/g0-default-rapid-feed.md) (**default\_seek\_rate** or **F** （仅在该 **G0** 行上）。 **G93** 后续 **G1**/**G2**/**G3** 移动仍保持该模态状态开启。

### 圆弧（G2 / G3）

圆弧会被拆分为多个段。在 **G93**中， **总** 由 **F** 为该圆弧隐含的时间是 **在固件中分配到各段** ，以使整个圆弧与编程的反时间进给相匹配。

### 旋转（A 轴）移动

对于 **A**仅轴或辅助移动，其中距离以 **度**表示，相同的反时间缩放会在规划器中使用该距离。组合的 **XYZ + A** 移动使用固件计算出的完整路径长度（如适用，还包括旋转补偿）。如果纯旋转块看起来有问题，请检查 **F** 开启 **每一条** 线，并与 **G94** 在相同路径下的 + mm/min 进行比较。

### 参数

* **G93** 单独一行上的 **没有** 参数。

### 示例

```gcode
G21
G94
G1 X0 Y0 F2000        ; 正常：2000 mm/min

G93                   ; 启用反时间
G1 X10 Y0 F4          ; F 仅适用于此块；规划器根据移动长度推导出 mm/min
G1 X20 Y0 F8          ; 在 G93 处于活动状态时，每条 G1 都必须带有 F

G94                   ; 切回 mm/min
G1 X30 F1500
```

***

## G94 — 每分钟进给模式

### 描述

**G94** 选择 **每分钟进给** 模式（Carvera 上的常规行为）。 **F** 字在 **G1**, **G2**，以及 **G3** 中表示进给速率，单位为 **mm/min** （其中 **G21**). **G0** 继续使用在 [G0 快速进给](/docs/stable/zh/gu-jian/supported-commands/gcodes/g0-default-rapid-feed.md) 页面中所述的寻位速率规则。

**M2** 以及 **M30** 还会清除反时间，并恢复对进给采用 **G94**-风格处理的默认预期。

### 参数

* **G94** 单独一行上的 **没有** 参数。

### 示例

```gcode
G21 G94
G1 X10 Y10 F1200      ; 沿移动方向为 1200 mm/min
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://carvera-community.gitbook.io/docs/stable/zh/gu-jian/supported-commands/gcodes/inverse-time-feed-g93-g94.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
