Contact me: hankecnc@gmail.com

DRO 中的机器坐标未更新 #538

推推 grbl 3年前 (2023-02-03) 398次浏览
打开
3个任务完成
swpaxton66 打开了这个问题 2019 年 12 月 10 日 · 12条评论
打开
3个任务完成

DRO 中的机器坐标未更新#538

swpaxton66 打开了这个问题 2019 年 12 月 10 日 · 12条评论

评论

DRO 中的机器坐标未更新 #538

描述

从您最新发布的适用于 Windows 的 destop 应用程序 64 位开始,并在版本中向后工作,我无法使它们中的任何一个正常工作。

我正在运行 tinyGV8 控制器。

DRO 中的机器坐标不会更新。对于所有轴,它们都停留在零

版本

  • CNCjs:1.9.20、1.9.19、1.9.18 等…

你如何安装CNCjs?

  • 下载 CNCjs 桌面应用程序

数控系统

TinyG V*

硬件

  • 台式机或笔记本电脑

操作系统

  • 视窗
DRO 中的机器坐标未更新 #538

我没有要测试的 TinyG 控制器,但我有一个 g2core 控制器。它们很相似,但 g2core 与 TinyG 略有不同,因此我的结果可能无法完全比较。也就是说,这里有一些尝试可能会提供一些线索。

从关闭与 TinyG 的连接开始,使用连接小部件在 TinyG 模式下打开与串行端口的连接。

建立连接后,控制台小部件应展开以显示黑底白字区域,该区域显示与 TinyG 控制器交换的数据。某些行太长而无法显示在窗口中,但您可以水平滚动以查看它们或使用该小部件顶部的“进入全屏”按钮使小部件变大。您还可以使用鼠标选择并复制所有文本,然后将其粘贴到该主题的回复中。

这是我得到的:

