文档中心 › Modbus 上云
Modbus TCP/RTU 数据上云方案对比
电表、变频器、温控仪、流量计等设备几乎都支持 Modbus。把 Modbus 数据汇集到数据库或云平台,一般有三条路线,本文按成本、灵活度、交付速度给出对比与建议。
一、三条主流路线
| 方案 | 优点 | 局限 |
|---|---|---|
| ① 采集软件(如 nscada)部署在服务器/盒子 | 灵活、可自托管、内网可用、成本低 | 需要一台可联网的工控机/服务器 |
| ② 专用硬件采集网关(Modbus 网关盒子) | 开箱即用、现场接线简单 | 点表/协议适配受固件限制,规模大成本高 |
| ③ 直接用平台 SDK/边缘 Agent | 与云平台原生集成 | 绑定厂商、离线/私有化受限 |
对“私有化、多协议并存、想留数据自主权”的团队,路线①(边缘采集软件)通常最合适,还能同时接 S7 与串口仪表。
二、Modbus 采集中最容易出错的 4 件事
- 地址是 0 基还是 1 基:上位机常显示 40001 起,协议里实际地址 = 显示值 - 1;nscada 点表用 0 基(如
HR:100)。 - 数据类型与寄存器个数:float32 占 2 个寄存器、float64 占 4 个;int16/uint16 占 1 个。
- 字节序/字序:同一寄存器值不同厂商高低字顺序不同,nscada 连接参数可配 big/little 与寄存器内字节交换。
- RTU 串口串行化:一个 RS-485 总线上多个从站必须同一时刻只有一个请求;采集引擎对同串口做了事务互斥,避免串帧。
三、RTU 还是 TCP?
- 能网线就优先 Modbus TCP:速率高、好排障、一台机器可同时轮询多台;
- 老旧仪表只有串口 → Modbus RTU:注意 485 A/B 线、终端电阻、波特率/数据位/停止位/校验与从站 unitId 一致;
- 串口转以太网模块(如 USR-、有人等)也可把 RTU 设备接成 TCP 网关接入 nscada。
四、落库 + 上云的推荐组合
nscada 的做法:定时轮询(周期可设 ms 级)→ 缩放/质量标记 → 本地 SQLite 按天分表落库 → Outbox 可靠队列转发 HTTP/MQTT。这样即使网络抖动或平台重启,历史数据仍完整可查、可补传。
