概述
本文档描述如何在一台基于Linux的边缘网关上,使用开源工具同时采集Modbus TCP设备和OPC UA服务器的数据,并统一转发。适用于智能车间数据采集项目。
硬件要求
- 工控机或树莓派4B+(推荐2GB RAM以上)
- 双网口:一个接车间设备网络(192.168.1.x),一个接办公/MES网络(10.0.0.x)
软件栈
- 操作系统:Ubuntu 22.04 LTS
- Modbus库:libmodbus(C库)或pymodbus(Python)
- OPC UA库:open62541(C)或opcua-asyncio(Python)
- 数据转发:MQTT(mosquitto)或直接OPC UA服务器
步骤
- 安装依赖:sudo apt install libmodbus-dev libopen62541-dev
- 编写Modbus采集脚本,读取寄存器并转换为JSON。
- 编写OPC UA客户端,订阅指定节点。
- 将采集数据发布到本地MQTT Broker或写入OPC UA地址空间。
- 配置防火墙,仅允许必要端口。
注意事项
- Modbus轮询周期建议500ms以上,避免设备过载。
- OPC UA证书需提前生成并信任。

