注释
@DOUG888:Grbl 尊重 G2 和 G3 等模态运动模式,因此它们应该被 Grbl 接受和执行。 如果当您通过其他 GUI 或流媒体脚本流式传输时 Grbl 运行正常,则这不是 Grbl 问题。一些 GUI,如 UGS,会做一些预处理,包括将值舍入到一定精度,以及在内部检查有效 g 代码命令的 bCNC。有时,这些东西可能有错误并阻止您的程序正常运行。我会在 UGS 的 github 网站上提出这个问题。 |
我在我的流媒体程序中测试了您的代码片段,没有产生任何错误。肯定是UGS的问题。 |
我将此发布给遇到类似问题的任何人。 我在使用 Arcs 时一直遇到错误问题。如果我在带有 G02 或 G03 的弧线之后有一条没有 G 代码的弧线,则该线会导致错误。如果 G00 线位于 G02/G03 弧线和其他弧线之间,则会发生这种情况,G00 将取消 G02/G03 的影响。至少可以说,这也发生在使用 R 半径时……解决方案是在 POST 中,我将下面的行修改为“n”值,这在每个 G02/G03 所需行上给了我 G 代码,现在运行完美。 “204. 圆弧铣削中的 g 代码(G02 和 G03)是模态的吗?n <<<<<———— 这个值为 y”
原始码 N63 G02 X22.124 Y66.79 I2.119 J8.237 N64 POST 更改后的新代码 不是最优雅但最成功的。 |
@DOUG888: 你原来的g代码不正确。所有运动模式都是模态的,包括 G2 和 G3。在 N63,您处于 G2 弧模式。在 N64 中,您处于 G0 急流模式。在 N65 和 N66 中,您仍然处于 G0 急流模式。Rapids 模式不接受 IJK 字。您需要在出现的第一个实例中指定您需要的电弧模式。每个后续运动命令都将假定它是最后一个模式集。 请阅读 g 代码模态状态。LinuxCNC 在这方面有一些非常好的在线资源。 |
正如 Sonny 所说,G2/G3 是模态的,但 G1 和 G0 也是模态的,所有这些代码都在第 1 组运动代码中。任何时候只有一个第 1 组代码处于活动状态。因此,使用 G0 或 G1 会取消 G2 或 G3,直到再次指定为止。只有连续移动中的第一个实例必须具有 G2 或 G3 代码。 |
是的!..我同意这两条评论..G00/G01 取消了前面的 G02/G03。
我确实阅读了论坛上的内容,这就是我得到提示的地方 Bobcam V24 不会在输入 G00 或 G01 后添加 G02/G03 以补偿中断。它离开了没有G代码的行,所以自然而然地采用了前面的G代码,这导致了ERROR 我可以解决这个问题的唯一方法是按照我上面所说的去做,那就是修改 POST。如果有别的办法。请告诉我,我会尝试,如果没有,这已经解决了我的问题。 |
对于像 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