开源改变世界

Axes 小部件中的机器位置报告 0 #251

推推 grbl 3年前 (2023-02-02) 111次浏览
关闭
12 个任务中的第 4 个
flebas 打开了这个问题 2017 年 12 月 31 日 · 12条评论
关闭
12 个任务中的第 4 个

Axes 小部件中的机器位置报告 0#251

flebas 打开了这个问题 2017 年 12 月 31 日 · 12条评论

评论

Axes 小部件中的机器位置报告 0 #251

描述

详细描述问题或功能请求。截取屏幕截图或录制视频会有所帮助。

版本

  • CNCjs:1.9.12
  • 节点.js:6.x
  • NPM:5.x

你如何安装CNCjs?

  • NPM
  • 下载 CNCjs 桌面应用程序

数控系统

  • Grbl
  • 冰沙
  • TinyG/g2核心

硬件

  • 树莓派
  • 台式机或笔记本电脑
  • 移动设备

操作系统

  • 不适用
  • 视窗
  • 苹果
  • Linux

在轴小部件中,3 轴的机器位置值始终为 0.000。正确报告工作位置值。在 CNCjs 或 TinyG 中是否有任何设置可以调整?

Axes 小部件中的机器位置报告 0 #251
合作者

当您慢跑机器时,您是否看到向控制台小部件报告“mpox”、“mpoy”和“mpoz”?

Axes 小部件中的机器位置报告 0 #251

Axes 小部件中的机器位置报告 0 #251
作者

号下面的控制台输出。

g91
{“r”:{},“f”:[1,0,4,4397]}
{“sr”:{“dist”:1}}
g0 x20 y20
{“r”:{},“f” :[1,0,11,70]}
{“sr”:{“posx”:0.003,“posy”:0.003,“vel”:57.85,“stat”:5}}
{“qr”:31}
{ “sr”:{“posx”:2.550,”posy”:2.550,”vel”:2828.43}}
{“sr”:{“posx”:5.696,”p​​osy”:5.696}}
{“sr”:{” posx”:9.007,”posy”:9.007}}
{“sr”:{“posx”:12.318,”posy”:12.318}}
{“sr”:{“posx”:15.463,”posy”:15.463}}
{“sr”:{“posx”:18.774,“posy”:18.774}}
{“sr”:{“posx”:20.000,“posy”:20.000,“vel”:0.00,“stat”:3}}
{“qr”:32}
g91
{“r”:{},“f”:[1,0 ,4,4397]}

Axes 小部件中的机器位置报告 0 #251
作者

我尝试在状态报告中添加 mpox、mpoy 和 mpoz 但没有成功。可能是 440.20 固件的限制。

Axes 小部件中的机器位置报告 0 #251
合作者
奇顿 评论了 2018 年 1 月 2 日  

你能试试下面的状态报告命令来检查它是否会执行不同的结果吗?

完整状态报告(包括 edge-0.82.10 的 spe、spd、sps、cof 和 com)

{sr:{line:t,vel:t,feed:t,stat:t,cycs:t,mots:t,hold:t,momo:t,coor:t,plan:t,unit:t,dist:t,frmo:t,path:t,spe:t,spd:t,sps:t,cof:t,com:t,posx:t,posy:t,posz:t,posa:t,mpox:t,mpoy:t,mpoz:t,mpoa:t}}

同上,但将spespdspscofcom移到最后。

{sr:{line:t,vel:t,feed:t,stat:t,cycs:t,mots:t,hold:t,momo:t,coor:t,plan:t,unit:t,dist:t,frmo:t,path:t,posx:t,posy:t,posz:t,posa:t,mpox:t,mpoy:t,mpoz:t,mpoa:t,spe:t,spd:t,sps:t,cof:t,com:t}}

去除边缘支撑

{sr:{line:t,vel:t,feed:t,stat:t,cycs:t,mots:t,hold:t,momo:t,coor:t,plan:t,unit:t,dist:t,frmo:t,path:t,posx:t,posy:t,posz:t,posa:t,mpox:t,mpoy:t,mpoz:t,mpoa:t}}

Axes 小部件中的机器位置报告 0 #251
作者

它不会改变输出。TinyG 总是响应 OK 但没有任何变化。
看来这是一个 TinyG 问题。

