开源改变世界

无法控制慢跑按钮 #344

推推 grbl 2年前 (2023-02-02) 258次浏览
关闭
retnuh22 打开了这个问题 2018 年 6 月 25 日 · 40条评论
关闭

无法控制慢跑按钮#344

retnuh22 打开了这个问题 2018 年 6 月 25 日 · 40条评论

注释

无法控制慢跑按钮 #344

我已经在 Windows 7 64 位上安装了桌面应用程序。(最新版本 od cncjs)安装顺利。我能够连接到我的 USB 端口并且似乎可以正常工作。但是,我无法从笔记本电脑控制到控制器来移动我的迷你数控雕刻机轴。我需要做更多的事情来完成这项工作吗?我不是真正的计算机编程专家。

感谢
Retnuh22

无法控制慢跑按钮 #344
合作者

从“连接”小部件打开串行连接时,您是否尝试过打开“启用硬件流控制”选项?

无法控制慢跑按钮 #344
作者
返回 nuh22 评论了 2018 年 6 月 27 日  

是的,勾选启用硬件流控。连接后我可以按主页按钮,机器会主页。但我无法控制慢跑功能或坐标设置。它们是灰色的。另外…。您如何将 gcode 文件放入系统中?是否必须在控制之前完成?

无法控制慢跑按钮 #344
合作者
奇顿 评论了 2018 年 6 月 28 日  

你能拍下完整的截图吗?我想检查您的机器状态是否准备就绪。

无法控制慢跑按钮 #344

如果可能,请附上您的控制台日志,以便我能够知道发生了什么。只需从下拉列表中选择全部,然后右键单击以调出上下文菜单以将文本复制到剪贴板。

无法控制慢跑按钮 #344

在正常情况下,您应该看到如下内容:

CNCjs 1.9.15 [TinyG]
Connected to COM5 with a baud rate of 115200
{"r":{"fv":0.99,"fb":100.19,"fbs":"100.19-17-g129b","fbc":"settings_othermill.h","hp":3,"hv":0,"id":"0084-7bd6-29c6-7bd","msg":"SYSTEM READY"},"f":[1,0,1]}
feeder> {ej:1}
{"r":{"ej":1},"f":[1,0,8]}
feeder> {jv:4}
feeder> {qv:1}
{"r":{"jv":4},"f":[1,0,8]}
feeder> {sv:1}
feeder> {si:100}
{"r":{"qv":1},"f":[1,0,8]}
feeder> {spe:n}
{"r":{"sv":1},"f":[1,0,8]}
{"r":{"si":100},"f":[1,0,10]}
{"r":{"spe":0},"f":[1,0,9]}
{"sr":{"mpox":0,"mpoy":0,"mpoz":0,"ofsx":0,"ofsy":0,"ofsz":0,"g55x":0,"g55y":0,"g55z":0,"unit":1,"stat":1,"coor":2,"momo":4,"dist":0,"home":0,"mots":0,"plan":0,"line":0,"path":2,"frmo":1,"hold":0,"macs":1,"cycs":0}}
feeder> {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,posb:t,posc:t,mpox:t,mpoy:t,mpoz:t,mpoa:t,mpob:t,mpoc:t,spe:t,spd:t,sps:t,cof:t,com:t}}
{"r":{"sr":{"line":0,"vel":0,"feed":0,"stat":1,"cycs":0,"mots":0,"hold":0,"momo":4,"coor":2,"plan":0,"unit":1,"dist":0,"frmo":1,"path":2,"posx":0,"posy":0,"posz":0,"posa":0,"posb":0,"posc":0,"mpox":0,"mpoy":0,"mpoz":0,"mpoa":0,"mpob":0,"mpoc":0,"spe":0,"spd":0,"sps":0,"cof":0,"com":0}},"f":[1,0,219]}
feeder> {sys:n}
{"r":{"sys":{"fb":100.19,"fbs":"100.19-17-g129b","fbc":"settings_othermill.h","fv":0.99,"hp":3,"hv":0,"id":"0084-7bd6-29c6-7bd","jt":0.75,"ct":0.01,"sl":0,"lim":1,"saf":1,"m48e":1,"mfoe":0,"mfo":1,"mtoe":0,"mto":1,"mt":2,"spep":1,"spdp":0,"spph":1,"spdw":1.5,"ssoe":0,"sso":1,"cofp":1,"comp":1,"coph":1,"tv":1,"ej":1,"jv":4,"qv":1,"sv":1,"si":100,"gpl":0,"gun":1,"gco":2,"gpa":2,"gdi":0}},"f":[1,0,9]}
feeder> {mt:n}
{"r":{"mt":2},"f":[1,0,8]}
feeder> {pwr:n}
{"r":{"pwr":{"1":0,"2":0,"3":0,"4":0}},"f":[1,0,9]}
feeder> {qr:n}
{"r":{"qr":48},"f":[1,0,8]}
feeder> {sr:n}
{"r":{"sr":{"line":0,"vel":0,"feed":0,"stat":1,"cycs":0,"mots":0,"hold":0,"momo":4,"coor":2,"plan":0,"unit":1,"dist":0,"frmo":1,"path":2,"posx":0,"posy":0,"posz":0,"posa":0,"posb":0,"posc":0,"mpox":0,"mpoy":0,"mpoz":0,"mpoa":0,"mpob":0,"mpoc":0,"spe":0,"spd":0,"sps":0,"cof":0,"com":0}},"f":[1,0,8]}
{"sr":{"stat":1,"momo":4,"coor":2,"plan":0,"dist":0,"frmo":1,"path":2,"posb":0,"posc":0,"mpoy":0}}
>
无法控制慢跑按钮 #344
作者
返回 nuh22 评论了 2018 年 6 月 28 日  

