注释
同意。G92 是很久以前安装的东西,作为真正工作坐标 (G54-G59) 的权宜之计。我过去和我的机械师朋友谈过 G92。他完全同意你的担忧。他多次告诉我 G92 应该“几乎”永远不会被使用,因为它是痛苦的根源。除此之外,许多机器制造商以不同的方式使用 G92,因此 grbl 使用的实现不太可能像在其他控制器上那样工作。然而,工作坐标是标准化的。我一直在争论是否要保留 G92,但最终选择保留它,因为它从一开始就在那里。人们可能已经习惯了。 我认为只要有图形用户界面,就好@winder的UGS,用工作坐标代替G92,这样应该就可以了。事实上,我认为 G92 需要从所有 GUI 中完全删除,并且应该只根据用户需要手动编码。相反,我们应该使用 G10 Px L20(相当于 G92 X0 Y0 Z0)或 G10 Px L2(通过从机器位置数据自动设置指定轴)来设置持久工作坐标偏移。 |
同意,从长远来看,G54 等。是解决方案。另一方面,我正好在跑@winder的 UGS (1.0.4) 当我碰到这个时:尝试在 X 轴上手动点动 10mm – 在执行以 M30 结尾的代码之后 – 导致所有三个轴上的大点动;UGS 似乎不知道发布“G0 X10 Y0 Z0”现在会导致太空旅行而不是 10mm delta X。是否存在更新的版本……? |
@blinkenlight你看到的是因为在 1.0.4 中 UGS 没有进行位置轮询,所以 GUI 实际上不知道机器在哪里。我认为在 1.0.5 中,GUI 将使用当前机器坐标的偏移量,这可能是您所期望的。 |
我认为这个问题现在远未解决 – 在终端中手动设置 G54 是不切实际的,因为你想要的位置不是用作 G10 参数的值(这将通过 GUI 支持触发来解决)初学者仍然会在没有警告的情况下使用当前工具遇到 G92 怪异问题 – 但由于缺乏活动,我认为我可以关闭它。 |
我不确定您所说的这个问题现在远未解决且缺乏活动是什么意思。在我看来,从grbl的角度来看,这个问题已经解决了。这是设计和定义 g 代码的方式。 我同意您必须输入 G10 值的方式有点倒退,但这只是当前机器位置(给定的)和所需位置的算术运算。这可以很容易地通过 GUI 或手动处理。此外,G92 被定义为行为异常。我不知道为什么历史让这两个东西变得不那么人性化,但就是这样。为了改变行为,打破了 g 代码标准,因此它不再与 CAM 系统和其他控制器兼容。 恕我直言,这个问题应该通过接口来解决,而不是 grbl 本身。但是,如果您遇到另一个标准的 g 代码命令,我们可以使用它来使手动编码器更容易设置 G54-G59 工作坐标偏移,我一定会考虑安装它。 |
@chamnit:我知道 – 并且这么说 – 这不是要在 grbl 中修复的东西。那部分就好了。我只是指我最初的建议,即找到一些方法来警告新用户有关 M30 的 G92 行为(他们将在当前软件中遇到的唯一调零机制)。也许是新手可能阅读的 wiki 页面中的条目或类似内容(但哪个页面?)。由于该建议似乎没有后续行动,我决定关闭它。 说这个问题没有解决我的意思只是 – 据我所知 – 没有更新版本的软件可以避免整个问题,而且目前也没有任何警告可以警告它。我不是想责怪任何人… |
没问题。请注意,wiki 可能应该更新以更突出地链接 linuxcnc.org g 代码描述。 值得一提的是,我只是在命令G10 L20 Px上重新访问了 linuxcnc.org 页面。我不确定这是否最近发生了变化,或者我不知何故错过了它,但描述表明您可以指定要设置为当前位置的工作坐标偏移量,这正是 G92 的工作方式。G10 并不是真正的标准化命令,linuxcnc.org 一直使用它作为通过 g 代码更改和更新工件偏移参数的方法。现在,grbl 不符合他们的(新的?)描述,所以当我回到家时,我会花一些时间来确保它得到修复。也许,这应该有助于解决这个问题。:) |
那是……挺有意思的。我也记得看到 L20 被定义……不同,可能在 linuxcnc.org 上,但我不能再肯定了。这肯定会让事情变得更容易,但这对我来说也是第一次看到这样定义的 L20…:) |
这不是 grbl 的错误或问题 – 但对于初学者来说,这似乎是一个足够重要的问题。
简而言之,我目前正在使用 G92 设置我的 (0,0) 工作偏移量 – 大多数 UI 似乎都在做同样的事情。问题是,在程序末尾的 M30 之后,grbl(按照标准要求)将该偏移量重置为零,即。我们实际上回到了机器坐标系——这或多或少保证了在下一个命令——手动或 g 代码——由毫无戒心的操作员发出时将工具发送到宇宙边缘。
由于旧的/当前的 GUI 倾向于隐藏偏移量变化,继续显示他们认为当前的偏移量/位置仍然是什么,这个问题变得更糟。不幸的是,这甚至可以让非 CNC 初学者 – 就像来自 EMC 背景的人一样 – 因为(事实证明)EMC 的等效“触发”操作直接抵消了 G54 等系统,并且不使用 G92,因此,完全相同的 g 代码在结束后会保留其与 EMC 的偏移量,但会在 grbl 中丢失它们。
同样,grbl没有做错,我知道最近引入了 G54 偏移量。我只是想知道,如果他们同时使用 G92 和 M30(很多软件会在最后自动插入,无论我们喜欢与否),我们究竟在哪里/如何警告其他人需要注意……?