Axes 小部件中的机器位置报告 0 #251 奇顿 添加了 小哥 标签 2018 年 1 月 2 日
Axes 小部件中的机器位置报告 0 #251
作者
跳蚤 评论了 2018 年 1 月 4 日  

更新:如果我使用 CoolTerm 发送 JSON 配置命令,它会起作用,并且在发送移动命令时我会在状态报告中得到 mpox、mpoy 和 mpoz。
发送 JSON 命令时,问题似乎出在 CNCjs 上:TinyG 总是在没有消息的情况下响应 OK。

Axes 小部件中的机器位置报告 0 #251
合作者

好的!我将在我的 TinyG 板上安装 440.20 固件以检查我是否可以重现此问题。

Axes 小部件中的机器位置报告 0 #251
合作者

这么晚才回复很抱歉。

TinyG 将使用当前状态报告命令报告“Unrecognized command or config name”:

> {sr:{line:t,vel:t,feed:t,stat:t,cycs:t,mots:t,hold:t,momo:t,coor:t,plan:t,unit:t,dist:t,frmo:t,path:t,spe:t,spd:t,sps:t,cof:t,com:t,posx:t,posy:t,posz:t,posa:t,mpox:t,mpoy:t,mpoz:t,mpoa:t}}
{"r":{"sr":{"line":true,"vel":true,"feed":true,"stat":true,"cycs":true,"mots":true,"hold":true,"momo":true,"coor":true,"plan":true,"unit":true,"dist":true,"frmo":true,"path":true,"spe":true}},"f":[1,100,190,4864]}
{"err":{"code":100,"msg":"Unrecognized command or config name"}}

然后,我发现如果我发送没有spespdspscofcom的行,机器位置将起作用

{sr:{line:t,vel:t,feed:t,stat:t,cycs:t,mots:t,hold:t,momo:t,coor:t,plan:t,unit:t,dist:t,frmo:t,path:t,posx:t,posy:t,posz:t,posa:t,mpox:t,mpoy:t,mpoz:t,mpoa:t}}

要解决这个问题,我认为可能需要先发送“{sys:n}”命令来确定固件版本,然后相应地发送不同的状态报告命令。

> {sys:n}
{"r":{"sys":{"fb":440.20,"fv":0.970,"hp":1,"hv":8,"id":"5W3249-QUS","ja":100000,"ct":0.0100,"sl":0,"st":0,"mt":2.00,"ej":1,"jv":4,"js":1,"tv":1,"qv":1,"sv":1,"si":100,"ec":0,"ee":0,"ex":1,"baud":5,"net":0,"gpl":0,"gun":1,"gco":1,"gpa":2,"gdi":0}},"f":[1,0,8,7844]}
Axes 小部件中的机器位置报告 0 #251
作者

嗨 Cheton,
感谢您的搜索。
它应该工作。
由于未知原因,我无法从 CNCjs 控制台发送 JSON 命令(没有回复或只有 tinyg ok),但如果我从 CoolTerm 发送修改后的状态报告命令,然后启动 CNCjs,我会在 Axes 小部件中获得机器位置。
也许 JSON 控制台问题与串行端口有关,我正在使用带有补丁的 CNCjs 1.9.12 将 rtscts 设置为 true。

Axes 小部件中的机器位置报告 0 #251

@cheton– 从长远来看,最好询问有关支持内容的具体问题,而不是查找版本 ID 或固件内部版本号并从中推断。如果您从内部版本号推断,您最终会遇到维护问题——笨拙的版本号表需要无休止的更新——随着内部版本号的循环,尤其是当数字模式复杂或随着私有分叉发生变化时。

在这种情况下,我认为您可以“探测”支持哪些报表元素,如下所示:

{sr: {spe:t}}

然后查找错误响应以查看该元素是否受支持。

Axes 小部件中的机器位置报告 0 #251
合作者

@MitchBradley

谢谢你的建议。这肯定比比较构建版本更好。

至于当前的实现,它不会将初始化命令流式传输到馈线,我将尝试找到一种简单的方法来探测支持的命令。

Axes 小部件中的机器位置报告 0 #251
合作者

已在 1.9.13 中修复