我不知道如何加载我的屏幕截图或图片。参考您的图片,我的 tinyg 未处于就绪状态,如屏幕上 tinyg 旁边的准备就绪所示。我附上了使用 USB 连接时获得的控制台信息。它似乎也没有你的信息的一半。我已经使用了 GOKO 程序,并且能够在该程序中使用 USB 进行连接。我还下载了 CoolTerm,它允许我进入 tinyg 并校准/修改。看来我的 tinyg 没有完全连接到 CNCjs 接口。希望您能提供帮助。

谢谢

CNCjs 1.9.15 [TinyG]
Connected to COM4 with a baud rate of 115200
feeder> {ej:1}
{"r":{"ej":1},"f":[1,0,7,2003]}
feeder> {jv:4}
feeder> {qv:1}
{"r":{"jv":4},"f":[1,0,7,7333]}
{"r":{"qv":1},"f":[1,0,7,6003]}
{"r":{"fv":0.970,"fb":440.20,"hp":1,"hv":8,"id":"5X0850-VCJ","msg":"SYSTEM READY"},"f":[1,0,0,6606]}
{"qr":32}
无法控制慢跑按钮 #344
贾斯汀克利夫特 评论了 2018 年 6 月 28 日  

啊哈,在 Win 7 上做截图,一旦你知道它是多么简单。?

要截取屏幕截图,请按Print Screen键盘上的键。对我来说,我使用台式电脑,它有一个“完整”的 101 键键盘。在我的身上,Print Screen钥匙就在钥匙的右边F12

当你按下它时,它会截取你整个桌面的屏幕截图并将其放入 Windows 剪贴板。

所以…加载 Microsoft Paint (mspaint.exe),然后执行“粘贴”操作。这应该将屏幕截图从剪贴板复制到 MS Paint 中。然后你可以将它保存到一个文件中,然后将该文件拖放到此处的评论框中。这会将其添加到评论中,并显示为@cheton上面那个

这有帮助吗??

无法控制慢跑按钮 #344
作者

哈哈。谢谢。我完成了整个绘制并保存,但是当我将文件拖入其中时,它以行代码而不是图片的形式出现。不想送那个。哈哈。不确定它是否会在我点击发送时转换它?

无法控制慢跑按钮 #344

哎呀。那是我的错。我忘了更好地解释结局。?

