通过使用我的 PC 软件,我向 GRBL 发送点动命令,将头部左右移动 1 毫米。 \85$J=G91X-1F4000\n 和 \85$J=G91X1F4000\n
有一个后台任务,每 250 毫秒通过发送轮询头部位置?(问号)
如果我一个接一个地(连续一次)快速按下左键和右键的慢跑按钮,并在各组之间保持暂停,让头部在一段时间后稳定下来(并释放输入缓冲区),我可以看到以下内容: a) GRBL 不接受点动命令 – 发送它们不会移动头部并且不会返回 OK(也没有错误) b) GRBL 也不执行移动命令 c) GRBL 继续输出回复状态?
你好,
我在通过光电隔离屏蔽连接到 CNC 的 Arduino Nano 上使用 1.1h GRBL。一切正常,除了我有时会进入某种“哑”模式,机器无法再执行某些命令。
进入这种“哑巴”模式的场景如下:
连接到 GRBL,进行归位循环并将头部定位在距原点 5 毫米的位置 – 这项工作完美无缺。
通过使用我的 PC 软件,我向 GRBL 发送点动命令,将头部左右移动 1 毫米。
\85$J=G91X-1F4000\n 和
\85$J=G91X1F4000\n
有一个后台任务,每 250 毫秒通过发送轮询头部位置?(问号)
如果我一个接一个地(连续一次)快速按下左键和右键的慢跑按钮,并在各组之间保持暂停,让头部在一段时间后稳定下来(并释放输入缓冲区),我可以看到以下内容:
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