开源改变世界

读取弧形移动错误 #1058

推推 grbl 3年前 (2023-01-23) 123次浏览

关闭
DOUG888 开启了这个问题 2016 年 8 月 18 日 · 6条评论
关闭

读取弧形移动错误#1058

DOUG888 开启了这个问题 2016 年 8 月 18 日 · 6条评论

注释

读取弧形移动错误 #1058

对于像 BobCadCam 这样的程序,弧线中 G02(2 或 3)的初始注释不会在每一行代码中重复,而是仅在出现不同的 G01、G02/G03 之后才添加,这似乎会导致错误并停止 Universal Gcode 发件人(最新版本)。

请参见下面的示例
N21 以 G02 开始,它通过行 N22-N26 反映出来,在那里它变为 N27 G01,然后再次变为 N28 G02。如果 IJ 线上缺少 G02/G03,就会出现错误并且 UGS 停止。

我已经运行了脚本,其中 G 代码位于每条 IJ 行的前面,并且运行良好。

我在 Windows7 机器上使用最新版本的 GRBL 和 UGS 平台

我不确定这是 GRBL 问题还是 UGS 问题。
谢谢

N20 G01 X200.587 Y71.96
N21 G02 X200.392 Y73.038 I4.107 J1.3
N22 X200.912 Y75.04 I3.432 J.177
N23 X201.729 Y75.979 I3.093 J-1.866
N24 X201 .98 Y76.163 I2.027 J-2.499
N25 X203.664 Y76.68 I1.718 J-2.594
N26 X204.824 Y76.536 I.047 J-4.368
N27 G01 X204.828 Y76.535
N28 G02 X206.794 Y74.417 I-.841 J-2.753
N29 G01 X206.795 Y74.413
N30 X206.838 Y74.175
N31 G02 X206.823 Y73.442 I-1.819 J-.328
N32 X206.485 Y72.908 I-. 918 J.206

读取弧形移动错误 #1058
成员

@DOUG888:Grbl 尊重 G2 和 G3 等模态运动模式,因此它们应该被 Grbl 接受和执行。

如果当您通过其他 GUI 或流媒体脚本流式传输时 Grbl 运行正常,则这不是 Grbl 问题。一些 GUI,如 UGS,会做一些预处理,包括将值舍入到一定精度,以及在内部检查有效 g 代码命令的 bCNC。有时,这些东西可能有错误并阻止您的程序正常运行。我会在 UGS 的 github 网站上提出这个问题。

读取弧形移动错误 #1058

我在我的流媒体程序中测试了您的代码片段,没有产生任何错误。肯定是UGS的问题。

读取弧形移动错误 #1058
作者

我将此发布给遇到类似问题的任何人。

我在使用 Arcs 时一直遇到错误问题。如果我在带有 G02 或 G03 的弧线之后有一条没有 G 代码的弧线,则该线会导致错误。如果 G00 线位于 G02/G03 弧线和其他弧线之间,则会发生这种情况,G00 将取消 G02/G03 的影响。至少可以说,这也发生在使用 R 半径时……解决方案是在 POST 中,我将下面的行修改为“n”值,这在每个 G02/G03 所需行上给了我 G 代码,现在运行完美。
我在 Windows7 上使用 Bobcam V24。

“204. 圆弧铣削中的 g 代码(G02 和 G03)是模态的吗?n <<<<<———— 这个值为 y”

原始码 N63 G02 X22.124 Y66.79 I2.119 J8.237 N64
G00 X28 Y69
N65 X33.696 Y72.598 I8.317 J-2.139 <<<<<———— ———-错误在这里和下一行
N66 X74.864 Y49.249 I-80.481 J-189.872

POST 更改后的新代码
N54 G03 X28.68 Y49.821 I.002 J3.348
N55 G02 X30.167 Y49.803 I.691 J-4.436
N56 G02 X31.328 Y49.512 I-1.563 J-
8.681 N57 G01 X32.2 Y49.229
N58 G03 X33.001 Y49.006 I2.971 J9.152
N59 G03 X33.766 Y48.894 I1.068 J4.612

不是最优雅但最成功的。

读取弧形移动错误 #1058
成员

@DOUG888: 你原来的g代码不正确。所有运动模式都是模态的,包括 G2 和 G3。在 N63,您处于 G2 弧模式。在 N64 中,您处于 G0 急流模式。在 N65 和 N66 中,您仍然处于 G0 急流模式。Rapids 模式不接受 IJK 字。您需要在出现的第一个实例中指定您需要的电弧模式。每个后续运动命令都将假定它是最后一个模式集。

请阅读 g 代码模态状态。LinuxCNC 在这方面有一些非常好的在线资源。

读取弧形移动错误 #1058

正如 Sonny 所说,G2/G3 是模态的,但 G1 和 G0 也是模态的,所有这些代码都在第 1 组运动代码中。任何时候只有一个第 1 组代码处于活动状态。因此,使用 G0 或 G1 会取消 G2 或 G3,直到再次指定为止。只有连续移动中的第一个实例必须具有 G2 或 G3 代码。

读取弧形移动错误 #1058
作者
道格888 评论了 2016 年 8 月 23 日  

是的!..我同意这两条评论..G00/G01 取消了前面的 G02/G03。

G00 将取消 G02/G03 的影响。

我确实阅读了论坛上的内容,这就是我得到提示的地方

Bobcam V24 不会在输入 G00 或 G01 后添加 G02/G03 以补偿中断。它离开了没有G代码的行,所以自然而然地采用了前面的G代码,这导致了ERROR

我可以解决这个问题的唯一方法是按照我上面所说的去做,那就是修改 POST。如果有别的办法。请告诉我,我会尝试,如果没有,这已经解决了我的问题。

喜欢 (0)