注释
类似的事情发生在我身上几次,除了我使用鼠标的屏幕按钮。当我释放鼠标按钮时,它停止了,然后又开始慢跑(不幸的是 Z 轴向下 )。我想,我做错了什么,所以我没有报告。对不起… 顺便说一句,Mac 操作系统 10.16 |
我有着同样的问题。一旦我松开鼠标按钮,在 GUI 中使用鼠标的点动移动按钮就会停止,但尝试用键盘或游戏手柄点动会堆积队列中的命令,并在按钮释放后长时间保持机器移动。 |
同样的问题在这里。如果我按住屏幕上的按钮超过 1 秒,就会发生很多事情。松开点动按钮时它会暂时减速,然后逃跑。我在树莓派 3 上运行它。 |
@Voxar如果您按 GUI 按钮,则不应发生这种情况,而只会发生键盘快捷键。您运行的是什么版本的 UGS? |
这种行为以前见过。在 gnea/GRBL 问题“慢跑取消 (0x85) 不工作 [已解决]”中查看此线程 连续点动功能非常有用,所以忽视这个问题并不是一个好的解决方案。 抱歉,我不具备对 UGS 代码进行这些更改的技能,所以我所能做的就是评论并希望提出可能的解决方案。 |
@TrevorTigheUGS 中实现的连续点动功能应注意等待最后一个命令被处理的时间,直到它发送“点动取消”命令。据我了解,GRBL 中的点动取消将安全地将任何运动减速至停止,因此无需更改 UGS 的进给率。 但连续慢跑功能仅在使用 GUI 按钮或游戏手柄时有效。我知道在早期版本中此实现存在一些问题,但应该得到解决。如果有人在使用 GUI 按钮或游戏手柄时仍然遇到此问题,欢迎您发布新的错误报告。 这个问题突出了键盘快捷键的问题。快捷方式不能使用, 只要用户按住快捷方式,快捷方式就会继续发出点动命令,因此这个错误很可能源于串行缓冲区被填充的问题,并且没有像你提到的那样被 GRBL 处理。解决方案可能是点动服务应该在发出新的点动命令之前检查控制器规划器中是否有空间。 |
我刚刚又做了一些实验。 UGS 的唯一解决方案是确保它在发送取消传输之前等待最后一次点动的“确定”。但是,如果轴的移动速度比 UGS 认为的要慢很多,那么这段时间可能会比 100 毫秒长很多。 在 GRBL 中,我将 X 轴最大进给速率设置为 6000 毫米/分钟,将 Y 轴设置为 2500 毫米/分钟。这是因为 Y 轴比 X 轴更大更重。大多数机器的 Z 轴在机械上也不同。因此,不同的最大进给率很常见。 |
@sergei66666如果我以 100 毫米的步进增量执行一次快捷方式,会发生什么情况?那也应该中止吗? |
我刚开始使用 CNC。但如果我理解正确,那么当我们停止转动编码器时,控制面板(吊坠)就会停止移动。 但是肯定会有人觉得不对。对于他们,添加一个设置,让他们可以不安全地工作(运行最后一个命令到最后)。 但在这里值得考虑一个细微差别。现在程序的工作方式如下:一个人按下组合键,按住它一会儿,发送了几个移动命令(每个 100 毫米)。 或者,您可以更改程序的行为,以便仅在前一个移动命令完成后才发送下一个移动命令。 如果我把我的想法描述得太混乱,请原谅我。 |
@sergei66666感谢您的输入。但是正如我在这个问题报告中多次指出的那样,我们没有得到关于何时释放密钥的事件。这是我们使用的快捷方式框架的限制。我们需要在现有的快捷方式监听器之上添加我们自己的按键事件监听器,使用任何用于慢跑的快捷键组合。 您的第二个选择更容易实施,并且可以缓解严重的问题。 |
bug描述
按住慢跑的键盘快捷键会进入一种连续慢跑的状态。根据已排队的命令数量,即使在释放按钮后,它也会继续点动。如果我们然后按下停止,它将取消发送的命令,但如果我们在 GRBL 接收缓冲区中仍有命令,这些现在将被处理并且点动将继续。
重现
重现行为的步骤:
预期行为
首选行为是在释放快捷方式时停止机器。然而,这是不可能的,因为快捷方式框架仅发送按键事件。为此,我们需要新闻发布活动。
然而,我们确实希望停止按钮应该停止所有点动命令。
版本
UGS 平台 2.0.7
硬件
GRBL 1.1+
操作系统(请填写以下信息):
N/A
此处的其他上下文
讨论:https ://groups.google.com/g/universal-gcode-sender/c/aqrSTgfBSsA