打开 dvsingletary 打开了这个问题 2020 年 1 月 11 日 · 1条评论 注释 双单 评论了 2020 年 1 月 11 日 • 编辑 在少数情况下,如果在 grbl 向 gcode 发送方发送“ok”后立即触发重置/中止(通过 A0 引脚),grbl 将在重置后从发送方接收下一个命令。重置后,许多状态值被重置(例如 G20/G21),这可能导致机器崩溃。 我提出两种解决方案之一: 在主循环结束时添加延迟。延迟会在发送的最后一个“ok”和完成重置之间创建一个最小间隔,这意味着任何响应“ok”而发送的新命令都会在重置前的延迟后从串行缓冲区中转储。该解决方案不是防弹的。没有实时保证 gcode 发送者将以多快的速度响应下一个命令的“ok”,因此没有足够长的延迟来避免问题。 唯一的防弹解决方案是在中止/重置引脚被触发时始终向机器发出警报(EXEC_ALARM_ABORT_CYCLE),无论机器是否在运动中。这需要 gcode 发送器上的操作员有意“解锁”以确认重置,并确保重置后grbl 不会解释与重置同时发送的任何错误命令。 除了上面的解决方案 2 之外,还有其他方法可以以防弹方式解决这个问题吗? dvsingletary 提到了这个问题 2020 年 1 月 12 日 修复 #1341 绕线器/通用 G 代码发送器#1343 关闭 作者 双单 评论了 2020 年 1 月 13 日 • 编辑 仔细考虑一下,虽然从技术上讲,不能保证来自 gcode 发送方的“ok”-> 下一个命令的响应延迟,但实际上它通常非常低——如果不是这样,gcode 发送方将停止并且无法使用。我认为假设几乎 100% 的时间 gcode 发送器将在 500 毫秒内发送下一个命令是合理的。因为解决方案 2(每次在软复位中断时发出警报)更具破坏性,我认为解决方案 1 是两者中更好的。 喜欢 (0) 开发 #907 当我在成功归位序列后输入 g 代码时触发硬限制 #908 GRBL/UGS 问题,已知硬件可以工作,但没有运行 Grbl 的步进运动 XY 绘图仪 – 将 Word 文档转换为 GRBL 文件 grbl 随机在中间停止 Arduino Uno GRBL 问题 GRBL/UGS 问题,已知硬件可以工作,但没有运行 Grbl 的步进运动XY 绘图仪 – 将 Word 文档转换为 GRBL 文件grbl 随机在中间停止Arduino Uno GRBL 问题为什么这会“崩溃”我的 3018 CNCFusion 360 / Grbl – 最后毁掉了工作?!使用 Grbl Shield,必须采取哪些接地预防措施?GRBL 安装挑战(在 cnc 3018 pro 上)
在少数情况下,如果在 grbl 向 gcode 发送方发送“ok”后立即触发重置/中止(通过 A0 引脚),grbl 将在重置后从发送方接收下一个命令。重置后,许多状态值被重置(例如 G20/G21),这可能导致机器崩溃。
我提出两种解决方案之一:
除了上面的解决方案 2 之外,还有其他方法可以以防弹方式解决这个问题吗?