OPC-UA Historical Data Streaming
Posted: 18 Aug 2022, 04:17
Hey there,
I'm using OPC-UA to read historical data from multiple tags (nodes) on a server and this could be any OPC-UA server in the following manner:
* Running "Read History" repeatedly as a data streaming service on a server and incrementing the starttime, endtime range and it'll eventually catch up to the current time.
* I'm merging the data from these different nodes into a tabular format where they all exist in the same row if the timestamp is the same.
A couple of questions:
1. For just a single node, does running "Read History" guarantee that I will retrieve all the recorded data in timestamp order?
2. For reading multiple nodes, is it possible that the data for one node would arrive later than another node? Or would the system guarantee that despite being separate nodes, the data retrieved from all nodes in the system would be guaranteed to be available in order. For example, if I had 2 nodes N1 and N2 where N1 has data coming in every 3 seconds and N2 has data coming in every 2 seconds and it looks like:
N1: t0 t3 t6
N2: t0 t2 t4
Would it be possible that N1 data from t0 to t6 is available but N2 data is still empty when reading history?
I'm using OPC-UA to read historical data from multiple tags (nodes) on a server and this could be any OPC-UA server in the following manner:
* Running "Read History" repeatedly as a data streaming service on a server and incrementing the starttime, endtime range and it'll eventually catch up to the current time.
* I'm merging the data from these different nodes into a tabular format where they all exist in the same row if the timestamp is the same.
A couple of questions:
1. For just a single node, does running "Read History" guarantee that I will retrieve all the recorded data in timestamp order?
2. For reading multiple nodes, is it possible that the data for one node would arrive later than another node? Or would the system guarantee that despite being separate nodes, the data retrieved from all nodes in the system would be guaranteed to be available in order. For example, if I had 2 nodes N1 and N2 where N1 has data coming in every 3 seconds and N2 has data coming in every 2 seconds and it looks like:
N1: t0 t3 t6
N2: t0 t2 t4
Would it be possible that N1 data from t0 to t6 is available but N2 data is still empty when reading history?