Real-time Phasor Data Extraction for Analytics External Processing

Hello GPA team,

I am seeking your expertise on effectively extracting real-time phasor data from the openHistorian Instance using the custom output adapters. Our primary goal (as a prof-of-concept application) is to perform external calculations, such as real-time DFT and short-circuit detection, using this data (calculated externally by another serve). These calculations would be then stored in a MS SQL database which is read by Grafana dashboards.

To achieve accurate and timely results, minimal processing delay is crucial (ideally within a 5-10 second tolerance). While we have successfully tested CSV export as a preliminary step, we understand that this approach is not feasible for real-time processing due to the limitations of writing and reading to the same file simultaneously. Using the python connector works great but for rela-time processing is not fast enough to retrieve data.

Considering the available methods in openHistorian, as illustrated below, we would like to inquire about the most suitable option for our real-time analytics use case.

We are particularly interested in extracting approximately 30 signals at a sampling rate of 60 frames per second.

Your guidance on the optimal configuration and potential challenges would be greatly appreciated.

Figure 1: Available output connectors.
image
image

Have you considered just directly consuming streaming data via STTP?

1 Like

Not yet, since I don’t know how to interact with STTP via Python. Do you have examples? Thanks!

Here you go:

Also, another option might be to use IronPython and develop code as an openPDC Action Adapter.

1 Like

Thanks, I will proceed with the test!