首页/网络/工控与物联网速查/OPC UA PubSub发布订阅模型
工业协议80 条

OPC UA PubSub发布订阅模型

PubSub 由发布者、写组、数据集写者与字段自上而下组织,接收侧对称地分为订阅者、读组与数据集读取者;消息携带发布者与序号信息,靠安全组保护。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌​​​​‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​‌​‌​‌‌​​​‌​​‌‌‌​​‌‌​‌‌‌​‌​‌​‌‌​​​‌​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌​‌‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

发布订阅的模型结构

发布侧是一棵树:发布者代表一个数据源,写组定义发送节奏与传输参数,数据集写者绑定一个数据集,数据集里是一个个按顺序排列的字段;接收侧结构对称,由订阅者、读组与数据集读取者组成。发布时按数据集结构把字段值编码成网络消息,接收方按同样顺序解码,所以两侧的字段顺序与类型必须严格一致,任何一边改结构都要同步修改。这种模型让配置可以放在地址空间里被浏览和读写,减少人工比对字段表的工作。

基本信息

发布侧对象发布者、写组、数据集写者、数据集字段
接收侧对象订阅者、读组、数据集读取者
传输映射UDP 单播或组播、以太网二层、消息中间件
编码方式紧凑二进制(效率高)与 JSON(可读性好)
消息头发布者标识、写组标识、序号、时间戳、载荷
安全安全组定义模式与密钥,密钥由密钥服务分发

典型使用场景

  • 机组内高频共享数据:组播一份数据给多个接收方,避免重复读取
  • 边缘到云:经消息中间件把数据集送到异地平台,跨越厂区边界
  • 紧凑编码节省带宽:字段密集的测量数据在低速链路上传输
  • 可读编码便于联调:JSON 编码让抓包与日志直接看懂字段
  • 结构变更管理:读取地址空间里的配置对象,比对两侧字段顺序
  • 安全组隔离:不同数据集使用不同密钥,限制接收范围

关键对象速查

对象作用配置要点
发布者数据源与身份标识发布者标识需全局唯一
写组发送节奏与传输参数周期、编码方式、传输映射
数据集写者把一个数据集绑定到写组标识在写组内唯一
数据集字段单个被发布的值顺序与类型必须与接收侧一致
读组与读取者接收侧对称结构按写者标识过滤,避免收错数据
安全组保护模式与密钥密钥轮换与分发方式需规划

消息字段示意

消息字段示意
# 网络消息结构(概念)
#   发布者标识  → 区分数据来源
#   写组标识    → 区分同一来源的不同数据流
#   序号        → 接收方据此发现丢包与乱序
#   时间戳      → 判断数据新鲜度,注意两侧时钟
#   载荷        → 按数据集字段顺序编码的数值
# 接收方:按数据集结构逐字段解码,字段顺序不一致时数值会整体错位
接收方无法向发布方回告丢包,序号与看门狗计数是判断数据是否连续的主要手段,做数据质量标记时应当把序号缺口记录下来。
密钥分发没有规划好时,安全组形同虚设:静态密钥长期不换,一旦泄露需要停线统一更新所有节点。

易错点

  • 写者与读取者两侧字段顺序或类型不一致,数值整体错位且很难一眼看出
  • 组播地址与端口冲突,两路数据集互相覆盖,接收方收到混杂数据
  • 只依赖时间戳判断新鲜度,两侧时钟未同步时把新数据当成过期丢弃
  • 密钥轮换没有过渡期,更新过程中部分节点收不到数据

数据来源与参考

  • OPC 10000-14:PubSub Communication Model(OPC Foundation)
  • OPC 10000-6:Mappings(UADP 与 JSON 编码映射)
  • IEC 62541 系列标准

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/opc-ua-pubsub-model.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌​​​​‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​‌​‌​‌‌​​​‌​​‌‌‌​​‌‌​‌‌‌​‌​‌​‌‌​​​‌​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌​‌‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​