注释
看起来您的串行通信正在丢失字符。您的 Arduino 是否有 CH340G USB 转串口芯片?之前使用 CH340G 的克隆已经看到此类问题。 |
感谢回复。 没有串口转USB。笔记本电脑 com 端口通过电平转换器连接到 arduino Rx Tx 引脚。你是说 BCNC 可能正在从 arduino 读取损坏的数据?bcnc 在发送文件时读取什么数据?我在终端窗口中看不到它的迹象。 |
是的,bCNC 似乎从 Arduino 收到了损坏的数据。Sender.py 代码的那部分正在处理接收状态报告和解析它们(您的行号与当前代码不完全匹配,但它在同一区域):https ://github.com/vlachoudis/bCNC/ blob/master/Sender.py#L1007 上面异常输出中 grbl 的状态响应是“-121.04-0.500”——它看起来已损坏,因为它至少缺少(我相信)Y 和 Z 坐标之间的逗号。因此 bCNC 在解析 MPos Y 值的无效数字时出错。 也许您的笔记本电脑正在努力跟上串行数据,或者电平转换器可能会丢失偶尔的位并导致数据损坏。或者可能只是由于电噪声而丢失了一些位。 |
好的。感谢那。现在我知道要寻找什么了。 |
我的等离子切割机也有同样的问题。我的等离子切割机发送高压以用金属板启动等离子。此时,消息可能已损坏。 self._posUpdate = True elif word[0] == “F”: elif word[0] == “FS”: elif word[0] == “Bf”: elif word[0] == “Ov”: elif word[0] == “WCO”: |
谢谢格兰伯特!那太棒了。我现在正在运行。 |
谢谢@ghlambert我已经在代码中添加了 |
大约 15 分钟后,bCNC 停止向 grbl 发送 gcode。Grbl 仍处于活动状态并连接终端程序并输入 ? 如果空闲则返回状态。
失败时 Python 屏幕显示以下内容:
线程 Thread-5 中的异常:
Traceback(最近调用最后一次):
文件“C:\Python27\lib\threading.py”,第 801 行,在 __b
self.run()
文件“C:\Python27\lib\threading.py”中py”, line 754, in run
self.__target(*self.__args, **self.__kwargs)
File “C:\bCNC-master\Sender.py”, line 1007, in serial
CNC.vars[“my”] = float(word[2])
ValueError:float() 的无效文字:-121.04-0.500
失败并不总是在文件中的同一个地方。相同的 gcode 脚本与 UGS 一起运行数小时而没有失败。
这是gcode。
bcnc测试.txt