CNCjs 1.9.20 [TinyG]
Connected to /dev/ttyACM0 with a baud rate of 115200
{"r":{"fv":0.99,"fb":101.03,"fbs":"101.03-17-g4cd0e-dirty","fbc":"settings_gShield_Taig_hybrid.h","hp":"ArduinoDue","hv":"na","id":"0084-d639-0084-9ce","msg":"SYSTEM READY"},"f":[1,0,1]}
feeder> {ej:1}
feeder> {jv:4}
feeder> {qv:1}
feeder> {sv:1}
feeder> {si:100}
{"r":{"ej":1},"f":[1,0,8]}
{"r":{"jv":4},"f":[1,0,8]}
{"r":{"qv":1},"f":[1,0,8]}
{"r":{"sv":1},"f":[1,0,8]}
{"r":{"si":100},"f":[1,0,10]}
feeder> {spe:n}
{"r":{"spe":null},"f":[1,100,9]}
{"err":{"code":100,"msg":"Unrecognized command or config name"}}
feeder> {spd:n}
{"r":{"spd":null},"f":[1,100,9]}
{"err":{"code":100,"msg":"Unrecognized command or config name"}}
{"sr":{"line":0,"posx":0,"posy":0,"posz":0,"posa":0,"feed":0,"vel":0,"unit":1,"coor":1,"dist":0,"admo":1,"frmo":1,"momo":4,"stat":1}}
feeder> {spc:n}
{"r":{"spc":0},"f":[1,0,9]}
feeder> {sps:n}
{"r":{"sps":0},"f":[1,0,9]}
feeder> {com:n}
{"r":{"com":0},"f":[1,0,9]}
feeder> {cof:n}
{"r":{"cof":0},"f":[1,0,9]}
feeder> {sr:{stat:t,line:t,vel:t,feed:t,unit:t,coor:t,momo:t,plan:t,path:t,dist:t,admo:t,frmo:t,tool:t,posx:t,posy:t,posz:t,posa:t,posb:t,posc:t,mpox:t,mpoy:t,mpoz:t,mpoa:t,mpob:t,mpoc:t,spc:t,sps:t,com:t,cof:t}}
feeder> {sys:n}
feeder> {mt:n}
feeder> {pwr:n}
feeder> {qr:n}
feeder> {sr:n}
{"r":{"sr":{"stat":1,"line":0,"vel":0,"feed":0,"unit":1,"coor":1,"momo":4,"plan":0,"path":2,"dist":0,"admo":1,"frmo":1,"tool":0,"posx":0,"posy":0,"posz":0,"posa":0,"posb":0,"posc":0,"mpox":0,"mpoy":0,"mpoz":0,"mpoa":0,"mpob":0,"mpoc":0,"spc":0,"sps":0,"com":0,"cof":0}},"f":[1,0,206]}
{"r":{"sys":{"fb":101.03,"fv":0.99,"fbs":"101.03-17-g4cd0e-dirty","fbc":"settings_gShield_Taig_hybrid.h","hp":"ArduinoDue","hv":"na","id":"0084-d639-0084-9ce","jt":0.75,"ct":0.01,"zl":0,"sl":1,"lim":0,"saf":1,"m48":1,"froe":0,"fro":1,"troe":0,"tro":1,"mt":2,"tv":1,"ej":1,"jv":4,"qv":1,"sv":1,"si":100,"gpl":0,"gun":1,"gco":1,"gpa":2,"gdi":0}},"f":[1,0,9]}
{"r":{"mt":2},"f":[1,0,8]}
{"r":{"pwr":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":0}},"f":[1,0,9]}
{"r":{"qr":48},"f":[1,0,8]}
{"r":{"sr":{"stat":1,"line":0,"vel":0,"feed":0,"unit":1,"coor":1,"momo":4,"plan":0,"path":2,"dist":0,"admo":1,"frmo":1,"tool":0,"posx":0,"posy":0,"posz":0,"posa":0,"posb":0,"posc":0,"mpox":0,"mpoy":0,"mpoz":0,"mpoa":0,"mpob":0,"mpoc":0,"spc":0,"sps":0,"com":0,"cof":0}},"f":[1,0,8]}
{"sr":{"stat":1,"unit":1,"coor":1,"momo":4,"plan":0,"path":2,"tool":0,"posx":0}}
>

下一步是键入字符“?” 然后在 > 提示符处按 Enter 并剪切/粘贴该结果。这是我的:

> ?
{"r":{"sr":{"stat":1,"line":0,"vel":0,"feed":0,"unit":1,"coor":1,"momo":4,"plan":0,"path":2,"dist":0,"admo":1,"frmo":1,"tool":0,"posx":0,"posy":0,"posz":0,"posa":0,"posb":0,"posc":0,"mpox":0,"mpoy":0,"mpoz":0,"mpoa":0,"mpob":0,"mpoc":0,"spc":0,"sps":0,"com":0,"cof":0}},"f":[1,0,2]}
>

如您所见,机器坐标出现在“sr”状态报告中,由“mpox”、“mpoy”和“mpoz”字段指示。

然后您可以慢跑到不同的位置并观察状态报告显示的位置变化。

feeder> G91
{"r":{},"f":[1,0,4]}
feeder> G0 X1
{"r":{},"f":[1,0,6]}
{"qr":47}
feeder> G90
{"r":{},"f":[1,0,4]}
{"sr":{"stat":5,"vel":105.52,"momo":0,"dist":1,"posx":0.02332,"mpox":0.02614}}
{"sr":{"vel":463.08,"posx":0.63874,"mpox":0.63874}}
{"sr":{"vel":2.73,"posx":0.9999,"mpox":0.9999}}
{"qr":48}
{"sr":{"stat":3,"vel":0,"dist":0,"posx":1,"mpox":1}}

如您所见,在我的系统中,状态报告显示工作坐标和机器坐标中动态更新的 X 位置。仅包括自上次报告以来发生变化的值。

最后,您可以通过输入“?”来获得完整的报告。像以前一样。

> ?
{"r":{"sr":{"stat":3,"line":0,"vel":0,"feed":0,"unit":1,"coor":1,"momo":0,"plan":0,"path":2,"dist":0,"admo":1,"frmo":1,"tool":0,"posx":1,"posy":0,"posz":0,"posa":0,"posb":0,"posc":0,"mpox":1,"mpoy":0,"mpoz":0,"mpoa":0,"mpob":0,"mpoc":0,"spc":0,"sps":0,"com":0,"cof":0}},"f":[1,0,2]}
>

如果您遵循此程序并报告结果,我也许可以推断出哪里出了问题。

DRO 中的机器坐标未更新 #538

嗨米奇,

感谢您的帮助。

似乎有些不对劲

这是连接信息:

NCjs 1.9.20 [TinyG]
以115200的波特率连接到COM3
feeder> {ej:1}
feeder> {jv:4}
feeder> {qv:1}
feeder> {sv:1}
feeder> {si:100 }
{“r”:{“ej”:1},”f”:[1,0,7,2003]}
{“r”:{“jv”:4},”f”:[1,0, 7,7333]}
{“r”:{“qv”:1},“f”:[1,0,7,6003]}
{“r”:{“sv”:1},“f”:[ 1,0,7,9250]}
{“r”:{“si”:100},”f”:[1,0,9,2707]}
馈线> {spe:n}
{“r”:{” spe”:null},”f”:[1,100,8,8836]}
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称”}}
feeder> {spd:n}
{“r”:{“spd”:null},”f”:[1,100,8,6786]}
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称” }}
feeder> {spc:n}
{“r”:{“spc”:null},”f”:[1,100,8,4736]}
{“err”:{“code”:100,”msg”:”Unrecognized command or config name”}}
feeder> {sps:n}
{“r”:{“sps”:null},”f”:[ 1,100,8,704]}
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称”}}
feeder> {com:n}
{“r”:{“com”:null}, “f”:[1,100,8,2342]}
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称”}}
feeder> {cof:n}
{“r”:{ “cof”:null},”f”:[1,100,8,4826]}
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称”}}
feeder> {sr:{ stat:t,line:t,vel:t,feed:t,unit:t,coor:t,momo:t,plan:t,path:t,dist:t,admo:t,frmo:t,tool:t,posx:t,posy:t,posz:t,posa:t,posb:t,posc: t,mpox:t,mpoy:t,mpoz:t,mpoa:t,mpob:t,mpoc:t}}
馈线> {sys:n}
馈线> {mt:n}
馈线> {pwr:n}
进纸器> {qr:n}
进纸器> {sr:n}
{“r”:{“sr”:{“stat”:true,”line”:true,”vel”:true,”feed”:true,”单位”:真,“coor”:真,“momo”:真,“计划”:真,“路径”:真,“dist”:真,“admo”:真}},“f”:[1,100,181,722] }
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称”}}
{“r”:{“sys”:{“fb”:440.20,”fv”:0.970,” hp”:1,”hv”:8,”id”:”3X3566-YQX”,”ja”:100000,”ct”:0.0100,”sl”:0,”st”:0,”mt”:10.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,5809]}
{“r”:{“mt”:10.00},”f”:[1 ,0,7,4004]}
{“r”:{“pwr”:{“1″:0,”2″:0,”3″:0,”4″:0}},”f”:[ 1,0,8,9987]}
{“r”:{“qr”:32},”f”:[1,0,7,7766]}1″:0,”2″:0,”3″:0,”4″:0}},”f”:[1,0,8,9987]} {“r”:{“qr”:32 },”f”:[1,0,7,7766]}1″:0,”2″:0,”3″:0,”4″:0}},”f”:[1,0,8,9987]} {“r”:{“qr”:32 },”f”:[1,0,7,7766]}
{“r”:{“sr”:{“posx”:0.000,”posy”:0.000,”posz”:3.000,”posa”:0.000,”feed”:0.00,”vel”:0.00,”unit” :1,”coor”:1,”dist”:0,”frmo”:1,”stat”:3}},”f”:[1,0,7,1336]}

