开源改变世界!!

暂停后恢复表现不合理 #129

推推 grbl 2年前 (2023-02-10) 81次浏览
关闭
deHarro 打开了这个问题 2020 年 3 月 29 日 · 8条评论
关闭

暂停后恢复表现不合理#129

deHarro 打开了这个问题 2020 年 3 月 29 日 · 8条评论

评论

暂停后恢复表现不合理 #129
德哈罗 评论了 2020 年 3 月 29 日  

嗨,马丁,

昨天我尝试了一些新东西,这次是在我的 CNC 路由器上(不是在办公室 PC 上)。

我做了另一个 WordClock 的前面。字符从正面铣削,然后填充树脂。之后,将板翻转过来,并从后面的槽中进行铣削,让 LED 的光通过。

好的。我在后面,铣削第一个箱子。
bin 必须正好在角色后面对齐,我希望检查并单击文件选项卡中的“暂停”。
然后我使用点动命令在 Z 方向提升主轴,这样我就可以查看垃圾箱了。
主轴现在位于工件上方几厘米处。
一切都很好,我点击“文件”->“开始”,主轴下降到新位置,工作继续进行。

和我一样好奇,我又试了一次,这次我不仅让主轴远离工件,而且在 X 轴上也有一段距离。更好地查看垃圾箱……:-)

好的,一切正常,“文件 -> 开始”…
猜猜会发生什么…
我必须补充一点,当我单击“暂停”时,作业在工件深处停止了一些毫米。
主轴降低到新的(或旧的?)Z 高度(记住,深入工件几毫米),然后移动到旧的 X 位置,留下一条细沟。幸运的是,这种情况发生在我可以毫不费力地修复它的地方。

这个说,你觉得,这个行为是来自GRBL还是来自OCP?
在我看来,首先恢复 X/Y 然后再恢复 Z 总是更安全。至少在路由器上(?)

谢谢!
哈拉尔德

暂停后恢复表现不合理 #129
所有者

嗨,哈拉尔德,

对不起,发生了!OpenCNCPilot 中的暂停和恢复功能确实做到了这一点。他们中断文件并随后恢复。如果你在暂停期间移动机器,它与将这些移动添加到文件中的随机位置具有相同的效果。添加一个函数来记住最后一个位置将需要大量工作(目前的编程方式不容易做到这一点)并且如果它的行为与用户期望的方式不同也可能导致错误,所以我不认为我会改变当前的行为。

马丁

暂停后恢复表现不合理 #129
作者
德哈罗 评论了 2020 年 3 月 29 日  

这对我来说没问题,我想(并希望)我记得,如果我将来使用暂停…;-)

但只是为了正确:
gcode 具有绝对坐标,因此无需“记住最后一个位置”。

GRBL 或 OCP 是否负责恢复动作的顺序?
必须有人(GRBL 或 OCP)决定先移动哪个轴。

附加信息:
据我记得所描述的情况,钻头首先挖入板,然后线性移动到文件中的下一个绝对 XY 坐标。
与此相反,如果您定义一个 XYZ 坐标,如 G1 X10 Y10 Z10 f10,该位将线性移动到给定点,所有三个轴同时移动。

所以实际上在这两种情况下都有不同的行为。
区别:
在该文件中,有一个命令定义了 XY 中所有连续移动的 Z 深度。
简历(文件->开始)告诉 GRBL 什么?
“从你离开的地方继续”?大概不会。OCP 仅传递 XY 中的新坐标,GRBL 知道“Z 与上一个 gcode 命令不同,所以让我们先恢复 Z”。

我记得在 GRBL 文档中读到有两个完全不同的缓冲区用于 gcode 流和慢跑命令。我会重读它(希望我能找到它:)。

但到目前为止,我认为,所描述的失败是 GRBL 的失败。

哈拉尔德

暂停后恢复表现不合理 #129
所有者

嗨,哈拉尔德,

grbl 不会“恢复”Z 高度。grbl 只是按照它们在文件中出现的相同顺序执行命令,对于 OCP 也是如此。你的钻头插入你的工件的不幸是在一个不幸的时刻暂停文件的结果。

用于流式传输和慢跑的两个缓冲区与此无关,这只是为了方便 grbl 接受前缀为“$J=”的命令,并且当命令超出机器时不会进入错误状态限制。

马丁