Contact me: hankecnc@gmail.com

以太网配置问题。 #47

推推 grbl 3年前 (2023-02-07) 420次浏览
打开
phil-barrett 打开了这个问题 2020 年 7 月 12 日 · 17条评论
打开

以太网配置问题。#47

phil-barrett 打开了这个问题 2020 年 7 月 12 日 · 17条评论

评论

以太网配置问题。 #47

我看到了如何为发件人指定 grblHAL 的 IP 地址。似乎没有找到 IP 地址的机制。在 grblHAL 中有设置所有网络参数的扩展,但我在 TSender 中看不到它们。它们在某些情况下可用吗?当 grblHAL 配置为使用以太网协议时,如何建立初始连接。我在想也许可以通过 USB 进行初始连接以进行配置?是否可以通过 USB 连接然后切换到以太网协议?

我看过其他运动控制器,它们似乎对用户不友好。在 CNCZone 上有很多关于以太网配置问题的评论。有些涉及通过以太网电缆将 PC 直接连接到控制器。然后更改 PC 的 IP 地址以匹配控制器上的默认 IP 地址以连接并将控制器更改为本地路由器 IP 地址。其中一些建议使用第二个以太网 NIC 并直接连接到控制器。鉴于大多数机械师远非网络专家,我认为这是一种糟糕的方法。拥有 USB 可以使设置变得非常简单。

无论如何,我认为让用户超级容易使用这对 grblHAL 来说是一个巨大的胜利。

以太网配置问题。 #47
所有者

在 grblHAL 中有设置所有网络参数的扩展,但我在 TSender 中看不到它们。

它们在设置:Grbl选项卡中可用。

以太网配置问题。 #47

以太网配置问题。 #47

它们在某些情况下可用吗?

当网络插件被添加到构建中时。

我在想也许可以通过 USB 进行初始连接以进行配置?

grblHAL 始终以串行通信模式(UART 或 USB)启动并在连接/断开连接时切换协议。

我在想也许可以通过 USB 进行初始连接以进行配置?是否可以通过 USB 连接然后切换到以太网协议?

切换是自动的,并在连接时发生。


我还没有添加在 tsender 中输入连接参数的方法,必须手动修改配置文件。另一个待办事项。

其中一些建议使用第二个以太网 NIC 并直接连接到控制器。

我以这种方式连接了 Mach3 的 SmoothStepper 控制器,它确保电缆上没有其他流量,并且是最佳配置。

以太网配置问题。 #47
合作者作者
菲尔·巴雷特 评论了 2020 年 7 月 12 日  

谢谢。有时我有点慢,但我觉得你说的和我想的差不多。这说得通。

回顾一下我认为您说过的话:您使用 TSender 通过 USB 连接到新闪存的 grblHAL 系统。您输入网络参数(由于网络插件可见)然后断开(关闭?)TSender。然后你应该能够 ping grblHAL 系统(假设网络连接)并且使用正确的 ip 地址、掩码和网关,Tsender 应该连接。

什么定义了与 grblHAL 的连接 – USB 的物理存在或实际的发送器或终端连接?即我是否需要拔下 USB 数据线才能强制其切换?(嗯,把电缆移到电源上?)

另外,我认为这意味着需要一个静态 IP 地址,因为没有发现 DHCP 分配的 IP 地址的机制。

以太网配置问题。 #47
所有者

什么定义了与 grblHAL 的连接 – USB 的物理存在或实际的发送器或终端连接?

实际的发送者连接,当它断开通信时回落到串行。无需移除 USB 数据线。事实上,一些报告仍然出现在串行输出上。

我需要拔掉 USB 数据线才能强制切换吗?

更改网络参数后可能需要重新启动控制器。

另外,我认为这意味着需要一个静态 IP 地址,因为没有发现 DHCP 分配的 IP 地址的机制。

这是一个配置选项 – 支持 DHCP。启用后,IP 地址等设置不再相关/不可用。来自settings.h

...
    // Normally used for Ethernet or WiFi Station
    Setting_Hostname = 300,
    Setting_IpMode = 301,
    Setting_IpAddress = 302,
    Setting_Gateway = 303,
    Setting_NetMask = 304,
    Setting_TelnetPort = 305,
    Setting_HttpPort = 306,
    Setting_WebSocketPort = 307,
...

typedef enum {
    IpMode_Static = 0,
    IpMode_DHCP,
    IpMode_AutoIP
} ip_mode_t;

当使用网络通信时,仍然可以在 MPG 模式和 SD 卡流之间切换,因此 IMO 是一个非常灵活的解决方案。这都是通过交换 HAL 函数指针来实现的……

以太网配置问题。 #47
合作者作者

伟大的!看来你已经考虑周全了。

