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℃ | 普通商业级网关在夏天机柜里容易死机 |
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芯片)。
2.3 串口与以太网接口检查:通电前必须做的三件事
硬件到手后,别急着通电。我一般按以下步骤检查:
- 串口线序确认
RS-485是半双工,只需要A、B两根线。但有些设备把A标成D+,B标成D-,甚至还有把GND当信号地的。我的习惯是:用万用表量一下A-B之间的电阻,正常应该在120Ω左右(终端电阻)。如果量出来是0Ω或者无穷大,线序可能有问题。
- 以太网接口测试
用一根网线直连工控机和网关,看Link灯亮不亮。如果灯不亮,先换根网线试试。我遇到过好几次,新买的六类线居然是坏的。另外,PROFINET要求使用至少Cat5e以上的网线,别用电话线凑合。
- 供电电压测量
用万用表测一下工控机和网关的供电电压。24V电源,实际测量值在23.5V~24.5V之间都算正常。如果低于22V,设备可能会间歇性重启。嗯,这里要注意,有些开关电源标称24V,空载时能到25V,一带负载就掉到20V,这种电源得换掉。
核心逻辑: 硬件准备不是走流程,而是为后面的软件配置铺路。串口线序错了,你写再多代码也读不到数据;网口不通,PROFINET永远连不上。所以,这一步慢一点,后面反而快。
2.4 整体硬件拓扑图
下面这张图展示了本章涉及的硬件连接关系。你可以把它当作部署时的参考:
2.5 通电前最后的检查清单
硬件都接好了?别急着通电。我习惯再过一遍这个清单:
- 电源线: 正负极有没有接反?有些设备有防反接,但大部分没有,接反就冒烟。
- 串口线: A线接A,B线接B,GND接GND。别把A和B接反,否则数据全是乱码。
- 网线: 两端水晶头是否压紧?用网线测试仪跑一遍,8根线全通才算合格。
- 接地: 工控机和网关的PE端子有没有接大地?不接地的话,静电积累可能导致通信丢包。
dmesg | grep tty 看看串口设备有没有被识别。如果看到 FTDI USB Serial Device 之类的信息,说明串口驱动加载成功。如果啥都没有,大概率是硬件没接好或者驱动没装。