Modbus作为工业通讯领域的常青树,已经走过40多年,衍生出RTU和TCP两种主要方式,各自适用于不同场景。

RTU协议开销小,帧结构紧凑,短距离通讯下响应快,典型轮询周期在几十个毫秒以内,适合流量控制这类需要高实时性的场景——如果采集数据滞后,控制逻辑就会失效。TCP虽然理论速度快,但受TCP/IP协议栈、网络延迟和带宽竞争影响,实际响应波动大,比如网络拥挤时像节假日的高速公路,延迟会增加。一般来说,实时性要求响应小于100毫秒且环境稳定,选RTU更合适;容许200毫秒以上响应,TCP完全胜任。

打开网易新闻 查看精彩图片

RTU硬件成本低,不需要交换机、IP模块,但长距离需要敷设专用屏蔽电缆,人工成本高,调试用USB转485工具抓包很直观。TCP初始投入高,要以太网模块、交换机和IP配置,但后期维护方便,能远程诊断升级,降低运维成本。预算有限的小项目选RTU,追求长期维护和远程管理的选TCP。

打开网易新闻 查看精彩图片

RTU用RS-232或RS-485串行总线,RS-485抗干扰强,传输距离最大1200米,节点数最多32个(加中继器到256个),采用主从轮询模式,同一时间总线只能一个设备发送数据。TCP用以太网,传输距离100米(双绞线)或数公里(光纤),节点数无限制,支持全双工和并发连接,依赖TCP协议的三次握手、重传机制保证可靠传输。

打开网易新闻 查看精彩图片

RTU适合本地小系统、老设备改造、成本敏感项目,比如传感器、执行器的点对点通讯,抗干扰能力强;TCP适合远程监控、高速数据传输、大系统,比如工业物联网、SCADA系统,能跨网段甚至互联网。很多项目会用RTU+TCP网关混合架构,底层用RTU连接设备,上层用TCP上传数据,兼顾兼容和效率。

RTU常用功能码比如03读保持寄存器、06写单个寄存器、10写多个寄存器,功能码决定操作类型,比如读温度用03,控制水泵启动用05写线圈。TCP和RTU共享功能码+数据区的结构,兼容性好,能无缝对接老设备和新系统。

打开网易新闻 查看精彩图片