DRO 中的机器坐标未更新 #538

还有报告(?):

X位置:0.000 mm
Y位置:0.000 mm
Z位置:3.000 mm
A位置:0.000 deg
进给速度:0.000 mm/min
速度:0.000 mm/min
单位:G21-毫米模式
坐标系:G54-坐标系1
距离模式: G90——绝对距离模式
Feed rate mode:G94——units-per-minute mode(即feedrate mode)
机器状态:Stop
tinyg [mm] ok>

DRO 中的机器坐标未更新 #538

我认为问题可能与 TinyG 输入缓冲区中的行长度限制有关。设置状态报告格式的命令 {sr:{stat:t,line:t,vel:t,feed:t,unit:t,coor:t,momo:t,plan:t,path:t,dist: t,admo:t,frmo:t,tool:t,posx:t,posy:t,posz:t,posa:t,posb:t,posc:t,mpox:t,mpoy:t,mpoz:t, mpoa:t,mpob:t,mpoc:t}} 很长,可能溢出了缓冲区。

我正在与私人聊天组中的 TinyG 开发人员合作,看看我们能做些什么。

DRO 中的机器坐标未更新 #538
作者
斯帕克斯顿66 评论了 2019 年 12 月 11 日 通过电子邮件
DRO 中的机器坐标未更新 #538

