OPC UA PubSub Parsing DataSetMessage |OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
OPC UA PubSub Parsing DataSetMessage
Avatar
Jothi Sankarraj
Member
Members
Forum Posts: 29
Member Since:
04/09/2019
sp_UserOfflineSmall Offline
1
08/26/2019 - 04:33
sp_Permalink sp_Print

I have been trying to parse the DataSetMessage payload from a sample set of data that I have. To my understanding of the specification., I do the parsing in the following order!

1. Parse the NetworkMessage header

2. Parse the Group header (based on UADP flags)

3. Parse the Payload header (based on UADP flags) - For my sample set, I would have parsed this Payload for DataSetMessage NetworkMessageType

4. Parse the Extended NetworkMessage header

5. Parse the Security header (based on ExtendedFlags1 flag for Security)

After doing steps 1 to 5, I check for the NetworkMessageType which is found in the ExtendedFlags2. Based on this (assuming that it is of type DataSetMessage), I then do the following steps:

6. Parse the size of the DataSetMessage as an Array of Byte

7. Iterate over the size obtained from Step 6 and for each element in the sizes array, do the following:

   7.1. Parse the DataSetMessage header (DataSetFlags1, DataSetFlags2, DataSetMessage SequenceNumber, Timestamp, PicoSeconds, Status)

   7.1. Check if the DataSetMessage (from DataSetFlags2) has a key frame, delta frame, event or keep alive

   7.3. Based on step 7.1, parse the Payload appropriately

Is my understanding correct? Is there anything I missed in the order in which I parse this data? The reason why I'm asking is that from the sample set of data that I have which is a DataSetMessage with key frame, I see some additional bytes in the input for which I do not know how to parse it or in other words, I'm in doubt if I missed any additional steps between step 5 and 6 or between steps 6 and 7.

Please help!

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 22
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1366
Posts: 4625