注释
|
只需在不同的线路上为每个轴发送您的命令。 |
|
@mikemaikaefer:在一些较旧的业余 CNC 和当前的高端 CNC 机器中,G0 确实以各自的最大行进速度独立移动。这主要是为了最大化速度和增加产量,因为直线运动会限制最慢轴的最大速度。 但是,你最终得到的是一个“狗腿”动作。我与几位与我共事的经验丰富的机械师进行了交谈。在大多数情况下,这种狗腿运动可能无法预测,并且通常会导致机器撞到固定装置或机器空间中的其他障碍物。他们已经看到这种情况在新员工不熟悉机器的生产场景中一次又一次地发生。 也就是说,可以使用 Grbl 通过 G0 命令在某种程度上模拟狗腿移动。只需分解点对点移动并在其间插入基于您正在移动的轴的最大速度的路点。它会通过航路点放慢一点,但会让你靠近。 很久以前,我做出了一项行政决定,让 G0 成为一个直接的点对点运动,以帮助防止此类问题的发生,因为最大化生产力并不是业余机械师的关键设计驱动力。在这个领域,安全性和易用性是重中之重。我认为我不会很快引入独立轴运动。如果它出现,它将作为一个选项出现在未来的“专业”版本中。 |
|
@neilferreri然后轴依次移动并且不再平行 @chamnit哪个版本支持这个正确的 G0 命令?我理解你的论点但不同意,当G0这样工作时,与G1没有区别,两者之一都没有用。 |
|
@Sortland: 我不同意。G0 与 G1 不同。G0 始终以最大进给速率运行,而 G1 遵循编程的 F 进给。这使您可以在 G0 最大速度与 G1 切削速度之间快速切换,尤其是在手动控制期间。G0 的实现方式完全取决于制造商。G0 的行为在所有 CNC 机器上并不一致,在某些情况下可能是可配置的。去检查一下自己。同样,Grbl 不会很快改变这一点,只会在未来的“专业”版本中这样做。 还有其他固件允许您为 G0 编写单独的 F。这是完全错误的,会使 G1 和 G0 几乎相同。 |
|
实际上,在为 G0 使用狗腿运动的工业机器上,与线性运动相比,到达终点位置所需的时间可能有也可能没有任何差异。这取决于机器如何“思考”。假设您必须在 X 方向移动 1000 毫米,在 Y 方向移动 2000 毫米,并且 X 和 Y 均以 1000 毫米/分钟的速度移动。如果机器对线性运动的狗腿运动没有进一步限制,那么机器仍然必须将 Y 轴移动 2000 毫米,无论路径如何,这都需要 2 分钟。 唯一会出现差异的情况是当特定控制器对线性插值移动有限制时。例如,假设上面的机器将线性插补移动限制为 1000 毫米/分钟的总速率。在这种情况下,线性 G0 将花费更长的时间,因为 Y 轴不能再以其 1000 毫米/分钟的最大速率移动。这些控制器中的狗腿运动实际上并不被视为线性插补运动,因此 X 和 Y 的 45 度初始运动可以同时以高于 1000 毫米/分钟的总速率发生 GRBL 不限制这种方式,会尽可能快地移动到目的地。例如,X 轴和 Y 轴上的最大进给速率均为 1000 毫米/分钟,45 度移动(即:x 500 和 y 500 同时移动)导致整体快速进给速率为 1414 毫米/分钟,这是两个轴以它们的最大速率为 1000 毫米/分钟 (sqrt(1000^2 + 1000^2) = 1414 毫米/分钟)。因此,即使 Grbl 正在进行线性插补移动,它仍然以 1000 mm/min 的速度移动每个轴,因此在这种情况下,每个轴具有相同的最大速度,限制因素将是必须移动最远的轴, 但狗腿与否到达终点的时间是一样的。 如果您想使事情进一步复杂化,现在有些机器可以选择使用圆弧运动进行快速移动 (G0)。这会导致更温和的加速和减速,并且对机器的机械结构更容易。 |
|
@109JB: 你是对的。动作之间的时间差应该没有或很小。一个移动,无论是狗腿还是线性,仍然受到最慢轴的限制。我认为在某些情况下,其中任何一个都可能比另一个稍快。例如,如果一个轴的加速度有限而另一个轴的速度有限,则狗腿可能更快。 在发布我的最后一条评论以验证一些事情后,我还与我们工作场所的机械师进行了交谈。他说的和我记得的相反。大多数更高端的 CNC 机器现在都以 G0 的线性运动移动。大多数更便宜的生产 CNC 和较旧的业余爱好者工厂都在做狗腿。而且他所见过的两种类型的运动之间没有可配置性。通常制造商会选择一种类型。 |
|
供参考,
|
|
@chamnitFanuc 控制器是我所知道的控制器,它有一个参数可以设置为选择快速方法作为线性移动或狗腿。即使是我以前运行的旧辛辛那提 VMC 也使用线性插值快速。较新的 Brother VMC 是我听说过的用于急流以减少机器磨损的圆弧移动的 VMC,并且还有一个可以设置的参数。 |


我正在寻找所有轴彼此独立移动的可能性,因此也可能在不同时间停止。因此,当给出运动命令时,它们不会从当前坐标位置“画”一条线到目标坐标位置,而是分别以最大速度移动到它们的目标位置。
在我看来命令 G0 应该这样做,但这里轴的运动速度可能会受到限制,以便让所有轴同时到达(所以这将是一个错误)。所以 G1 和 G0 之间没有真正的区别,最后一个应该让每个轴尽可能快地移动(事实并非如此),但我也很高兴有一个启用此功能的特殊模式。