ARTICLE · 982629
通过双网卡HMI[触摸屏]下载PLC程序
通过双网卡HMI[触摸屏]下载PLC程序


一句话:HMI 在这里就是网关(功能等价于路由器)
它至少有两个网口(或单口双 IP),一边接 PC 所在的 192.168.31.0/24(网段 A),另一边接 PLC 所在的 192.168.177.0/24(网段 B),并且内部开启了 IP 转发。所以中间那台 HMI 在转发层面就是一台路由器——你的 PC 把"去别网段的包"全交给它,它再帮你送到 PLC。

PC 是怎么"跨过去"的
- PC 的默认网关指向 HMI
: 192.168.31.222就是 HMI 在 31 段的那个口。所以 PC 一看目标不是本段(177 段),所有包都扔给 31.222。 - HMI 查自己的路由表转发
:HMI 上口在 31 段、下口在 177 段,它知道 177.177在自己下口直连,于是把包从 177 口送出去。 - PLC 回包原路返回
:对 Luban 下载客户端来说,目标就是 192.168.177.177,它根本不知道中间过了 HMI——这就是路由对终端透明。
这就是图下方那三行写的内容。
为什么 PC 不直接配 177 段,而要配 31.166 + 网关 31.222
因为物理接线决定了:网线插在 31 段(HMI 上联口 / 办公网),PLC 在另一头的 177 段(设备网),两段之间物理隔离,唯一的桥梁就是 HMI 的双网卡。如果 PC 强行配成 177.156/24,但网线还插在 31 段交换机上,PLC 在另一个物理网络里——ARP 学不到,照样不通。这正好解释了我之前那次诊断:当时 PC 在 177 段、PLC 却不在同物理网络,所以 ping 不通;现在改成 31 段走 HMI 中转,就通了。

两个容易混淆的点
- 你 PC 上的
IPEnableRouter=1+ Routing and Remote Access 服务,其实和 HMI 下载无关。那是让"Windows 自己当软路由"(PC 身后还挂着别的设备要借 PC 出网时用)。下载场景里 PC 只是个发起方,不帮别人转发包,所以这个开关是历史遗留、留着无害、但不是下载必需的。真正起作用的是 HMI 那台设备的转发。 - HMI 叫"网关"比叫"路由器"更准
:对 31 段的 PC 来说,31.222 就是它的默认网关;HMI 在网关位置做了三层转发,所以功能上等价于路由器。
现场排查口诀
下载连不上 PLC 时,顺序 ping:
ping 192.168.31.222→ 不通 = HMI 没在线/没上电/线没插对; ping 192.168.177.177→ 1 通 2 不通 = HMI 到 PLC 那段断了(PLC 没电/177 口没接/PLC IP 不对); 两个都通,才能正常下载。
