Skip to main content

OPC PubSub

基于UADP协议的应用程序的基础是通过UADP一致地传输数据结构(即通过UDP/IP进行OPC编码的帧)。

  • 由于必须保持一致性,因此数据结构必须适合 UDP 帧(1500 字节)。

  • 而且由于空间有限,通过 UADP 进行传输必须尽可能高效。

  • 只有 RawData Field Encoding 支持。(这样可以节省空间。)

  • 只有 DataSetMessages 类型的 Data Key Frame 支持。(实时数据的周期性交换)

  • 结构 — 即值序列 (DataSetField) 及其类型 (DataSetMessage) — 在运营期间保持不变,并由出版商和订阅者事先同意。(操作期间无需传输任何元数据。)

_simitf_img_opcpubsub_header.png

下表将帮助您了解所使用的参数:

_simitf_uadp_networkmessage_header_layout.png

这个 GroupVersion 参数由 Subscriber 检查收到的结构是否与预期的结构相对应。订阅者可以使用 SequenceNumber 用于识别消息是否丢失的参数。

这个 DataSetMessages 参数的结构如下。从 IEC 到 OPC UA,发布商的数据结构以 1:1 编码

_simitf_datasetmessageheader.png

下表说明了所使用的参数。

_simitf_uadp_datasetmessageheaderlayout.png

这个 DataSetMessage 参数,它包含 DataSetMessage 标题和个人 DataSetFields 数据 (= Data Key Frame),插入在 NetworkMessage 标题。

A DataSetField 由基本数据类型的值组成:

_simitf_uadp_datafields.png

OPC UA 规范的第 14 部分指出:

这个 FieldCount 如果是,则必须省略参数 RwaData Field Encoding 选项设置在 EncodingFlags 的旗帜 DataSetMessage 标题(DataSetFlags1)。

这个 FieldCount 因此,未在 “数据关键帧” 中编码。这意味着 1500 字节-15 字节 = 1485 字节的用户数据仍然可用于通过 UADP 传输数据结构

OPC UA 规范的第 14 部分指出:

这个 FieldCount 如果是,则会被忽略 RawDate Encodings 设置在 EncodingFlagsDataSetMessage 标题(DataSetFalgs1)。

这个 FieldCount 因此,未在数据关键帧中编码。这意味着 1500 字节-15 字节 = 1485 字节的用户数据仍然可用于通过 UADP 传输数据结构

1. PubSub 组件概述
PubSub 组件概述