再次尝试拖放图片文件。它将使同一行代码条目看起来像以前一样……然后单击评论框顶部的“预览”选项卡。那应该显示最终结果图片。单击“写入”选项卡返回编辑框,您可以在其中输入内容。

认为这应该可以解决问题。?

无法控制慢跑按钮 #344
作者

嘿,太棒了!谢谢

无法控制慢跑按钮 #344

无法控制慢跑按钮 #344
贾斯汀克利夫特 评论了 2018 年 6 月 28 日  

出色的。?

作为一种稍微更高级的方法,现在您已经掌握了它的窍门……下次您需要使用它时,请尝试使用Alt+ 。Print ScreenAlt 版本只截取活动窗口的屏幕截图。如果您不想给人们整个桌面,这可能很有用。?

无法控制慢跑按钮 #344
贾斯汀克利夫特 评论了 2018 年 6 月 28 日  

是的,X/Y/Z 点动按钮的灰色看起来不太好。

嗯,如果你尝试直接在“控制台”窗口选项卡中给出一个基本的移动命令,那行得通吗?

也许是这样的:

G0 X50 Y50

G0那里只是意味着“做一个基本的移动”,而只是X50 Y50简单的 X + Y 坐标,它被告知要移动到。

如果您将它们键入控制台区域并按回车键…那么理论上主轴应该移动。如果没有,那也将是有用的信息。?

无法控制慢跑按钮 #344
作者

好的,所以在控制台中使用 G0 的手动移动有效。主轴也按我要求的方向移动。只是为了确认….我下载了该程序的桌面版本。我是否需要下载其他任何东西才能使其正常工作?不确定我是否错过了安装部分。

谢谢

无法控制慢跑按钮 #344
贾斯汀克利夫特 评论了 2018 年 6 月 28 日  

不,你有所有正确的位。几周前,当我为 Win 7 下载 CNCjs 时,我也使用了它的桌面版本。对我来说(一旦我想通了),这就是我所需要的。

不过我没有使用 TinyG,所以我不确定下一步该将您指向何处。?

当使用直接 G 代码指示时,主轴移动是很好的。这似乎意味着基本通信工作正常,只是 CNCjs 无法识别某些东西,所以它没有启用点动按钮。

我敢肯定@cheton会有有用的建议,尽管这可能不是今晚的事情。?

无法控制慢跑按钮 #344
合作者

@retnuh22

我猜您的开发板需要等待超过 1000 毫秒才能让引导加载程序完成,然后才能发送后续命令。在发送初始化命令之前没有出现系统启动消息:

{"r":{"fv":0.970,"fb":440.20,"hp":1,"hv":8,"id":"5X0850-VCJ","msg":"SYSTEM READY"},"f":[1,0,0,6606]}

您可以在下面查看以了解在初始化期间将发送哪些命令:

// 在发送命令之前等待引导加载程序完成
等待 延迟1000
// 启用 JSON 模式
// 0=文本模式,1=JSON 模式
发送( ‘{ej:1}’ ) ;
// JSON 冗长
// 0=silent, 1=footer, 2=messages, 3=configs, 4=linenum, 5=verbose
发送( ‘{jv:4}’ ) ;
// 队列报告详细程度
// 0=关闭,1=过滤,2=详细
发送‘{qv:1}’
// 状态报告冗长
// 0=关闭,1=过滤,2=详细
发送‘{sv:1}’
// 状态报告间隔
// 以毫秒为单位(最小间隔为 50 毫秒)
发送‘{si:100}’
// 检查是否支持主轴使能指令
send(‘{spe:n}’);
// Wait for 500ms to examine supported status report fields
await delay(500);
// Settings Status Report Fields
// https://github.com/synthetos/TinyG/wiki/TinyG-Status-Reports#setting-status-report-fields
// Note: The JSON string is minified to make sure the length won’t exceed the serial buffer limit
send(relaxedJSON({
// Returns an object composed of the picked properties
sr: _.pickBy(this.sr, (value, key) => {
return !!value;
})
}));
// Request system settings
send(‘{sys:n}’);
// Request motor timeout
send(‘{mt:n}’);
// Request motor states
send(‘{pwr:n}’);
// Request queue report
send(‘{qr:n}’);
// Request status report
send(‘{sr:n}’);
this.ready = true;

 

