Get and process historical data (live values)
Historical data (in the sense of Live Values) are useful for many use-cases. This article covers how to get them and what to watch out for when processing them.
Data sources and access
OPC UA
OPC UA is a standard for data exchange from sensors to applications. It's implemented by different vendors, e.g., kepware (KEPServerEX). The OPC foundation provides a reference implementation for the OPC UA standard on GitHub: [1] One detail specified by the OPC UA standard is how servers can provide historical data, and their example code includes how to access them: [2]
Aveva (Osi) PI
Aveva has bought OsiSoft, the original creator of the PI system for the management of real-time operations data. There's also documentation on how to access data streams from it: [3]
Data Warehouse or Operational Data Store
For managing huge amounts of data from multiple sources, there are software suites and services like Snowflake. You'll have to look up how to access the data for a specific product. However, if a large customer wants you to process historical data, it may be a good idea to ask for DW or ODS solutions already in place.
Recording historical data with UBIK®
This is not recommended because there are systems specialized on recording, storing and streaming operational data, and UBIK® isn't one of them.
Applications
Challenges - approaches
Irregularity - interpolation
Operational data can be delivered at irregular intervals, and there might be gaps. This can make it difficult to provide a nice trend chart. Interpolation algorithms can help fill in the gaps and to sample with uniform intervals. Spline interpolation is widely used because it doesn't misbehave even with many noisy data points.
Varying quality - filtering and smoothing
Measurements can be erroneous, unprecise and noisy, leading to outliers and plots that are hard to interpret. This can be solved by applying (smoothing) filters to the data. There are many smoothing techniques with different strengths, here are some you can explore: Gaussian kernel smoother, Whittaker-Eilers smoother, spline smoothing.