Contact me: hankecnc@gmail.com

偶尔不完整的状态报告 #1140

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

打开
里程表 打开了这个问题 2016 年 12 月 6 日 · 6条评论
打开

偶尔不完整的状态报告#1140

里程表 打开了这个问题 2016 年 12 月 6 日 · 6条评论

注释

偶尔不完整的状态报告 #1140

你好!

我有一个 GUI 可以轮询空闲状态的状态报告以确定动作何时完成以及下一个动作可以开始,但是有几次我突然遇到不完整的状态报告,这可能会导致我的解析器出现问题. 通常它错过了报告中的 X 和 Y 坐标,并报告了其他所有内容。这可能已在 v 1.x 中修复,但如果不是,我认为您应该知道。我通过忽略不完整的报告最终修复了这个错误。这是我的 grbl 反馈日志的屏幕截图。

偶尔不完整的状态报告 #1140

谢谢!

偶尔不完整的状态报告 #1140
成员

@milesingrams: 不知道那里发生了什么。其他现有的 GUI 开发人员从未报告过这个问题。所以,我认为这是您的设置或 GUI 所特有的。如果您有带 CH380 USB 串行芯片的 Arduino,众所周知,当有大量串行数据时,这会出现问题。它经常有缓冲区溢出和丢失数据。

偶尔不完整的状态报告 #1140
作者

我使用的是官方 Arduino Uno Rev 3,所以我认为它没有 CH380 USB 串行芯片。该错误在持续运行的几个月内只发生过两次,所以这可能只是一个非常罕见的问题。另外,当我使用“?”进行投票时 命令我正在以每秒 10 次的速度执行,这可能太快了,我可能应该减慢到每秒 5 次。

偶尔不完整的状态报告 #1140
成员

@milesingrams: 行。这排除了 CH380。它是否像您所显示的那样降低了整个值?您是否注意到其他任何模式?

您看起来正在向上移动 z 轴,并且显示的 Z 位置与之前的位置相同,但低于上一个,这似乎很奇怪。也许这是一个线索。

偶尔不完整的状态报告 #1140
成员

你能发布你的 $I 信息字符串和设置吗?另外,您的 GUI 使用什么软件或库?

偶尔不完整的状态报告 #1140
作者

$I 信息字符串
[0.9j.20160317:]

$$ Settings
$0=10 (step pulse, usec)
$1=250 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable反转,布尔)
$5=1(限制引脚反转,布尔)
$6=0(探针反转,布尔)
$10=1(状态报告掩码:00000001)
$11=0.020(结偏差,mm)
$12=0.010(电弧公差,毫米)
$13=0(报告英寸,布尔)
$20=1(软限制,布尔)
$21=0(硬限制,布尔)
$22=1(归位周期,布尔)
$23=7(归位方向反转掩码:00000111)
$24 =120.000(归位进给,毫米/分钟)
$25=3000.000(归位寻道,毫米/分钟)
$26=100(归位去抖动,毫秒)
$27=1.000(归位牵引,mm)
$100=20.000(x,步长/mm)
$101=20.000(y,步长/mm)
$102=200.000(z,步长/mm)
$110=12000.000(x 最大速率,mm /min)
$111=12000.000 (y max rate, mm/min)
$112=3600.000 (z max rate, mm/min)
$120=800.000 (x accel, mm/sec^2)
$121=800.000 (y accel, mm/sec ^2)
$122=160.000(z 加速度,毫米/秒^2)
$130=310.000(x 最大行程,毫米)
$131=310.000(y 最大行程,毫米)
$132=135.000(z 最大行程,毫米)

我正在使用 Node.js ( https://nodejs.org/en/ ) 运行一个名为 node-serialport ( https://github.com/EmergingTechnologyAdvisors/node-serialport ) 的库来通过串行与 grbl 交互。

偶尔不完整的状态报告 #1140
作者

奇怪的是,缩短的状态报告看起来像前 2 行状态报告的副本,只是缺少 X 和 Y 值。如果我没记错的话,上次发生的模式是相同的:X 和 Y 缺失,状态的 Z 值和行号与前几行的状态相同。

喜欢 (0)