• Stars
    star
    126
  • Rank 283,351 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created about 9 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open Source Phasor Data Concentrator

Round LogoopenPDC

Open Source Phasor Data Concentrator

The openPDC administered by the Grid Protection Alliance (GPA) is a complete Phasor Data Concentrator software system designed to process streaming time-series data in real-time. Measured data gathered with GPS-time from many hundreds of input sources is time-sorted and provided to user defined actions as well as to custom outputs for archival.

Overview

A phasor data concentrator is designed to receive streaming synchrophasor data from phasor measurement units (PMUs) installed on power transmission lines and align this data by GPS time-tag (i.e., it "concentrates" the data based on time). The output of a PDC is a time-synchronized dataset that is forwarded on one or more software applications. For more information on the functional requirements of a PDC see: Phasor Data Concentrator Requirements

The openPDC is much more than just a data concentrator, it is a flexible platform for processing high-speed time-series data that can adapt with changing technology to provide a future-proof phasor data architecture. The openPDC can be used to distribute data (both real-time and historical) to consuming applications and can be installed anywhere within the synchrophasor infrastructure, even on fanless computers that run in a substation environment.

Although the primary purpose of the openPDC is concentration and management of real-time streaming synchrophasors, by having its functionality based on GPA's Time-Series Library the openPDC inherits a modular design that allows it to be classified as a generic event stream processor:

openPDC Flow Diagram

Features

The openPDC implements a number of standard phasor protocols which can be used to receive data from devices. The supported protocols include IEEE C37.118, IEC 61850-90-5, IEEE 1344, BPA PDCstream, F-NET, SEL Fast Message, and Macrodyne among others.

Using the Time-Series Library, the openPDC can be configured to archive to any historian system, however, the system also includes an available built-in historian, the openHistorian, for data archival. The local historian comes with a visualization and extraction tool, a high-speed local API and web services, all of which can be used to extract and monitor the data being archived in real-time. The files produced by the historian can also be analyzed using Hadoop.

With version 2.1 or later, the openPDC can be deployed in POSIX environments as well as on Windows.

Other features include:

  • Lossless phasor data transformation and replication with the ability to create a configurable number of output streams
  • Extensive performance statistic history such as average latency, data quality and time code errors
  • Generic configuration database with support for Microsoft SQL Server and Oracle as well as free alternatives such as MySQL and SQLite
  • Distributed multi-node architecture supported for high availability and throughput
  • Provided output adapters for multiple historians including the openHistorian, OSI-PI Historian and Hadoop.
  • Automated data availability reporting

Documentation and Support

Deployment

Requirements

  • .NET 4.6 or higher.
  • 64-bit Windows 7 or newer or POSIX OS, e.g. Linux or Mac.
  • Database management system such as:
    • SQL Server (Express version is fine)
    • MySQL
    • Oracle
    • PostgreSQL
    • SQLite (included, no extra install required - not recommended for large deployments)

Downloads

  • Download the latest stable release here.
  • Older releases are also available here.
  • Download the nightly build here.

Contributing

If you would like to contribute please:

  • Read our styleguide.
  • Fork the repository.
  • Code like a boss.
  • Create a pull request.

License

openPDC is licensed under the MIT license.

More Repositories

1

go2cs

Golang to C# Converter
C#
358
star
2

openHistorian

The Open Source Time-Series Data Historian
TypeScript
172
star
3

gsf

Grid Solutions Framework
C#
160
star
4

PTPSync

Precision Time Protocol Synchronization Service for Windows
C#
65
star
5

osisoftpi-grafana

Grafana Data Source Plugin for the OSIsoft PI System
TypeScript
57
star
6

PQDashboard

Dashboard for system-wide visualization of power quality data
JavaScript
21
star
7

PMUConnectionTester

Verifies data streams from synchrophasor measurement devices
C#
19
star
8

openXDA

eXtensible Disturbance Analytics
JavaScript
18
star
9

openMIC

Meter Information Collection System
C#
15
star
10

openECA

Open Source Extensible Control & Analytics
C#
13
star
11

udp2serial

UDP to Serial Forwarder
C#
10
star
12

ARMORE

Applied Resiliency for More Trustworthy Grid Operation
JavaScript
10
star
13

substationSBG

Substation Secure Buffered Gateway
C#
9
star
14

openHistorian-grafana

Grafana Data Source Plugin for the openHistorian
TypeScript
8
star
15

projectalpha

Visual Studio solution that provides a jump start to developing new products from the Grid Solutions Framework - Time-Series Library.
C#
8
star
16

SIEGate

Secure Information Exchange Gateway
C#
6
star
17

pdqtracker

Phasor Data Quality Tracker
C#
6
star
18

BroccoliSharp

BroccoliSharp: A .NET implementation of the Bro Client Communications Library.
C#
5
star
19

openSEE

Open Source System Event Explorer
JavaScript
4
star
20

openhistorian-python

openHistorian Python API
Python
4
star
21

GPA-PhasorMap

Extension of the Worldmap panel plugin for Grafana 3.0 to use openHistorian Features
JavaScript
3
star
22

PQDIFExplorer

Visualization of data stored in the Power Quality Data Interchange Format
C#
3
star
23

phasorsplitter

Creates multiple streams from a single synchrophasor stream source.
C#
3
star
24

openSPM

Open Security Patch Manager
JavaScript
2
star
25

SIMProx

SNMP Proxy Service for Agent Forwarding and Database Operation Targets
C#
2
star
26

HistorianDataWalker

Example application that scans and operates on data read from the openHistorian 2.0
C#
1
star
27

openHistorianGrafanaAlarmPanel

Grafana openHistorian Alarm Panel for Device Status
TypeScript
1
star
28

gpa-gemstone

gpa-gemstone @org npm repository
TypeScript
1
star
29

PhasorClockPlugin-grafana

JavaScript
1
star
30

Grafana-oh-datadownload

This Grafana widget lets the user download data from the OH as a .csv file
TypeScript
1
star
31

PhasorDatasource-grafana

initial commit
JavaScript
1
star
32

SOETools

Sequence of Events Tools
JavaScript
1
star
33

TrenDAP

Trending Data Analytics Platform
JavaScript
1
star
34

MiPlan

General Plan Development Tool with Action Item Tracking and Alarming System
JavaScript
1
star
35

SEBrowser

System Event Browser
TypeScript
1
star
36

SOEEngine

Provides analysis routines for Sequence of Events
JavaScript
1
star
37

OPCAdapters

OPC-UA Adapters for the Grid Solutions Framework Time-series Library
C#
1
star
38

HistorianDataCompletenessReporter

Example application that scans and operates on data read from the openHistorian 2.0
C#
1
star
39

MiMD

Meter diagnostic monitoring service.
JavaScript
1
star
40

phasorMap-grafana

A grafana panel that will allow for plotting phasors on a map.
JavaScript
1
star
41

SystemCenter

Manager tool for managing configuration and metadata for OpenXDA, PQDashboard, OpenMIC, any future disturbance product, and other external processes (ie: Maximo, PQView, etc ).
TypeScript
1
star