检查你的附加日志后,我没有看到启用 status report verbosity{sv:1}和 status report interval的返回结果{si:100}。您能否尝试在控制台小部件上手动输入以下命令以检查它是否会启用状态报告:

{sv:1}
{si:100}
{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,posb:t,posc:t,mpox:t,mpoy:t,mpoz:t,mpoa:t,mpob:t,mpoc:t,spe:t,spd:t,sps:t,cof:t,com:t}}
{sr:n}
无法控制慢跑按钮 #344
合作者

@retnuh22

当您使用桌面应用程序时,我需要您的帮助来提供 CNCjs 服务器的详细输出。

请参阅下面的完整说明

  1. 转到https://github.com/electron/electron/releases/tag/v1.8.7,并下载与您的目标平台匹配的 zip 文件。例如,您可以electron-{version}-win32-x64.zip在运行 x64 版本的 Windows 时下载。

  2. 将 ZIP 文件解压缩到文件夹中。例如:C:\Temp\electron-{version}-win32-x64\

  3. 进入cncjs的安装目录:cd C:\Users\{Username}\AppData\Local\Programs\cncjs\resources\app\

  4. 运行C:\Temp\electron-{version}-win32-x64\electron.exe main.js -vvv,然后您将能够看到带有-vvv.

    无法控制慢跑按钮 #344

无法控制慢跑按钮 #344

我猜您的开发板需要等待超过 1000 毫秒才能让引导加载程序完成,然后才能发送后续命令。

嗯,听起来像是将其设为变量(默认值为 1000)可能是可行的方法。好吧,只要新用户也有一种简单的方法来向上调整它。

第二个想法.. 而不是成为一个变量,也许如果在所需的时间内没有收到响应,那么做一个“双延迟时间,再试一次”或类似的短循环?

无法控制慢跑按钮 #344
合作者

@justinclift还有一个 issue #312与这个案例类似。在这种情况下进行恢复并不容易,向可以调整延迟的连接小部件添加可配置值可能是更好的方法。

无法控制慢跑按钮 #344

啊,是的,这看起来确实很相似。将该值设置为一个变量似乎可以帮助解决这个问题的每个人。?

无法控制慢跑按钮 #344
合作者
奇顿 评论了 2018 年 6 月 29 日  

@retnuh22

我只是用我的 Mac 进行测试,连接到运行 G2 固件版本 100.19 的 Arduino Due。好像跟延迟没关系,即使我把它设置为零来忽略延迟。

无法控制慢跑按钮 #344

您可以尝试其他选项来检查是否有效:

  1. 关闭连接然后重新打开
  2. 关闭“启用硬件流控制”
  3. 切换到Windows以外的其他环境,或者使用npm安装方式
  4. 升级 TinyG 固件
无法控制慢跑按钮 #344

我的设置有一个 Rasp Pi Zero 与运行 G2 的 Arduino Due 对话。Arduino 有时(经常)以错误的 USB 模式启动,并且无法通过 USB 串行连接正确通信。为了解决这个问题,我从 Pi 上的 GPIO4 连接了一根线到 Due 上的复位引脚,并将以下行添加到 /etc/rc.local:

# Drive the TinyG controller reset line low then high.  This ensures that
# it comes up in the right USB mode
echo 4 >/sys/class/gpio/export
echo out >/sys/class/gpio/gpio4/direction
echo 0 >/sys/class/gpio/gpio4/value
sleep 1
echo 1 >/sys/class/gpio/gpio4/value
sleep 4
无法控制慢跑按钮 #344

更新上一篇关于到期重置的帖子:

That reset recipe sometimes failed to solve the problem. I tracked it down to an ordering problem with various startup scripts. I was starting cncjs via a crontab, but doing the reset in rc.local. It turns out that the user crontab runs before rc.local. I solved that by creating a script that does the reset dance, then starts cncjs. The crontab @reboot entry then runs that script. It seems to be working, but many more reboots will be necessary before I have complete confidence.

无法控制慢跑按钮 #344
Author
喜欢 (0)