PLC 与 CNC 设备为何会落在不同网络上
走进大多数机加工车间,你会看到同样的模式。某家厂商的 CNC 控制器位于 192.168.1.x。另一家供应商的 PLC 机架位于 192.168.0.x。视觉系统、机器人和单元 PC 各自带着自己的默认子网,因为调试期间没人去改出厂设置。
这些子网并非设计选择,而是多年前固化在控制器里的默认值,每个接触过这条产线的集成商又多加了一个。跨网 NAT 通信系统的存在,就是为了让这些孤岛在不重新编址每个节点的情况下互通。
什么都不做的代价不是剧烈故障,而是缓慢失效。操作员用 U 盘在厂区内搬运数据。产量数据被录入两次。某台设备上的变更永远到不了 MES 层,因为路由不存在。
- 1地址冲突两台设备在同一网段上使用 192.168.1.10,是典型故障。
- 2供应商锁定每家厂商交付的工具都假定使用自己的子网。
- 3无路由不做地址转换的路由器不会转发重复的地址前缀。
跨网 NAT 通信系统如何转换地址
NAT 在数据包跨越边界时改写包头中的源地址或目的地址。网关维护一张转换表。当 192.168.1.20 上的 PLC 轮询 192.168.0.30 上的 HMI 时,网关在去程替换地址、在回程再换回来,于是双方都以为自己在与本地对端通信。
车间里重要的是两种方式。静态一对一映射把每个真实地址绑定到固定别名,这正是 PLC 与 CNC 流量所需要的,因为连接是长连接的。动态映射复用地址池,当控制器把套接字保持数天时会失效。
端口转换提供了第二个手段。如果两台 CNC 控制器都在 502 端口应答,你可以把一台发布为 192.168.1.50:5020,另一台发布为 192.168.1.50:5021。控制器并不知道自己被移动过。当你完全无法修改地址时,这通常是解决办法。
网关必须足够理解协议,才能维持映射存活。Modbus TCP、EtherNet/IP 和 PROFINET 都携带内嵌编址,单纯的 IP 层改写触及不到。廉价路由器正是在这里失效,而工业网关的价值也正在于此。
NAT 的适用场景与失效场景
当你无法改动端点时,NAT 是正确的答案。老旧 CNC 控制器、封存的 PLC 项目和仍在质保期内的设备通常属于这一类。当两个网络出于安全或归属原因必须保持逻辑隔离时,NAT 也适用,例如设备厂商的远程支持子网紧邻你的工厂网络。
对于时间关键的运动流量,NAT 是错误的答案。地址转换会带来随表查找而变化的延迟,而要求抖动低于 1 ms 的伺服驱动链无法容忍路径中存在网关。运动总线应通过交换机留在同一物理网段,而不是经过路由器。
当协议把 IP 地址嵌入负载并期望端到端可见性时,NAT 也会失效。某些诊断、广播发现和设备名称解析在经过转换网关时不再工作。在承诺切换日期之前,要为调试测试预留时间。
第三个边界是规模。每条转换流都占用一个表项和一个定时器。五台设备的单元微不足道。400 个节点的工厂需要网关公布会话上限,并记录哪个别名映射到哪台真实设备。
网关选型与地址映射规划
从设备清单开始。列出每个节点的当前 IP、子网掩码、网关、协议,以及你是否被允许改动其中任何一项。最后一列决定你需要多少转换。在购买硬件之前把清单写下来,因为映射表日后会成为维护文档。
按并发会话数选型,而不是按设备总数。每 200 ms 轮询一次刀具数据服务器的 CNC 控制器会永久占用一个会话。乘以通信方数量,再加 30% 余量,然后与网关公布的上限比较。大多数中端设备可处理数百个并发会话。
规划别名范围,让技术人员一眼就能解读。如果真实设备是 192.168.1.20,就在工厂侧发布为 10.20.0.20。保持最后一段八位组相同可以消除一整类支持电话,而且不花任何成本。
为网关在两侧各分配一个固定管理地址,并记录在面板图纸上。一台没人能访问到的转换设备,比原来的路由问题更难排查。
壳体本身的机械部分很普通。DIN 导轨机箱、安装板和连接器面板由铝或不锈钢铣削或成型,开口公差控制在 ±0.1 mm,使连接器就位时不会对 PCB 产生应力。
交付产线前需要测试什么
用真实协议测试,不要用 ping。ICMP 能通,Modbus TCP 却可能超时,因为出问题的是负载中的寻址。为单元内每种协议打开实际客户端,读取真实的标签或寄存器。
在负载下观察转换表。运行正常生产周期,检查会话数保持平稳而不是持续上升。表缓慢增长通常意味着连接没有关闭,网关最终会拒绝新流。
在周期中途断开网关电源,观察结果。带重连逻辑的控制器几秒内恢复。没有该逻辑的控制器需要重启,这一点应在首个班次前告知生产团队,而不是在班次中。
在电控柜门内侧放一张打印好的映射表。更换控制器时,别名可能需要改动,凌晨 02:00 换件的人不该还得打开笔记本去查。
在 NAT、路由和重新编址之间选择
根据你被允许改动的范围选择方案。
| 方案 | 适用场景 | 代价是什么 |
|---|---|---|
| 静态 NAT | 无法重新编址的旧 PLC 或 CNC | 网关硬件和映射表 |
| 端口 NAT | 两台设备在同一端口号上应答 | 日志阅读变得更困难 |
| 普通路由 | 子网唯一且可规划 | 必须修改每个端点 |
| VLAN 加路由 | 你拥有交换机配置权限 | 需要交换机和防火墙技能 |
| 直连交换机 | 抖动限制严格的运动总线 | 单元之间没有隔离 |
| 协议网关 | 两侧使用不同的现场总线 | 按标签映射负载 |
常见问题
NAT 会改变数据包内的数据吗?
标准 NAT 网关会改写 IP,并在端口转换时改写 TCP 或 UDP 头。它通常不触碰应用负载。
这一点很重要,因为某些工业协议在负载中携带地址。这些协议需要协议感知网关,而不是普通路由器。在假设简单改写就足够之前,先查阅协议文档。
两台 IP 相同的设备能同时使用吗?
可以,前提是它们位于物理隔离的网段,并且各自通过网关上不同的别名或端口发布。
转换前它们不能共享同一网段。同一线路上两个地址相同的节点会冲突,任何网关都无法事后修复。
转换网关会增加多少延迟?
预计会有小幅但可变的增加,普通控制流量每跳通常远低于 1 毫秒。变化量比平均值更重要。
不要让运动总线经过转换路径。如果驱动链需要严格受限的抖动,把这些节点放在同一交换机上,只转换监控流量。
网关故障时会发生什么?
两个网络之间的通信停止。两侧各自继续运行本地逻辑,因此 CNC 继续切削,PLC 继续扫描本地 I/O。
产量计数或任务下载等跨网数据会丢失,直到网关恢复。提前确定该单元能否接受这一点,并写入风险评估。
还需要网管交换机吗?
通常需要。网管交换机可以划分 VLAN、设置端口安全并镜像流量以便排查。网关负责转换,不负责隔离。
在小型单元中,带两个端口的单个网关可能就够用。节点超过约十个时,应分离功能。
如何记录安装信息?
保留三项内容:带真实地址的设备清单、别名映射表,以及显示网关两侧的网络图。
更换控制器时更新别名表。我们见到的大多数跨网故障都源于映射表过期,而不是硬件问题。
