Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Official stable release of version 2.4 of the openPDC (v2.4.120).
See full change log since last release.
Note: the PMU Connection Tester is no longer automatically included with the installer package and will need to be installed separately:
New Features and Improvements
- GrafanaAdapters: Added full set of aggregation and operational functions that operate on a per-series or per-set for all data sources that implement Grafana interfaces. See documentation.
- LogFileViewer: Added new enhanced general logging capabilities along with a new application, Log File Viewer, that is used to analyze logs.
- PowerCalculations: Added calculators for wrapping angle difference and line impedance with resistance, reactance, conductance and susceptance results - includes both rectangular and polar based outputs.
- PowerCalculations: Updated average frequency calculator to (1) exclude NaN values from average results, (2) allow definable unreasonable thresholds, (3) improve flat-line value detection to throw out repeating values, and (4) added flag to AverageFrequency calculator to allow unreasonable results, e.g., zero, to be reported as NaN.
- GSF.PhasorProtocols.UI: Updated OutputStream data model to accommodate auto-assignment of "auto public config frame flag" based on current channel definitions
- GSF.TimeSeries: Added up-time statistics for system, subscriber, publisher, input streams and output streams.
- GSF.TimeSeries: Added a new enhanced version of the time-series special compression algorithm, automatically enabled for new connections, used with the Gateway Exchange Protocol that uses much less bandwidth. Add
; compression=trueto connection string of existing GEP subscriptions to enable.
- GSF.TimeSeries: Created a lookup cache for the main adapter meta-data using dictionary based lookups. This improved load times for input adapters on large systems (e.g., from 160 seconds to less than 1 second in some cases).
- GSF.TimeSeries: Updated measurement definitions to carry meta-data as part of measurement key with an internal reference inside measurement implementations to reduce total memory footprint requirements for new measurements.
- GSF.Core: Added a static timer class to allow many hundreds of scheduled events that run at the same interval to be associated with a single wait event instead of creating a new timer for each event (e.g., as hundreds of devices needing to check statistics every second) - this alleviates thread pool exhaustion that can occur when hundreds of timer events get executed at the same time.
- PhasorProtocolAdapters: Fixed issue in custom IEEE C37.118 concentrator output streams where phasors were being reordered if a cell had 10 or more phasors.
- PhasorProtocolAdapters: Updated IEEE C37.118 concentrator to allow an explicit config frame 1 to be returned when requested instead of defaulting to config frame 2 - this corrects issues with SEL RTAC devices connecting to openPDC.
- PhasorProtocolAdapters: Corrected issue for output stream mappings when using PMU source device acronyms that are longer than 16 characters.
- DataSubscriber: Updated measurements received with GEP to apply any linear adjustments defined in the local configuration.
- GSF.Core: Added code to ensure that log files won't become deadlocked if an error occurs during rollover.
- GSF.TimeSeries: Updated DataSubscriber meta-data synchronization to exclude calculation and alarm signals from the device measurement removal processing such that if a local subscription creates new calculations associated with a subscribed device, the locally created measurements will not get automatically removed at the next synchronization.
openHistorian 1.0 Time-Series Web Service Fix
If you use the web services hosted by the local openHistorian 1.0 adapter, download this patch to fix the timestamps displayed when accessing the latest archived values through the Time-Series Web Service. See GridProtectionAlliance/gsf#18 for more details.