顺便说一下,我知道 DHCP 是可能的。我的意思是它可能很难使用,因为您必须在它更改时找出新的 IP 地址(或者永远不要关闭 grblHAL 机器)。

以太网配置问题。 #47
所有者

我的意思是它可能很难使用,因为您必须在它更改时找出新的 IP 地址(或者永远不要关闭 grblHAL 机器)。

二(三)个选项:

  1. 分配一个唯一的主机名并使用它来连接。
  2. 将控制器MAC地址绑定到路由器中的固定IP地址。我在测试期间使用过这个。
  3. 使用SSDP?

不确定最后一个,我还没有将该协议添加到网络插件中。

以太网配置问题。 #47
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 9 日  

嗨,现在我们在 Teensy 4.1 以太网支持方面取得了进展,我看到的行为与上述有所不同。如果重要的话,我正在使用 Beta-1。

当我通过 websocket 或 telnet 连接时,$302-$304(IP 地址、网关和掩码)未显示在设置:Grbl 选项卡中。

此外,在以太网运行的情况下,我根本无法通过 USB 连接。即使从 cmd.exe 窗口调用“GCode Sender.exe”-port COM23:115200,N,8,1(com23 是正确的端口)。或者将 App.config 更改为 portparams 行:
edit: oops,修复了此处的错误。

<端口参数>COM23:115200,N,8,1</端口参数>

即使在对青少年进行电源循环之后。在每种情况下,它都等待:

等待控制器 (COM23:115200,N,8,1)…

在下方的状态栏中。

以太网配置问题。 #47
所有者

当我通过 websocket 或 telnet 连接时,$302-$304(IP 地址、网关和掩码)未显示在设置:Grbl 选项卡中。

这是启用了 DHCP 吗?如果是这样的话,那是有意为之,因为这些设置没有意义,请参阅 enet.c –ethernet_settings_report()函数。

此外,在以太网运行的情况下,我根本无法通过 USB 连接。

奇怪,它对我有用。您确定您使用的是最新的 driver.c 吗?

以太网配置问题。 #47
合作者作者

嗯,有道理。有没有办法从发件人或控制台关闭 DHCP?

以太网配置问题。 #47
所有者

有没有办法从发件人或控制台关闭 DHCP?

301 美元可用于此。我的发件人中的值分配有错误:0 = 静态,1 = DHCP,2 = AutoIp 是正确的。我必须解决这个问题。在配置文件中启用 DHCP 时,应将一些合理的值设置为默认值 – 更多待办事项…

更改为静态模式后,应重新加载设置以显示 $302-$304。另一个待办事项是以某种方式在发件人使用的定义文件中声明设置依赖项以避免这种情况,我的长期计划是切换到 xml 或 json 以添加此类信息(以及对设置进行分组……)。

以太网配置问题。 #47
合作者作者

现在玩它。看起来不错,但有一些小问题。

在处理 $301 时似乎有一个错误。有时它不会更新显示的值(在单击保存后),并且有几次 TSender 在保存时崩溃(可能无关)。

如果我单击 autoIP 以获取静态 0,则不会显示 $302 – $304。我必须退出 TSender 并重新启动才能显示它。

我将 $301 设置为 0,输入静态 IP 地址和 GW,Mask 就在那里。已保存。电源循环很小。重新启动 -port <static addr> 并且它有效。好的。

一个问题。如果你输入错误的 IP 地址或 GW 或掩码,它似乎会把 Teensy 弄成砖块。我将在 grblHAL 问题部分报告这一点。

一个小烦恼 – 编辑八进制字段(正确的术语?) xxx.xxx.xxx.xxx 看起来只是文本。因此,如果您刚开始输入,就会遇到字段宽度限制——需要先清除它。将点或制表符移动到下一个八进制字段会很好。

视觉上的小问题 – 设置中的值列:Grbl 选项卡不够宽,无法显示所有 4 个字段,也无法调整列的大小。

以太网配置问题。 #47
合作者作者

我不知道我是否会称这是一个错误,但为了在您更改 IP 地址时更新 App.config/PortParams,您必须进入设置:应用程序并按保存设置。如果任何需要反映在 PortParams 字段中的更改自动完成,那就太好了。

以太网配置问题。 #47
所有者

将点或制表符移动到下一个八进制字段会很好。

好吧,这不容易编写代码 – 我相信 Windows 会使用看起来像单个输入字段的重叠输入字段来做到这一点。让数字字段正常工作已经够难了,这会增加另一层复杂性。下雨的一周…?或者使用第三方库?我尽量避免这种情况。

如果任何需要反映在 PortParams 字段中的更改自动完成,那就太好了。

我需要考虑一下——我不确定这是个好主意。

无论如何,还需要更多的测试。

