开源改变世界

工具编号和当前 TLO 显示在控制页面上 #1624

推推 grbl 2年前 (2023-02-03) 236次浏览
打开
JipeB 打开了这个问题 2021 年 10 月 4 日 · 13条评论
打开

工具编号和当前 TLO 显示在控制页面上#1624

JipeB 打开了这个问题 2021 年 10 月 4 日 · 13条评论

评论

工具编号和当前 TLO 显示在控制页面上 #1624

大家好,
我经常使用手动换刀(TLO),希望在控制页面上显示正在使用的刀具编号和对应的TLO。
在我使用的版本 (0.9.14.317) 上,加工期间仅显示进给率。

我对代码做了一些研究,但我似乎无法找到允许此显示的例程。如果有人能帮助我。

工具编号和当前 TLO 显示在控制页面上 #1624

J.P

工具编号和当前 TLO 显示在控制页面上 #1624
作者

出色地!
如果你不需要任何东西,你可以随时问…

遗憾的是,虽然进给率显示,但未显示正在加工的刀具编号及其 TLO。

J.P

工具编号和当前 TLO 显示在控制页面上 #1624
贡献者
谢尔 评论了 2022 年 10 月 3 日  

我注意到了同样的问题,状态框架存在多个问题。

最重要的一点是,对来自 GRBL 的 TLO 响应的解析是,一些控制器仅对 z 轴用一个浮点数响应,而其他控制器用 3 个浮点数响应(在我的例子中是 grblHAL,大概是 XYZ 坐标)。我更改了我的 GRBL1.py 以使用 -1 python 索引约定提取最后一个。不确定 ABC 机器上会发生什么,这里需要帮助,我假设是第三坐标。

第二个问题是用户在输入字段中输入的 TLO 值未存储在全局位置(例如 CNC.vars[“TLO”])。这样,Probe 框架中的条目就会反映在 Status 框架中。Entry 字段还应在初始化时填充全局值。不确定 TLO 值是否应该存储在 ini 文件中。

在工具条目上,它当前被忽略并且未存储在任何地方。作为起点,我在 CNC.vars[“tool”] 中放置了用户条目。我仍然需要了解如何以及何时使用此值。

工具编号和当前 TLO 显示在控制页面上 #1624
作者

符号“TLO”是模棱两可的,因为它表示工具长度偏移和…探针的高度。
就我而言,在确定库存的程序原点时,只需要存储探头的高度即可。
我的探头高度集成在一个“宏”中,它在初始化后移动 Z0;它非常快,并且避免了每次都必须重新输入其值。

工具编号和当前 TLO 显示在控制页面上 #1624
作者

为了完成我的回答,我使用 FreeCAD 生成 GCode,并修改了 Grbl 后处理器以在 bCNC 状态横幅中显示当前工具参考。
另一方面,我没有找到显示此工具的 TLO 的解决方案。
J.P

工具编号和当前 TLO 显示在控制页面上 #1624
贡献者

即使在对 TLO 进行了更改之后,我怀疑 TLO 更改选项并未反映新的刀具长度。它在更改 TLO 值时无效,结果只是将 TLO 重置为 0.0。

WCS 工具更改选项的功能似乎与我预期的一样。

工具编号和当前 TLO 显示在控制页面上 #1624
作者

我不使用 WCS 选项,因为它会在每次换刀时移动 Z 参考;如果其中一个工具坏了,就会出现问题。由于参考不再是原来的,整个加工必须重新开始,而不是只重新开始与更换刀具对应的操作。
如果您在调用换刀程序时添加偏移取消 (G49),我使用的 TLO 选项可以正常工作。
TLO 选项的优点是不修改程序原点的 Z0 和使用刀具的实际长度,这与计算新旧刀具之间的长度差异的 WCS 选项不同。
用这种方法自动计算工具的长度;没有手动输入的 TLO。
如果你愿意,我可以告诉你对源文件所做的修改和工具更改的初始化过程的进度。
J.P

工具编号和当前 TLO 显示在控制页面上 #1624
贡献者
谢尔 评论了 2022 年 10 月 5 日  

我想看看您的更改,我无法让 TLO 选项按预期执行。新工具的探针无法为我正确更改 TLO 值。

工具编号和当前 TLO 显示在控制页面上 #1624
作者
吉普B 评论了 2022 年 10 月 7 日  

这是我对 CNC.py 文件所做的修改:在“>>”指示的位置插入 2 行

lines.append(“G49”) # reset TLO 在安装新工具之前必须取消当前的 TLO。
lines.append(“%wait”) 等待来自 GRBL 的取消确认

功能 G49 取消正在进行的 TLO 校正(TLO 设置为 0)。当安装下一个工具时,将创建一个新的 TLO。