我有东西给你试试。

转到文件夹 /Users/YOURNAME/AppData/Local/Programs/cncjs-app/resources/app/app/ 并使用文本编辑器编辑文件 index.js 。搜索字符串 admo: 您应该看到如下一行:

admo: true, // arc distance mode

将该行的“true”替换为“false”。保存文件并运行 cncjs。告诉我它是否有效。

DRO 中的机器坐标未更新 #538

谢谢米奇。成功了。它现在正在工作。我必须抢劫彼得来支付保罗吗?(我失去了任何功能吗?)

作为旁注,您是如何获得 g2core 的?我看他们不卖了。

如果我能说服 Cheton 实施“程序化”进给速率覆盖并将进给倍增器/分频器注入缓冲流,那就太好了:-)

DRO 中的机器坐标未更新 #538

你没有失去任何东西。TinyGV8 不支持弧距模式,所以关闭报告就可以了。

G2core 是固件,不是可以购买的硬件。我在连接到 gShield 板的 Arduino Due 上运行它。两者都可以很容易地购买。

DRO 中的机器坐标未更新 #538
合作者

我们可以在发出状态查询命令之前进行特征检测(例如,就像spespd)来确定是否支持。admo我不确定toolTinyG 固件是否也提供(活动工具报告),如果早期版本不支持,我们可能需要检测可用性。

DRO 中的机器坐标未更新 #538

DRO 中的机器坐标未更新 #538

“工具”在 TinyGV8 上发布的 TinyG 固件中可用,但不清楚它是否在 TinyGV7 上。

我没有对探测功能列表进行硬编码,而是想用 false 初始化要探测的功能,然后执行如下操作:

for (var key in sr) {
  if (sr.hasOwnProperty(key) && sr.[key] === false) {
       sr[key] = true;
       await delay(100);
       send(`{${sr[key]}:n}`);
  }
}

我们需要一些方法来使代码像这样通用:

            if (r && r.spe === null) {
                this.sr.spe = false; // No spindle enable
            }

也许 for 循环可以设置一个变量来指示正在探测的特征。

DRO 中的机器坐标未更新 #538
插入伪 评论了 2020 年 10 月 29 日  

你好,
我遇到了几乎相同的问题。只有工作岗位有反馈。
DRO 中的机器坐标未更新 #538

我试图找到“index.js”但没有成功,也没有“admo=true”的踪迹,见图
DRO 中的机器坐标未更新 #538

我找到了这个“index.js”并尝试将“admo”设置为 false 但没有任何改变,它在 ressources/app/server 下 我正在运行最新版本的 cncjs 和 tinygV8
DRO 中的机器坐标未更新 #538

谢谢你的时间

DRO 中的机器坐标未更新 #538

你好,我遇到了几乎相同的问题。只有工作岗位有反馈。DRO 中的机器坐标未更新 #538

我试图找到“index.js”但没有成功,也没有“admo=true”的踪迹,见图DRO 中的机器坐标未更新 #538

我找到了这个“index.js”并试图将“admo”设置为 false 但没有任何改变,它在 ressources/app/server 下DRO 中的机器坐标未更新 #538我正在运行最新版本的 cncjs 和 tinygV8

谢谢你的时间

我进行了深入搜索,发现它位于:
C:\Users{USERNAME}\AppData\Local\Programs\cncjs-app\resources\app\server\controllers\TinyG
TinyGController.js

搜索“admo: true”并将其更改为 false。这使我的机器坐标栩栩如生。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
项目
状态:分流
发展

没有分支机构或拉取请求

6人参加
DRO 中的机器坐标未更新 #538DRO 中的机器坐标未更新 #538DRO 中的机器坐标未更新 #538DRO 中的机器坐标未更新 #538DRO 中的机器坐标未更新 #538DRO 中的机器坐标未更新 #538

喜欢 (0)