以太网配置问题。 #47
合作者作者
菲尔·巴雷特 评论了 2020 年 8 月 10 日  

我需要考虑一下——我不确定这是个好主意。

以下是当前需要完成的事件顺序:

  1. 在设置中更改 ip/gw: Grbl
  2. 硬重置
  3. 从 cmd 窗口使用 -port <特定协议形式的新 ipaddr> 启动发件人
  4. 进入设置:应用程序并按保存
  5. 从那时起,他们可以在没有 -port 的情况下运行 TSender

现在,他们可以启动发送器,它将通过选择的任何协议进行连接。请注意,根据我的经验,普通 Windows 用户讨厌/害怕运行 cmd.exe 窗口。

你是否同意拥有这个序列会更友好?

  1. 在设置中更改 ip/gw:Grbl(app.config 参数字段已更新)并警告他们需要进行硬重置
  2. 硬重置
  3. 在没有 -port 的情况下启动 TSender …

也许在#1中,让他们选择将其设为默认值。

目前,没有迹象表明网络更改需要硬重置才能生效。

我认为让网络设置尽可能简单很重要。对于许多用户来说,这是一个巨大的绊脚石。

只要我这样做,在 app.config 中使 -port 值“永久”的唯一方法就是进入“设置”:“应用程序”并按“保存设置”。(他们也可以编辑 app.config。不确定这是可取的。)在选项卡中记录/显示该行为会很好。也许会显示当前的默认连接和当前活动的连接,并带有一个更新按钮。

以太网配置问题。 #47
所有者

大多数用户使用静态 IP 与 DHCP 的可能性有多大?什么样的用户会想要使用静态 IP?他们通常会在 driver.h 中设置静态地址吗?其他发件人呢?更多的?

至于我的发送者,配置 UI 目前不知道设置的含义,它完全由文本文件 (hal_setting_codes_en_US.txt) 驱动。我希望应该在此处添加任何进一步的 UI-“智能”,而不是在发件人中进行硬编码。我的待办事项列表中的内容是在连接对话框中添加 IP 连接选项,可能还有一个用于调出该选项的菜单项。因此,IMO 需要进行一些思考。我同意它需要改进,让我们继续前进的第一步也许是 Wiki 页面?一个可选的 wiki 链接也可以添加到 hal_setting_codes_en_US.txt 并显示在 UI 中?这对于其他功能也很好,例如新的工具更改功能。

以太网配置问题。 #47
合作者作者

我同意 – wiki 条目是一个好的开始。我真的很喜欢可选 wiki 链接的想​​法。这将使解决问题和快速提供支持变得容易。

我想听听更多关于您的 IP 连接对话框的信息。这听起来像是正确的方向。

动态 IP 的问题在于它是动态的。考虑一台有 dhcp ip 地址的机器,而用户一两周不使用它。他启动机器并尝试连接。如果分配了不同的 IP 地址,它将不会连接到发件人。他将不得不做些什么来解决它。静态 IP 地址消除了这个问题。可能性有多大?这取决于我们告诉他们做什么。我宁愿告诉我的用户设置静态 IP 地址。我只是担心这些非常棒的功能会让用户感到沮丧。网络似乎总是会给人们带来麻烦。有许多关于为各种商业运动控制器设置网络的抱怨线程。

顺便说一下,我非常感谢你在这方面的观点。这是一个很难做对的地方。

以太网配置问题。 #47
所有者

动态 IP 的问题在于它是动态的。

它不一定是。IMO 更安全的做法是连接 DHCP,然后在路由器中保留地址。如果分配一个静态 IP,然后有人将设备(手机?)连接到网络并获取您的静态 IP,那该怎么办?

在我的路由器中,只需勾选一个框,我就会得到一个静态租约,其他人就无法获得分配的 IP:

以太网配置问题。 #47

以太网配置问题。 #47
所有者

在设置中更改 ip/gw:Grbl(app.config 参数字段已更新)并警告他们需要进行硬重置

我在hal_setting_codes_en_US.txt文件中添加了关于此的注释。我已经将它提交给 subversion 仓库,你可以在 Resources 文件夹中找到它。替换发件人文件夹中的那个以查看更改。

我也提交了 T4 驱动程序的更新,网络设置值在堆栈初始化时被复制,这样以后的任何更改都不会弄乱它。ESC 后跟 CTRL+T 现在将硬重置控制器,目前在所有连接模式下都可用 – 但可能应该仅限于 UART 模式,因为其他连接会丢失。对于 USB,我需要断开/重新连接 USB 电缆才能再次连接 (Win7)。这可能是 T4 上缺少重置按钮的原因?

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

还没有

发展

没有分支机构或拉取请求

2名参加者
以太网配置问题。 #47以太网配置问题。 #47

喜欢 (0)