开源改变世界!!

我们可以执行 M1 命令 #157

推推 grbl 2年前 (2022-10-19) 155次浏览 0个评论

关闭
mac7988 打开了这个问题 on 2 Jun 2019 · 13 条评论
关闭

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

mac7988 打开了这个问题 on 2 Jun 2019 · 13 条评论

注释

我们可以执行 M1 命令 #157

大家好,

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

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

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

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

婚戒 评论 on 2 Jun 2019

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

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

mac7988 评论 on 5 Jun 2019

嗨,

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

我们可以执行 M1 命令 #157

109JB 评论 on 5 Jun 2019

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

ESP32 怎么知道它应该或不应该停在 M1 上?

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

我们可以执行 M1 命令 #157

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

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

婚戒 评论 on 6 Jun 2019

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

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

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

我们可以执行 M1 命令 #157

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

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

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

婚戒 评论 2019 年 6 月 6 日

@mac7988您可以更改后处理器以在 M1 上使用 M0 吗?我认为这将为您提供所需的功能。

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

我们可以执行 M1 命令 #157

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

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

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

mac7988 评论 2019 年 6 月 6 日

大家好,

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

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

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

婚戒 评论 2019 年 6 月 6 日

@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
作者

mac7988 评论 2019 年 6 月 6 日

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

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

我们可以执行 M1 命令 #157

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

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

我们可以执行 M1 命令 #157
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
添加引号,<Ctrl+Shift+.>添加代码,<Ctrl+e>添加链接,<Ctrl+k>
添加项目符号列表,<Ctrl+Shift+8>添加编号列表,<Ctrl+Shift+7>添加任务列表,<Ctrl+Shift+l>
直接提及用户或团队引用问题、拉取请求或讨论

添加已保存的回复

请记住,对此存储库的贡献应遵循我们的 GitHub 社区指南
通过赞助他们 来表达 您对 bdring的支持。

 赞助

标签
还没有
项目

还没有

发展

没有分支或拉取请求

4名参与者
我们可以执行 M1 命令 #157我们可以执行 M1 命令 #157我们可以执行 M1 命令 #157我们可以执行 M1 命令 #157

喜欢 (0)

您必须 登录 才能发表评论!