OPC PubSub
基于UADP协议的应用程序的基础是通过UADP一致地传输数据结构(即通过UDP/IP进行OPC编码的帧)。
由于必须保持一致性,因此数据结构必须适合 UDP 帧(1500 字节)。
而且由于空间有限,通过 UADP 进行传输必须尽可能高效。
只有
RawData Field Encoding
支持。(这样可以节省空间。)只有
DataSetMessages
类型的Data Key Frame
支持。(实时数据的周期性交换)结构 — 即值序列 (
DataSetField
) 及其类型 (DataSetMessage
) — 在运营期间保持不变,并由出版商和订阅者事先同意。(操作期间无需传输任何元数据。)

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

这个 GroupVersion
参数由 Subscriber
检查收到的结构是否与预期的结构相对应。订阅者可以使用 SequenceNumber
用于识别消息是否丢失的参数。
这个 DataSetMessages
参数的结构如下。从 IEC 到 OPC UA,发布商的数据结构以 1:1 编码

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

这个 DataSetMessage
参数,它包含 DataSetMessage
标题和个人 DataSetFields
数据 (= Data Key Frame
),插入在 NetworkMessage
标题。
A DataSetField
由基本数据类型的值组成:

OPC UA 规范的第 14 部分指出:
这个 FieldCount
如果是,则必须省略参数 RwaData Field Encoding
选项设置在 EncodingFlags
的旗帜 DataSetMessage
标题(DataSetFlags1
)。
这个 FieldCount
因此,未在 “数据关键帧” 中编码。这意味着 1500 字节-15 字节 = 1485 字节的用户数据仍然可用于通过 UADP 传输数据结构
OPC UA 规范的第 14 部分指出:
这个 FieldCount
如果是,则会被忽略 RawDate Encodings
设置在 EncodingFlags
的 DataSetMessage
标题(DataSetFalgs1
)。
这个 FieldCount
因此,未在数据关键帧中编码。这意味着 1500 字节-15 字节 = 1485 字节的用户数据仍然可用于通过 UADP 传输数据结构
