开源改变世界

点动取消/进给保持问题 #91

推推 grbl 2年前 (2023-01-29) 151次浏览
打开
109JB 开了这个issue 2019 年 2 月 10 日 · 0 条评论
打开

点动取消/进给保持问题#91

109JB 开了这个issue 2019 年 2 月 10 日 · 0 条评论

注释

点动取消/进给保持问题 #91

我在取消点动和使用进给保持时遇到了问题。我只在 Grbl_ESP 版本上遇到过这个问题,无法在 AVR 版本上重现该问题。我下载了当前的 Grbl_ESP WebUI 版本并将其闪存到 2 个不同的 ESP32,并在我的计算机上使用不同的 USB 电缆和端口来尝试消除这部分硬件。我闪现的是一个完全未修改的版本,除了打开线路回显作为调试它的尝试。我在没有回声的情况下尝试过,问题仍然存在。所以这是它在每种模式下所做的事情:

当发出点动时,点动开始正常,但偶尔在发出点动取消实时命令后,点动速度会减慢到比编程的进给速度慢,并且来自定时的实际进给速度甚至不接近,但它不会停止。虽然这正在进行中,但状态报告仍在发送并且机器状态保持在“点动”状态,位置已更新,缓冲区状态显示已使用一个计划程序块 (14) 并且整个串行缓冲区可用 (128)。如果我发送另一个点动取消命令,规划器缓冲区保持 14,但串行缓冲区更新为 127,表明它已发送。以下是一些状态报告和回声:

(G20 was active with $13=0 so the equivalent programmed rate was 2540mm/min)
[echo: $J=G90G53F100X1000]       
ok
<Jog|WPos:74.543,0.000,0.000|Bf:14,128|FS:600,0|Pn:X>
<Jog|WPos:74.549,0.000,0.000|Bf:14,128|FS:600,0|Pn:X>
....... (left out a bunch of status reports but another jog-cancel command was sent here)
<Jog|WPos:74.689,0.000,0.000|Bf:14,127|FS:600,0|Pn:X>

当它进入此状态时,来自状态报告更新的定时进给率约为 3 毫米/分钟(0.1 英寸/分钟),即使状态报告显示其速度为 600 毫米/分钟。当我使用慢跑重现它时,这是典型的。

我要提到的是,我还调查了我的 GUI,看看是否有什么东西会导致这种情况,但一无所获,但我会解释我的点动按钮是如何工作的。我有 X+、X-、Y+ 等按钮,按下这些按钮会触发 MouseDown 事件。此事件只是根据当前用户选择组装要为点动命令发送的字符串,然后使用 SerialPort.write 命令发送它。我有一个标志,所以这个事件每次按下时只触发一次,按住时不会重复。很简单的。如果用户选择“连续”慢跑,那么事件只会发送一个大值,我现在将其设置为 1000“当前单位”(G20/G21)。当释放按钮或光标移动到按钮边界之外时,MouseUp 或 MouseLeave 事件将触发,它只是将取消点动实时字符发送到串行端口。这些没有任何类型的标志来阻止发送点动取消命令。我更进一步并添加了一个按钮,当按下该按钮时会发送取消慢跑命令,以便我可以查看发送另一个命令是否会停止错误行为。如上面的最后一个状态报告所示,它没有工作。如果我继续按下额外的按钮,串行缓冲区会在每次按下时减少一个。

现在继续喂养,我认为这是相关的。我决定不使用 $J= jog 命令而只使用 G 代码命令,所以我修改了我的例程,这并不需要太多。现在 MouseDown 触发并向串行端口发送类似 G90G53G1F100X1000 的内容。MouseUp 和 MouseLeave 事件执行以下操作:发出进给保持,等待状态报告显示“Hold:0”以指示运动已停止,然后发出软重置命令以刷新缓冲区。当按照上面的点动描述进行操作时,鼠标按下的回声是预期的,通常你会看到“Hold:1”,然后是“Hold:0”,然后是复位,但偶尔机器会再次进入 Hold :1, slow down , but never stop and never get to Hold:0 当这种情况发生时,发出进给保持,或循环启动命令除了显示在报告的可用串行缓冲区字节中之外什么都不做。这是它工作时的样子:

[echo: G90G53G1F98.42X1000]
ok
<Run|WPos:1092.979,0.000,0.000|Bf:14,128|FS:1320,0|Pn:X>
<Run|WPos:1095.641,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1099.988,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X|WCO:0.000,0.000,0.000>
<Run|WPos:1104.757,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X|Ov:100,100,100>
<Run|WPos:1109.284,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1113.848,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1118.330,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1122.812,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1127.502,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1131.985,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1136.425,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1140.909,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
(Feed-hold sent)
<Hold:1|WPos:1145.425,0.000,0.000|Bf:14,128|FS:1900,0|Pn:X>
<Hold:1|WPos:1148.652,0.000,0.000|Bf:14,128|FS:580,0|Pn:X>
<Hold:0|WPos:1149.502,0.000,0.000|Bf:14,128|FS:0,0|Pn:X>
Grbl 1.1f ['$' for help]

当它不起作用时低于。请注意,这次它实际上停止了,但从未进入 Hold:0,因此我的 GUI 从未发送过重置命令。

[echo: G90G53G1F98.42X1000]
ok
<Run|WPos:971.394,0.000,0.000|Bf:14,128|FS:1680,0|Pn:X|Ov:100,100,100>
<Run|WPos:974.466,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:979.019,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:983.501,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:988.275,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:992.715,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:997.239,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1001.804,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1006.286,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X>
<Run|WPos:1010.852,0.000,0.000|Bf:14,128|FS:2500,0|Pn:X|WCO:0.000,0.000,0.000>
(Feed-hold sent)
<Hold:1|WPos:1015.117,0.000,0.000|Bf:14,128|FS:1300,0|Pn:X>
<Hold:1|WPos:1017.352,0.000,0.000|Bf:14,128|FS:100,0|Pn:X>
<Hold:1|WPos:1017.597,0.000,0.000|Bf:14,128|FS:0,0|Pn:X>
<Hold:1|WPos:1017.597,0.000,0.000|Bf:14,128|FS:0,0|Pn:X>

我只调查了 $13=0,但在 G20 和 G21 中,似乎我可以在 G20 中更容易地复制问题,但它在 G20 和 G21 中都做到了。我也试过在我的按钮上快速点击和释放以及缓慢点击和缓慢释放,当它这样做时它是非常随机的。单击-释放-单击-释放似乎与单击-等待-释放-单击-等待-释放没有任何不同。有时它会在第一次点击/释放时正确执行,有时需要 20-50 个点击/释放周期才能完成。

抱歉,除了它在做什么,我无法提供更多见解,因为我没有良好的 C/C++ 编码技能。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

1名参加者
点动取消/进给保持问题 #91

喜欢 (0)