开源改变世界!!

JOG 命令将 GRBL 变为“哑”模式 #769

推推 grbl 2年前 (2023-01-23) 371次浏览

打开
luben111 打开了这个问题 2019 年 12 月 3 日 · 3条评论
打开

JOG 命令将 GRBL 变为“哑”模式#769

luben111 打开了这个问题 2019 年 12 月 3 日 · 3条评论

注释

JOG 命令将 GRBL 变为“哑”模式 #769
鲁本111 评论了 2019 年 12 月 3 日  

你好,

我在通过光电隔离屏蔽连接到 CNC 的 Arduino Nano 上使用 1.1h GRBL。一切正常,除了我有时会进入某种“哑”模式,机器无法再执行某些命令。
进入这种“哑巴”模式的场景如下:

  1. 连接到 GRBL,进行归位循环并将头部定位在距原点 5 毫米的位置 – 这项工作完美无缺。

  2. 通过使用我的 PC 软件,我向 GRBL 发送点动命令,将头部左右移动 1 毫米。
    \85$J=G91X-1F4000\n 和
    \85$J=G91X1F4000\n

  3. 有一个后台任务,每 250 毫秒通过发送轮询头部位置?(问号)

  4. 如果我一个接一个地(连续一次)快速按下左键和右键的慢跑按钮,并在各组之间保持暂停,让头部在一段时间后稳定下来(并释放输入缓冲区),我可以看到以下内容:
    a) GRBL 不接受点动命令 – 发送它们不会移动头部并且不会返回 OK(也没有错误)
    b) GRBL 也不执行移动命令
    c) GRBL 继续输出回复状态?

这是我的调试输出的快照 – 它显示了我在串行端口上发送和接收的所有内容(…是 0x85 的字符):

o- …$J=G91X-1F4000
-> 好
o- …$J=G91X1F4000
-> 好
o- …
o- …$J=G91X-1F4000
-> 好
o- …$J=G91X1F4000
-> 好
o- …
o- …$J=G91X1F4000
-> ok <<<< 这是我最后一次看到 OK 报告,问题发生了!
o- …$J=G91X-1F4000
o- …
o- …$J=G91X-1F4000
o- …$J=G91X1F4000
o- …
o- …$J=G91X1F4000
o- …
o- …$J=G91Y1F4000
o- ……

这是我得到的状态 – 它始终保持正确运行:

哦-?
-> <空闲|WPos:-127.667,-12.000,-1.000|FS:0,0|Ov:100,100,100>

或者

哦-?
-> <空闲|WPos:-127.667,-12.000,-1.000|FS:0,0|WCO:-10.000,-10.000,-10.000>

我的问题是——你在 GRBL 中看到过这种行为吗?欢迎任何解决此问题的想法。

亲切的问候,
鲁本

PS 我将命令从 \0x85$J=G91X1F4000\n 更改为 $J=G91X1F4000\n 并且我无法再重现“哑”模式。似乎 0x85 命令停留在行首以某种方式影响命令轮询,如果在错误的时刻到达可以锁定点动命令的进一步执行。

不幸的是,我需要该行以 0x85 开头才能取消当前活动的点动命令,所以我不能只切换到 $J=G91X1F4000\n

JOG 命令将 GRBL 变为“哑”模式 #769

你好。这就是我意识到的,如果你的 G 代码很大并且你想立即发送它们,则 Jog cancel 命令将无法正常工作。我使用 GRBL 本身提供的公式来解决这个问题。

JOG 命令将 GRBL 变为“哑”模式 #769
作者

嗨 sadezohdi,
你能分享一下你是如何使用“GRBL 本身提供的公式”的吗?
请注意,我没有溢出 GRBL 缓冲区,它几乎是空的。

喜欢 (0)