2、硬件准备:网关硬件选型、Linux工控机配置、串口与以太网接口检查

硬件准备这一步,说白了就是把你脑子里的方案落地成看得见摸得着的设备。很多新手上来就刷系统、写配置,结果发现串口线序不对,或者网关型号压根不支持Modbus RTU——这种坑我踩过不止一次。所以这一章,咱们老老实实把硬件捋清楚。

2.1 网关硬件选型:别光看参数,要看现场

Modbus转PROFINET的网关,市面上少说几十种。选型时我一般先问三个问题:

  • 现场Modbus设备是RTU还是ASCII? 大部分是RTU,但有些老旧仪表只支持ASCII。
  • PROFINET那边需要多少个IO槽位? 有些网关只支持32字节,复杂设备根本不够用。
  • 供电环境稳不稳? 工业现场24V电源经常有波动,选宽压输入的网关更靠谱。

我个人习惯把选型参数列成一张表,方便对比:

参数项 推荐规格 避坑说明
Modbus接口 RS-485/RS-232,支持RTU和ASCII 有些网关只支持RTU,接ASCII设备会报错
PROFINET接口 双端口交换机,支持RT/IRT 单端口网关在环网拓扑里没法用
IO数据长度 输入+输出 ≥ 256字节 32字节的网关只能传几个寄存器
供电电压 DC 9~36V 宽压输入 标称24V的网关,电压波动±10%就可能重启
工作温度 -20℃ ~ 60℃ 普通商业级网关在夏天机柜里容易死机
我的经验: 选网关时多花200块买带双端口PROFINET的型号,后期组网会省很多事。我曾经在一个项目里用了单端口网关,后来要加设备,只能额外加交换机,成本反而更高。

2.2 Linux工控机配置:别用桌面版,用服务器版

工控机作为协议转换的“大脑”,系统选型很关键。我见过有人拿Ubuntu Desktop去跑,结果图形界面占了一堆资源,串口还老掉线。我的建议是:用Ubuntu Server 22.04 LTS,最小化安装。

配置清单如下:

  • CPU: x86架构,双核以上。ARM架构的工控机也能用,但有些PROFINET协议栈不兼容。
  • 内存: 至少2GB。Modbus轮询和PROFINET数据交换同时跑,1GB容易爆。
  • 存储: 32GB SSD以上。别用机械硬盘,工业震动环境容易坏。
  • 网口: 至少两个千兆口。一个接PROFINET,一个接调试网络。
  • 串口: 原生RS-485/232口,或者USB转串口模块(推荐FTDI芯片)。
注意: 有些工控机的串口是TTL电平,不能直接接RS-485设备。买之前一定要确认接口类型,或者准备一个电平转换模块。

2.3 串口与以太网接口检查:通电前必须做的三件事

硬件到手后,别急着通电。我一般按以下步骤检查:

  1. 串口线序确认

    RS-485是半双工,只需要A、B两根线。但有些设备把A标成D+,B标成D-,甚至还有把GND当信号地的。我的习惯是:用万用表量一下A-B之间的电阻,正常应该在120Ω左右(终端电阻)。如果量出来是0Ω或者无穷大,线序可能有问题。

  2. 以太网接口测试

    用一根网线直连工控机和网关,看Link灯亮不亮。如果灯不亮,先换根网线试试。我遇到过好几次,新买的六类线居然是坏的。另外,PROFINET要求使用至少Cat5e以上的网线,别用电话线凑合。

  3. 供电电压测量

    用万用表测一下工控机和网关的供电电压。24V电源,实际测量值在23.5V~24.5V之间都算正常。如果低于22V,设备可能会间歇性重启。嗯,这里要注意,有些开关电源标称24V,空载时能到25V,一带负载就掉到20V,这种电源得换掉。

核心逻辑: 硬件准备不是走流程,而是为后面的软件配置铺路。串口线序错了,你写再多代码也读不到数据;网口不通,PROFINET永远连不上。所以,这一步慢一点,后面反而快。

2.4 整体硬件拓扑图

下面这张图展示了本章涉及的硬件连接关系。你可以把它当作部署时的参考:

Modbus转PROFINET硬件拓扑图 硬件拓扑结构图 Modbus RTU 设备 RS-485 接口 Linux 工控机 Ubuntu Server 22.04 Modbus 主站 + PROFINET 从站 双千兆网口 + 原生串口 PROFINET 控制器 西门子 S7-1200/1500 RS-485 双绞线 以太网 Cat6 ⚠️ 部署要点: 1. RS-485 总线两端必须加 120Ω 终端电阻,否则通信不稳定。 2. PROFINET 网线长度不超过 100 米,超过需加交换机或中继器。 3. 工控机与网关的 IP 地址必须在同一网段,但不要与 PROFINET 控制器冲突。

2.5 通电前最后的检查清单

硬件都接好了?别急着通电。我习惯再过一遍这个清单:

  • 电源线: 正负极有没有接反?有些设备有防反接,但大部分没有,接反就冒烟。
  • 串口线: A线接A,B线接B,GND接GND。别把A和B接反,否则数据全是乱码。
  • 网线: 两端水晶头是否压紧?用网线测试仪跑一遍,8根线全通才算合格。
  • 接地: 工控机和网关的PE端子有没有接大地?不接地的话,静电积累可能导致通信丢包。
一个小技巧: 通电后先不跑任何软件,用 dmesg | grep tty 看看串口设备有没有被识别。如果看到 FTDI USB Serial Device 之类的信息,说明串口驱动加载成功。如果啥都没有,大概率是硬件没接好或者驱动没装。