开源改变世界

我们可以执行 M1 命令吗 #157

推推 grbl 3年前 (2023-01-29) 200次浏览
关闭
mac7988 开了这个issue 2019 年 6 月 2 日 · 13条评论
关闭

我们可以执行 M1 命令吗#157

mac7988 开了这个issue 2019 年 6 月 2 日 · 13条评论

注释

我们可以执行 M1 命令吗 #157

大家好,

我的应用程序需要 M1 命令。

如果可能的话,有人可以帮助或指出正确的方向来实现这一目标。

感谢你们那些疯狂的天才们!?

我们可以执行 M1 命令吗 #157
所有者

请解释为什么你想要 M1 命令。你将如何使用它?它是由您的 CAM 程序生成的吗?

我们可以执行 M1 命令吗 #157
作者

嗨,

我希望能够运行一些进程,然后循环开始恢复。我的代码有很多 m1,其中涉及一些手动过程。

我们可以执行 M1 命令吗 #157

在 g 代码中,M1 是一个“可选停止”,这意味着必须将控制器设置为停止这些。它的工作原理与 M0 停止命令相同,但 M0 不是可选的。

ESP32 如何知道它应该或不应该在 M1 上停止?

M0 是否适合您的应用程序?

我们可以执行 M1 命令吗 #157

物理开关(需要有价值的输入引脚)或发送者发出的新实时命令(通过按钮或复选框)都可以用作 M1 是否导致暂停的输入。

我们可以执行 M1 命令吗 #157
所有者

目前 Grbl 有一个实时暂停。也许这可以被 M0/M1 使用。它需要是模态组的一部分,所以它不是实时的。它需要在之前的 gcode 完成后启动。G4 就是这样做的,这将是一个很好的起点。

M6(工具更换)可能会同时包含在内,以获得手动工具更换机会。

我建议在AVR Grbl 存储库中提出这个问题。我认为像这样的功能应该跨版本协调,所以它们的反应都是一样的。

我们可以执行 M1 命令吗 #157

@bdring据我了解,M1 的行为应该与当前的 M0 实现完全相同,只是它依赖于开关设置。我在我的 grbl 的 HALified 版本中添加了对此的支持,但是除了(或替代)使用来自开关的输入之外,它可能依赖于标志而不是,可能通过实时命令设置/重置。用于换刀的 IMO M6 完全是一个不同的问题,我已经通过添加新状态和输入流的双缓冲实现了这一点——这允许在换刀状态下进行慢跑(就像在我的 Mach3 控制路由器上一样)。

今天,我还重新开始了“廉价”微型 ATC(最多八个 3.175 毫米轴工具)的工作,运气好的话我可能能够成功地得出结论。这需要对 grbl 核心进行另一组更新,我相信我现在已经在工作了——至少所有的动作都在正常运行。困难的部分将是成功完成机械钻头……

我们可以执行 M1 命令吗 #157
所有者

@mac7988你能改变你的后处理器来使用 M0 而不是 M1 吗?我认为这将为您提供所需的功能。

@terjeio 几年前我做了一个基于 Grbl 的 ATC。实际上,当发送器看到 M6 等时,我通过插入额外的 gcode 对发送器进行了工具更改。我认为同样可以在内存大于 328p 的 MCU 上的 Grbl 内部完成。通过 config.h 值允许手动更改工具会很好,例如 Z 顶部…主轴关闭…移动到 G28。

我们可以执行 M1 命令吗 #157

@bdring我知道你们的 ATC 解决方案,适用于我的大型铣刨机/铣床 – 但对于我的小型铣刨机/铣床来说太大而且太贵了。我在我的 grbl 端口中启动并运行了手动工具更改 – 但这是一个相当广泛的重写,所以我不知道向后移植会有多容易。

实施 M1 是 IMO 直接代码明智的,但在实践中并不容易,因为没有用于开关的空闲引脚?@mac7988没有指定他正在使用哪个发件人,为此添加实时命令和 GUI 支持也可能有问题?

我们可以执行 M1 命令吗 #157
作者

大家好,

所以也许我可以解释得更好。我正在运行 2 轴来掏空一些东西。一旦口袋完成。我去口袋里插入一个零件。完成后,将相同的两个轴插入口袋中的粘合剂以捕获零件。

我需要暂停运动,直到我插入零件并通过点击循环开始它会恢复。

我们可以执行 M1 命令吗 #157
所有者

@mac7989 我觉得你应该使用 M0。您使用的是什么 CAM 软件?你能调整后处理器吗?

我们可以执行 M1 命令吗 #157

@mac7989 如果您愿意,您也可以自定义 grbl,在 gcode.cpp 中添加 M1 操作(靠近第 300 行):

gc_block.modal.program_flow = PROGRAM_FLOW_PAUSED;

声明后case 1:。或者只是向上移动case 1: 一点,使其与 M0 相同……

但是出于安全原因,也许 M1 应该默认启用?

LinuxCNC M0/M1 规范在这里

我们可以执行 M1 命令吗 #157
作者

@bdringgcode 是使用具有一些参数的 Excel 工作表编译的。根据一些下拉选择,它将调整代码。

我可以实现 M0 并尝试一下。我会及时向大家发布。

我们可以执行 M1 命令吗 #157

M1很容易通过发送程序来处理。我的做到了,我什至不是一个好的程序员。

M1 是可选的,在我看来应该保持可选。如果使它的功能与 M0 相同,则它不再是可选的。就个人而言,我宁愿它保留为一个未定义的命令,也不愿违背它的定义来实现它。