两种模型的定位
Modbus 的模型极简:只有寄存器与线圈,没有类型信息、没有语义、没有安全、没有发现机制,但实现成本极低,几乎所有现场设备都支持。OPC UA 的模型是自描述的:每个数据都是带类型与属性的节点,支持按需订阅、证书与用户身份,还带发现机制,代价是资源占用与实现复杂度高。选型的关键不是二选一,而是分层:设备侧按设备能力使用简单协议,在边缘做一次转换,把类型、语义与安全补上,再向上提供统一接口。
基本信息
| 数据模型 | 寄存器与线圈,无类型语义;后者为带类型的节点图 |
|---|---|
| 安全 | 前者无认证与加密;后者有安全策略与用户身份 |
| 发现 | 前者靠人工点表;后者可浏览发现 |
| 数据获取 | 前者以轮询为主;后者可服务端订阅并按死区推送 |
| 资源开销 | 前者极低;后者明显更高,需要处理器与内存 |
| 设备支持面 | 前者几乎普遍;后者集中在中高端设备 |
| 典型组合 | 设备侧简单协议,边缘网关对外提供带安全的信息模型 |
典型使用场景
- 老设备接入:设备只有简单协议,先采上来,再在边缘补语义
- 新建中高端设备:直接使用信息模型接口,省去点表维护
- 云与上层系统集成:用带身份与加密的接口对接,满足审计要求
- 性能受限设备:处理器资源有限时,保留轻量协议作为采集通道
- 安全合规:要求加密与用户身份的场合,不能只靠网络分区
- 混合架构:同一项目中,现场与上层使用不同协议,边界清晰
选型对照
| 维度 | 轻量寄存器协议 | 信息模型协议 |
|---|---|---|
| 类型与语义 | 无,需人工维护点表 | 自描述,可浏览发现 |
| 安全 | 无认证与加密 | 安全策略、证书、用户身份 |
| 获取方式 | 轮询 | 服务端订阅与死区推送 |
| 开销 | 极低 | 较高,需要资源余量 |
| 设备支持 | 几乎全覆盖 | 中高端设备为主 |
| 适用层次 | 现场设备层 | 边缘与上层集成 |
分层组合示例
分层组合示例
# 现场层:多台仪表以轻量协议挂在同一条总线上,主站轮询
# 边缘层:网关把寄存器映射为带类型与单位的信息模型节点
# - 补上数据类型、量程与单位,而不是原样暴露寄存器
# - 对外开放加密端点与用户身份,禁用无安全端点
# 上层:分析与上层系统按节点读取与订阅,不再关心寄存器偏移
# 关键:转换层要保留数据质量与时间戳,避免上层把坏值当正常值只把寄存器原样暴露成变量节点,虽然换了协议,但语义与安全都没补上,后续集成成本不会下降。
为兼容而保留无安全端点,会让整条链路的强度按最弱环节计算,生产环境应关闭它并规划过渡期。