I’ve successfully set up openPDC with 2 PMU devices and their corresponding phasor measurements. I’m able to view graph and other data in openPDC fine.
On same machine I’ve set up Open Historian but I’m unable to find instructions on how to set up Historian for storing measurements data from my openPDC.
My search ended here:
which is than pointing here:
And in that tutorial there is no mention of openHistorian just:
“These steps will show you how to create a bidirectional, internal connection between your openPDC and your SIEGate nodes.”
So, if I understand correctly, I should first install SIEGate and than add my openHistorian instance as node to SIEGate and than using above mentioned tutorial connect my openPDC with Historian in SIEGate?
Thanks in advance for any kind of help,
I don’t use SIEGate (look at it a long time ago but finally found that it was not requiered for what I want to do …).
My actual configuration :
- Server_A running OpenPDC 2.9.43 with 10+ PMU
- Server B running OpenHistorian 2.8.52
I’m using the STTP protocol with a subscription based input to make Server_B getting data from Server_A ; which is the easiest way (imho) to do so.
On OpenHistorian go to Inputs > Subscription Based Inputs > Create Internal Subscription and fill in the required information :
– Port must be 7165 for gathering data from OpenPDC.
– you can try ‘localhost’ instead of 127.0.0.1 for hostname if it doesn’t work.
- Then clic on Next then Save on the new Concentrator screen.
- Go to Inputs > Browse input devices ; then clic on the concentrator.
- On the concentrator screen, clic on Initialize : on the openHistorianConsole.exe you should see that the meta-data are synchronizing (if you encountered a timeout in the data-synchronization process ; maybe you should restart the openHistorian service ; then waiting 'till this synchronization going to the end). It may take several minutes.
When the meta-data synchronisation is finally at 100%, refresh your Inputs > Browse Input Devices screen and you should see your 2 PMU in it.
You can also use a custom output stream to open a port on OpenPDC side ; that the openHistorian will use to get the data.
On OpenPDC, go to Outputs > Concentrator Output Streams ; then create a new Output Stream :
Specify an Acronym, Name, type (ie : C37.118.-2011) and the TCP channel (the port on which the openHistorian is going to connect) as the following example :
Save this then clic on the ‘Device wizard’ link to add some PMU to your stream :
Then Enabled > Save > Initialize your output stream.
In OpenHistorian Manager, go to Input > Synchrophasor Device Wizard.
Use the Wizard to specify that you only have one communication channel and launch the connection builder. Use 127.0.0.1 as the Host IP, and the port number that you previously specified for the output stream in OpenPDC. Then select IEE C37.118-2011 protocol (or the one you’ve selected for your custom output stream) ; and the Access ID which I think is the ID Code specified in the custom output stream.
Let the Wizard make the connection and request the configuration.
If it works, you’ll have to put a PDC acronym / Name and you’ll see your PMU on the last screen of the Wizard :
I suggest to clic on each in order to check if the labels / types / phases are OK (on some previous versions of OpenPDC and OpenHistorian it wasn’t always) ; and put the right value if it’s not.
Then clic Finish to see your PMUs in the Input > Browse Input Device ; and check the Monitoring > Graph Measurement.
Also take a look at the http://localhost:8180 URL ; you’ll be able to access to Grafana and make some dashboards that are usefull to visualize and analyze data.
Hope this will help !
This looks awesome, thank you @Korunekosama for you help!
I’ll take a detailed look on it on Monday and hopefully configure my setup accordingly.
I will report on it here.
Cheers and have nice weekend!
Everything works just like you described.
Only I didn’t used custom output stream since I need both PMUs anyway.
Thank you for you help!
@Korunekosama just one more question - I’ve set up MSSQL database with Historian. I see all relevant setup data in tables but I can’t seem to find actual measurements anywhere.
I’ve turned on all phasors in Graph measurements:
But I don’t see anything appearing in DB.
“Only I didn’t used custom output stream since I need both PMUs anyway.”
You can add multiple PMUs in your output stream by clicking on Device Wizard as I show you in the fifth screenshot on my first post. Output stream allow you to choose which PMUs (and eventually phasors / measurements) you want to send to OpenHistorian (or other PDC) if you don’t want to send everything. The internal subscription always send everything (I may be wrong but that’s what I’ve seen in my tests).
Another option make it possible to use internal subscription with the possibility to filter PMU / Measurements etc : the publisher / subscriber that use authorisation requests / certificates and so on … I’ve tested it with success but a little tricky to use (imho) and I don’t use it for the moment.
The DB is only use to store the configuration (Devices / alarms / measurements / Input - output streams …) definitions/parameters ; not to store measurements values.
These values are stored in the “Archive” sub folder of the installation folder of OpenHistorian.
Parameters of your Archive output can be access with OpenHistorian Manager in Output > historian instances.
There is by default one (PPA) for the phasors data / measurements ; and another (STAT) for the statistics values. You can configure them with the connection string to specify for example :
(I think a list of all theses parameters can be found in the GPA online resources).
On my configuration I use all by default except MaximumArchiveDays that I fixed to 25 days in order to prevent any saturation of my disc. Data are stored in binary .d2i files that can’t be explored with a notepad for example.
There are multiple ways to visualize those data :
Built in tools as DataExtractionUtility.exe or HistorianView.exe that you can find in the installation directory of OpenHistorian. DataExtractionUtility can extract/export data in a csv file but it seems not to be completely ‘designed’ (I can’t filter on some specific devices or measurements for example). The files that produced by that way are really heavy and it’s difficult to exploit them. With HistorianView you can filter measurements and a time period and visualize data on a graph ; but it frequently crash.
On the graph you can’t visualize the data points values, only the trend. The ‘export’ option is not enable (grayed out) on my conf.
Sending data in an external DB instead (or alongside) the .d2i archive system ; by using the Output > Manage Custom Output options. At this place you can configure a custom output stream to send data in some database of various types : InfluxDB / Kafka Producer / MongoDB / MySQL for those which are listed. I’ve tested with MongoDB last year but I don’t remember what was the result. I gave up this option to focus on the last one :
Using the build-in grafana solution. As I mention in my first post, you can access to the http://OpenHistorian_server_IP:8180 to access the OpenHistorian web interface :
On this page you can manage your OpenHistorian instance (instead of using OpenHistorian Manager), and access to Grafana. With this tool you can easily create some dashboards with graphs showing the data ; filtering on some PMU / measurements and time windows that you want to visualize.
To do so you’ll have to put some requests like the following in the graph plugin parameters in grafana :
FILTER ActiveMeasurements WHERE Description LIKE ‘%Frequency’ AND Description LIKE ‘%PMU1%’
There’s also a in-build plugin in grafana named ‘OH Data Download’ that make it possible to extract some data in a csv file. I use this grafana plugin to extract some data in csv files from openHistorian ; and Grafana graphs capabilities to visualize them.
Hope this will help you …