如果没有设置DataSetWriterId,如何识别NetworkMessage中的DataSet?

How to identify DataSet in NetworkMessage if DataSetWriterId is not set?

根据opc-ua pubsub规范,DataSetMessage header中的DataSetWriterId是可选的,DataSetMessage ordering可以设置为Undefined_0,这时候我们可以'不保证 NetworkMessage 中 DataSetMessages 的顺序。如果 WriterGroup 中有多个,如何识别我们收到的是哪个 DataSetMessage

OPC UA PubSub 规范使许多事情成为可选的。然后,配置系统的人负责做出有意义的选择。你所描述的只是这种情况的一个例子。这个想法是,如果你不能确定你需要什么 "on the wire",你就不应该这样做。因此,如果您想省略 DataSetWriterId 并且没有其他方法可以获取相同的信息,那么您必须只将一个启用的 DataSetWriter 放入 WriterGroup。

UA 规范中有 are/will 个配置文件 ("header layouts"),它将合理和最常用的选项组合在一起,期望大多数系统将坚持使用其中一个配置文件 (同时仍然允许做其他事情,只要它符合规范的文本并且有意义。