4、通信协议基础:SCADA常用通信协议

说到SCADA系统的移动端监控,通信协议是绕不开的坎儿。我刚开始做移动端接入时,以为协议这东西选个通用的就行,结果踩了不少坑。今天咱们就把几个主流协议掰开揉碎了聊聊。

4.1 Modbus RTU/TCP:老当益壮的工业老兵

Modbus协议,说白了就是工业界的"普通话"。1979年由Modicon公司推出,到现在40多年了,还在大量使用。为什么?因为它简单、可靠、成本低。

Modbus RTU走的是串口(RS-232/RS-485),数据以二进制格式传输。我做过一个水厂项目,现场几十个PLC全是Modbus RTU,用一对双绞线就能串起来,布线成本极低。

Modbus TCP则是RTU的"网络升级版",把数据封装在TCP/IP包里,走以太网。你想想看,现在工厂里到处都是网线,用TCP版本方便多了。

核心特点:

  • 主从架构:一个主站,多个从站
  • 功能码简单:读线圈(01)、读寄存器(03)、写线圈(05)、写寄存器(06)
  • 数据量小:单次最多读取125个寄存器
  • 无加密、无认证:安全性靠物理隔离

适用场景:

  • 小型PLC、智能仪表、传感器数据采集
  • 对实时性要求不高的监控系统(100ms级别)
  • 老旧设备改造项目

移动端适配问题:

Modbus TCP在移动端还算友好,直接用Socket连接就行。但RTU就麻烦了——手机没有串口。我曾经在一个项目里,客户非要用手机直接连Modbus RTU设备,最后只能加一个串口转WiFi模块,成本翻了一倍。嗯,这里要注意:移动端直接对接RTU基本不可行,必须通过网关转换。

4.2 DNP3:电力系统的"老大哥"

DNP3(Distributed Network Protocol)是电力行业的专用协议。我在电力公司做项目时第一次接触它,当时觉得这协议怎么这么"啰嗦"——一个数据包要带时间戳、质量位、事件序列...后来才明白,电力系统要求的就是可靠和完整。

DNP3的独特之处:

  • 支持事件驱动:变化才上报,不像Modbus那样轮询
  • 时间同步:所有数据带精确时间戳
  • 数据质量标识:好数据、坏数据、可疑数据都标清楚
  • 支持多主站、多从站

为什么会这样?因为电力系统不允许丢数据。你想想看,变电站的断路器跳闸信号如果丢了,可能造成大面积停电。DNP3的确认重传机制就是为了解决这个问题。

我的经验:DNP3在移动端适配时,最大的问题是数据包太大。一个完整的事件记录可能几百字节,手机网络不稳定时容易超时。我建议在移动端做数据缓存和断点续传,别指望一次传完。

适用场景:

  • 变电站自动化、配电网监控
  • 需要高可靠性和数据完整性的场景
  • 远程终端单元(RTU)与主站通信

4.3 IEC 60870-5-104:欧洲标准,全球通用

IEC 104是欧洲电力系统的标准协议,现在国内也大量使用。它和DNP3有点像,但更"现代化"一些——直接跑在TCP/IP上,不需要额外的串口转换。

IEC 104的特点:

  • 标准化程度高:国际电工委员会(IEC)制定
  • 支持遥测、遥信、遥控、遥调四种功能
  • 数据对象化:每个数据点有明确的类型定义
  • 测试帧机制:保持连接活性

我记得有个光伏电站项目,业主指定要用IEC 104。当时我还有点抵触,觉得Modbus就够用了。后来发现IEC 104的标准化确实好——不同厂家的设备对接起来,比Modbus省事多了。

移动端适配要点:

IEC 104的测试帧(Test Frame)在移动端是个坑。手机网络切换时,测试帧可能丢失,导致连接断开。我建议在移动端实现心跳重连机制,测试帧超时就主动重建连接,别等协议栈自己恢复。

适用场景:

  • 电力调度自动化系统
  • 新能源发电(光伏、风电)监控
  • 需要多厂家设备互联的大型项目

4.4 OPC UA:工业4.0的"新贵"

OPC UA(统一架构)是近几年最火的工业通信协议。它不像前面几个协议那样"专一",而是想一统天下。说白了,OPC UA不只是通信协议,更是一个完整的工业数据平台。

OPC UA的核心能力:

  • 信息模型:数据自带语义,比如"温度"不只是数值,还带单位、范围、报警阈值
  • 安全机制:支持加密、认证、审计
  • 跨平台:Windows、Linux、嵌入式系统都能跑
  • 支持发布/订阅模式:适合大规模数据分发

移动端适配优势:OPC UA原生支持WebSocket和HTTPS,移动端接入非常方便。我做过一个项目,直接用手机浏览器通过OPC UA的REST接口读取数据,连App都不用开发。不过要注意,OPC UA的协议栈比较重,手机端解析大信息模型时可能会卡顿。

适用场景:

  • 智能制造、工业互联网平台
  • 需要数据语义化的高级应用
  • 跨系统、跨平台的数据集成

4.5 协议对比与选型建议

协议 传输方式 实时性 安全性 移动端适配难度 典型场景
Modbus RTU 串口 中等 高(需网关) 小型设备、老旧系统
Modbus TCP 以太网 中等 中小型系统
DNP3 串口/以太网 电力系统
IEC 104 以太网 电力调度
OPC UA 以太网 智能制造、集成平台

避坑指南:我曾经在一个项目中,为了省成本选了Modbus TCP做移动端监控。结果现场有2000多个数据点,Modbus轮询一圈要5秒,手机端刷新慢得要命。后来换成OPC UA的订阅模式,延迟降到200ms。所以选协议时,一定要考虑数据量和实时性要求。

4.6 移动端协议适配的通用原则

不管选哪个协议,移动端适配都有几个共性问题:

  1. 网络不稳定:手机网络会断会切换,协议必须支持重连和断点续传
  2. 带宽有限:4G/5G虽然快,但数据量大了还是扛不住,尽量用变化上报代替轮询
  3. 功耗问题:频繁通信会耗电,建议在后台降低采样频率
  4. 安全风险:移动端暴露在公网,必须加密传输,别裸奔

嗯,今天就聊到这儿。下一章咱们会深入讲Modbus协议的具体实现,包括报文解析和移动端代码示例。到时候我会拿一个实际项目来演示,保证你听完就能上手。