条件 gcode 和变量 #357

推推 grbl 3年前 (2023-02-05) 314次浏览
关闭
库鲁尼 打开了这个问题 2013 年 1 月 2 日 · 17条评论
关闭

条件 gcode 和变量#357

库鲁尼 打开了这个问题 2013 年 1 月 2 日 · 17条评论

评论

条件 gcode 和变量 #357

大家好,

我们有没有可能将条件 gcode 和变量添加到 Marlin 命令集中?

这存在于cnc中(我必须承认一些)

谢谢,祝你 2013 年过得愉快!!!!

卡尔

条件 gcode 和变量 #357
贡献者

您是否有机会向我指出有关其工作原理的标准?(我不承诺任何东西,只是想看看它有多现实)

条件 gcode 和变量 #357

嗨戴德,

它在 Fanuc(宏)中完成,一些在 Mach 3 中完成
http://www.predator-software.com/Predator_Virtual_CNC_Software_Fanuc_CNC.htm

更一般

http://www.cnccookbook.com/CCCNGCodeIFGOTOWHEN.htm

希望这可以帮助

谢谢

卡尔

条件 gcode 和变量 #357
贡献者

嗯,这些功能与我们现在使用的 GCode 方言非常不兼容。因为它使用 N 个代码来表示位置,但是我们的 GCode 发送器添加了 N 个代码用于校验和和通信错误恢复。

条件 gcode 和变量 #357

明白,但使用的字母并不那么重要,在 linux 中他们使用“o”编码
http://linuxcnc.org/docs/html/gcode/o-code.html

条件 gcode 和变量 #357
贡献者

在一行的开头使用 Nxxxxx 作为行号或其他位置数据是标准的 gcode 用法,但它是可选的,IE,处理器将忽略它们,除非涉及到粗加工和精加工命令之类的子程序。

-乔恩

从我的iPhone发送

2013 年 1 月 2 日上午 10:42,daid [email protected]写道:

嗯,这些功能与我们现在使用的 GCode 方言非常不兼容。因为它使用 N 个代码来表示位置,但是我们的 GCode 发送器添加了 N 个代码用于校验和和通信错误恢复。


直接回复此电子邮件或在 GitHub 上查看。

条件 gcode 和变量 #357
贡献者

N 也用于计算机和 arduino 之间的 gcode 数据传输:
例如。n1 G0 X0 Y0*blabla
其中 blabla 是 pronterface 中的校验和。
如果第 x 行有错误,固件可以告诉主机,它应该在那里继续发送。
IIRC。

我认为循环不是很有用。
如果出现拼写错误并且您进入无限循环,甚至 linuxcnc 也会锁定。

然而,从我的铣床来看。

然而,值得借鉴的一个概念是变量。
eg
#1 = 500
G1 X0 Y0 F#1
所有的变量号都由控制器收集,
并附有限定的字符串
eg ” #1 =500; frt” ->string = “frt” value=500 变量号1
然后arduino+ultipanel可以让他们在线可变。例如,用于
桥接进给率、退回距离等。对于不
存在直接固件支持的事物。

在 2013 年 1 月 2 日下午 8:06,ZetaPhoenix 写道:

在一行的开头使用 Nxxxxx 作为行号或其他
位置数据是标准的 gcode 用法,但它是可选的,IE,
处理器将忽略它们,除非涉及到粗加工
和精加工命令之类的子程序。

-乔恩

从我的iPhone发送

2013 年 1 月 2 日上午 10:42,daid [email protected]写道:

嗯,这些功能与我们现在使用的 GCode 方言非常不兼容
。因为它使用 N 个代码来表示位置,但是我们
的 GCode 发送器添加了 N 个代码用于校验和和通信错误
恢复。


直接回复此电子邮件或在 GitHub 上查看。


直接回复此电子邮件或在 GitHub
https://github.com/ErikZalm/Marlin/issues/357#issuecomment-11819753上查看。

条件 gcode 和变量 #357

我只是一个鞋带程序员,但语义无处不在

我们如何推动这一进程?

条件 gcode 和变量 #357
贡献者

问题是内存消耗。
提出这一点的最好方法是 DIY。我以这种方式盯着 LCD 控制器
,如果有足够的用处,只要它不
搞砸其他东西,就会使用它。

插入关于我们需要如何转向 arm 的一般咆哮:
如果我们转向 ARM,一切都会容易得多。

在 2013 年 1 月 2 日下午 9:01,coerooney 写道:

我只是一个鞋带程序员,但语义无处不在

我们如何推动这一进程?


直接回复此电子邮件或在 GitHub
https://github.com/ErikZalm/Marlin/issues/357#issuecomment-11821764上查看。