#----------------------------------------------------------------------
# code to change manually tool
#----------------------------------------------------------------------
def toolChange(self, tool=None):
	if tool is not None:
		# Force a change
		self.tool = tool
		self._lastTool = None
		CNC.vars["tool"] = self.tool # Affichage outil en cours
		
	# check if it is the same tool
	if self.tool is None or self.tool == self._lastTool: return []

	# create the necessary code
	lines = []
	lines.append("$g")	# remember state and populate variables, FIXME: move to ./controllers/_GenericController.py
	lines.append("m5")	# stop spindle
	lines.append("%wait")
>>	lines.append("g49") # reset TLO
>>	lines.append("%wait")
	lines.append("%_x,_y,_z = wx,wy,wz")	# remember position
	lines.append("g53 g0 z[toolchangez]")
	lines.append("g53 g0 x[toolchangex] y[toolchangey]")
	lines.append("%wait")

修改CNC.py文件后:

在 Windows 上:
在命令模式下,转到 bCNC 目录并键入 pip install bCNC(不要添加升级以免覆盖修改)

Linux下:只需在“Admin”模式下打开要修改的文件即可;下次启动 bCNC 时将考虑它们。

程序的实现:
https
://www.youtube.com/watch?v= 4QMUFPKhjys 是法语的,但是文字很容易翻译

如视频中所述,机器必须在三个轴上配备传感器以确定测量原点(归位)。这是必要的,因为换刀程序是在机器坐标 (MCS) 中执行的。

由于在校准时进行的测量存储在 .bCNC 文件中,因此在归位过程结束时可以立即使用它们。只要桌子不重新浮出水面,这些措施就可以使用。

最后一点,程序原点 (OP) 的 Z0 必须在与校准相同的条件下用裸主轴确定,没有夹具或安装工具。

我希望我说得很清楚,如果你想了解更多信息,请随时与我联系。
J.P

工具编号和当前 TLO 显示在控制页面上 #1624
贡献者

谢谢。我会试试这些。

工具编号和当前 TLO 显示在控制页面上 #1624
贡献者

无论我尝试什么,换刀探测宏末尾的清除控制器功能都会将 TLO 重置为零。我已将宏简化为一个文件,其中只有四个语句:

% 全球 TLO;TLO=5.0
G43.1z[TLO]
%更新 TLO
$#

当它运行时,它会更改 TLO,如参数列表所示,但运行结束时的 purgecontroller 函数会将 TLO 清除回零。我可以成功地在命令行中分别输入同样的 4 行。

我看到 purgecontroller 的 G 和 TLO 恢复代码已排队,但未发送 crtl-x 之后排队的行。终端日志中没有这些语句的回显。我认为问题是 grblHAL 对 ctrl-X 的响应是:

GrblHAL 1.1f [‘$’ 或 ‘$HELP’ 寻求帮助]

没有后续的“ok”,所以 G 和 TLO 恢复行永远不会发送。所以我尝试使用包含“grblHAL”的行的响应等同于“ok”。这使 TLO 选项起作用。需要检查 grblHAL 代码以查看是否可以添加“ok”响应。

工具编号和当前 TLO 显示在控制页面上 #1624
作者

从当前维护代码的开发团队寻求帮助并不容易。bCNC和grblHal之间的兼容性似乎并不完全,有必要重写一些程序。
祝你好运

工具编号和当前 TLO 显示在控制页面上 #1624
贡献者

我已经用 Teensy4.1 板上的 grblHAL 替换了我的 Openbuilds Blackbox (grbl 1.1g),因此我可以确认任何基本问题和潜在的解决方案。现在我不能相信 TLO 选项,因为它不持久。太多的动作会导致价值丢失。

我刚刚检查了 Blackbox 并确认 TLO 在 ctrl-x 期间也丢失了。

工具编号和当前 TLO 显示在控制页面上 #1624
作者

Ctrl-X >> 重置。
重置时丢失 TLO 是正常的,因为机器已重置。这将需要重做机器原点并重新启动加工循环;因此,第一个工具的组装将与新的 TLO 相关联。
TLO 仅在刀具操作期间有效(就像刀具半径补偿一样),因此需要在安装新刀具之前取消它。
grbl,无论版本如何,总是以这种方式处理 TLO;自从 grbl 的开发者接管了工业计算机的基本程序以来,并没有什么新鲜事。
要拥有持久的 TLO,您需要一台配备由数据库管理的刀库的机器,其中每个刀具都与其参数(直径、长度等)一起存档。与我们使用的业余机器没有任何共同之处。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

2名参加者
工具编号和当前 TLO 显示在控制页面上 #1624工具编号和当前 TLO 显示在控制页面上 #1624

喜欢 (0)