开源改变世界

点动取消 G91 模式 #469

推推 grbl 3年前 (2023-02-03) 120次浏览
关闭
MitchBradley 打开了这个问题 2019 年 4 月 27 日 · 1条评论
关闭

点动取消 G91 模式#469

MitchBradley 打开了这个问题 2019 年 4 月 27 日 · 1条评论

评论

点动取消 G91 模式 #469

如果控制器处于 G91 模式,点动会将其设置回 G90 模式。重现:

<console> > G91
<console> > G0 X10
Jog with a button
<console> > G0 X50

第二个 G0 在绝对模式下执行,而不是相对模式。

诚然,很少让机器处于 G91 模式,这可能不是一个好主意,但现有的行为仍然是不正确的。

我正在 cncjs-shopfloor-tablet 中修复此问题,代码可以轻松访问 modal.distance。我不确定对 app/widgets/Axes/index.jsx 是否有类似的修复。在服务器中实现慢跑而不是发送繁琐的 GCode 序列可能更好。这是一个困难的决定。

点动取消 G91 模式 #469 cheton 将此 添加到 1.10里程碑 2019 年 4 月 27 日
点动取消 G91 模式 #469 奇顿 删除了 1.10 标签 2019 年 4 月 27 日
点动取消 G91 模式 #469 cheton 在1.10中将此 添加到低优先级 2019 年 5 月 9 日
点动取消 G91 模式 #469
贡献者作者

事实证明,这真的很难做好。根本问题是,当快速连续发出点动命令时(可以通过自动重复击键来完成),当前模式的报告可能与点动命令序列的发出不同步。控制器可以在点动移动过程中报告它处于 G91 模式。该模式稍后将被下一个排队的 G90 命令取消,但如果 CNCjs 在该临时 G91 状态期间发出另一个点动,它将做错事。我关闭它是因为我想不出一个合理的方法来修复它,除了对 GCode 流进行深度建模。