条件 gcode 和变量 #357

在 3D 打印机的 FW 中实现O-Words(这里使用 LinuxCNC 风格;-)或变量有什么好处?
即使在大型 CNC 机械上,脚本语言和插件也接管了这种
古老的编程风格。
几行 Lua、Python、Ruby 或任何代码都可以做更多的事情。

插入关于我们需要如何转向 arm 的一般咆哮:
如果我们转向 ARM,一切都会容易得多。

您如何看待基于 Cortex-M4 的实现?
或者想玩 BIG,一个基于 Linux-Magma 的实时 Cortex-Ax?

升速

条件 gcode 和变量 #357
贡献者

在 2013/01/3 12:25,FMMT666 写道:

在 3D 打印机的 FW 中实现O-Words(这里使用 LinuxCNC 风格
;-)或变量有什么好处?

在循环中,我看不到任何好处。
宏可以有基于打印机的 layerchange/start.gcode/end.gcode 东西。
变量将允许使用
打印机 LCD 界面对参数进行任意实时控制。

即使在大型 CNC 机械上,脚本语言和插件也接管了这种
古老的编程风格。

如果我想刨更大的面积,我仍然会使用它。

几行 Lua、Python、Ruby 或任何代码都可以做更多的事情。

Insert general rant on how we need to move on to arm:
It would all be soo much easier if we moved on to ARM.

您如何看待基于 Cortex-M4 的实现?
或者想玩 BIG,一个基于 Linux-Magma 的实时 Cortex-Ax?

我很想看到 arm m3 端口的马林鱼。然而,这对我来说是一个时间问题
。我有一台带 4pi 板的打印机,但对我来说它缺乏
功能,因为没有显示和物理控制。此外,
固件获得的提交很少。

条件 gcode 和变量 #357

在循环中,我看不到任何好处。宏可以有基于打印机的
layerchange/start.gcode/end.gcode 东西。

好主意,但是如果你想改变所有这些(半)硬编码的东西,你现在需要更多的 M 代码或变量。

如果我想刨更大的面积,我仍然会使用它。

是的,我(有时)也这样做。但是在 3D 打印机上呢?
我对 Marlin 实施了 G38 直接探测,并认为一些“O-Words”
会有所帮助,但我最终得到了一个基于主机的解决方案……

我很想看到 arm m3 端口的马林鱼。

嗯,M4 提供相同的功能,但增加了一个 DSP,更重要的是,增加了一个 FPU。
与所有这些非常大的东西相比,你仍然可以焊接这些 ;-)

我有一台带 4pi 板的打印机

Google 除了“4pi 显微镜”和与 IBM 相关的东西外,什么也找不到。
你能指点我你的“4pi板”吗?

升速

条件 gcode 和变量 #357
贡献者

伯恩哈德

2013 年 1 月 3 日星期四凌晨 1:08,FMMT666 [email protected]写道:

我很想看到 arm m3 端口的马林鱼。
你能指点我你的“4pi板”吗?

http://xyzprinters.com/electronics/177-4pi-3d-printer-controller.html

那不是广告。我在 ultimaker 中有一个。我很想念我的显示
代码,SD 打印对我不起作用。不知道为什么。此外,我
只能在外部电源关闭时连接到打印机,连接后
电源可以供电并且一切正常。
SD 卡不可从 USB 连接器侧移除。
此外,固件的 github 上的活动非常有限。
优点是:无冷却,非常安静的步进操作。

条件 gcode 和变量 #357

一个非常有用的功能(我认为是一个非常简单的添加功能)可能是 gcode 可配置的冷挤压限制,因为该限制非常依赖灯丝,如果您经常切换灯丝,则可以更容易地在中添加 M 指令切片器

谢谢

条件 gcode 和变量 #357
贡献者

通过使用仅设置冷挤压值的 gcode
(例如,将 S 值添加到 M302),这会更容易使用。
我认为“if”和“loop”只是具有
更多内存的控制器的一个选项。
它需要为每个 o<afsakdfjö> 存储文件中的位置,
如果不限制 o 的数量,这不能用常量内存来完成。
变量也是如此。它只有在有
预定义数量的变量时才能安全地实现,因此内存使用量是恒定且有限的。

伯恩哈德

在 2013 年 1 月 9 日星期三上午 10:59,jfpion [email protected]写道:

因为这个限制非常依赖灯丝,如果你经常切换
灯丝,那么在切片器中添加 M 指令会更容易

条件 gcode 和变量 #357

“通过只设置冷挤压值的 gcode,例如向 M302 添加 S 值,使用起来会容易得多。”

那太好了!简单,无记忆,完美!

喜欢 (0)