开源改变世界!!

显示行号报告 #774

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

打开
sadezohdi 打开了这个问题 2019 年 12 月 14 日 · 9条评论
打开

显示行号报告#774

sadezohdi 打开了这个问题 2019 年 12 月 14 日 · 9条评论

注释

显示行号报告 #774


,我想用另一个 Ardino 控制 GRBL。几乎完成了百分之八十的工作。
我发送了 G 代码并正确地获得了机器位置,但是我错过了正在运行的线!
起初我在做字符’d’(空闲),但我发现它是错误的。你对此有何看法?
感谢您的精彩代码…

显示行号报告 #774

尝试字符“?” 获取位置数据???

状态报告
当 ? 字符发送到 Grbl(不需要额外的换行符或回车符)时,它会立即响应
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000> 到报告它的状态和当前位置。每当 Grbl 检测到一个时,? 总是被拾取并 从
串行接收缓冲区中删除。所以,这些可以随时发送。另外,让 GUI 更容易接收
状态报告,它们总是被 <> V 形包围。

开发人员可以使用此数据为用户提供屏幕位置数字读数 (DRO) 和/或向用户显示
虚拟工作空间中的 3D 位置。我们建议向 Grbl 查询一个 ? 不超过 5Hz 的实时状态报告。10Hz 可能是可能的,但在
某些时候,收益会递减,你会要求 Grbl 的 CPU 生成和发送大量位置数据,从而增加它的负担。”

https://github.com/grbl/grbl/wiki/Interfacing-with-Grbl

显示行号报告 #774

至少在 Mega 上,有一个选项可以返回当前规划器块的 N 号;我认为它也在 ‘328 版本上。在我的代码库中,它通常是打开的;并由REPORT_FIELD_LINE_NUMBERS配置指令控制。您可能会在代码库中进行搜索,REPORT_FIELD_LINE_NUMBERS看看是否能满足您的需求。

显示行号报告 #774
作者

感谢您的回答 。
@bdurbrow
该行在 config.h 中启用。但是当收到状态报告(’?’)时,它不发送行号。

显示行号报告 #774 sadezohdi 更改了标题 显示正在运行的 gcode 显示 LINE_NUMBERS gcode 2020 年 1 月 19 日
显示行号报告 #774 sadezohdi 更改了标题 显示 LINE_NUMBERS gcode 显示行号报告 2020 年 1 月 19 日
显示行号报告 #774

感谢您的回答 。
@bdurbrow
该行在 config.h 中启用。但是当收到状态报告(’?’)时,它不发送行号。

你好,你有想过吗?我遇到了同样的问题,在网上找不到任何东西。运气好的话?

显示行号报告 #774

我在 grbl 状态报告和 XYZ 位置数据报告的行号中发现了一个小的不匹配!

例如:我有这个 Gcode:
N01 F500
N02 G01 X0 Y0
N03 G01 X2
Y0.5 N04 G01 X3.5 Y2
N05 G01 X 4 Y4

当我发送“?”时,我返回 X 1.95 Y 0.487 的位置,但在同一查询响应消息中,行号报告为 Ln:4!
过了一段时间,我也得到了数据:X 2.5 Y 1.0 Ln:4。
1.95。0.487 是 N03 线上的一个点,但为什么 grbl 在位置仍在 Ln:N03 时报告 N04?!

这是正常的还是不正常的?

显示行号报告 #774

从您的“?”发布完整消息 询问。

显示行号报告 #774

我的猜测是这是正常的(这是一个猜测)行号基本上不在 Grbl 中使用,并且在 Gcode 中不需要它们。行号的目的最初是为了支持诸如子程序、宏……之类的东西,而这些是 Grbl 不支持的。

还要考虑所经历的过程。输入被解析并放入规划器缓冲区,操作从规划器缓冲区中取出并变成移动命令。这 ?尽可能准确地报告当前位置,但行号早已被丢弃,新行可能已经被解析并添加到规划器缓冲区。

我很想知道为什么对应于确切位置的行号对您很重要。

显示行号报告 #774

我在我的前端添加了一个逻辑;确保 DRO vals (X1,Y1) 没有偏离当前执行的 gcode 行。假设 Xstart、Ystart 和 Xend Yend 是当前 gcode 的起点和终点。所以我要检查 X1 Y1 是否总是位于连接起点和终点的线上。这种逻辑有时会失败,因为行号不匹配。

显示行号报告 #774

还有一种情况:我有一个 Zdown 移动,然后是一个小几何图形,然后是一个 Zup 移动。
我需要可靠地知道 Iam 是在 Zdown 还是 Zup move 中,因为只有在 Zup 完成后我才需要采取一些行动(Mcode)。所以我不会在 Zup 之后转储 Gcode,直到我确定 Zup 已完成等。我能想到其他一些场景,在这些场景中可靠地知道当前执行的行号将很有用。

喜欢 (0)