openPDC v2.9.118
This is the official release for openPDC v2.9.118
This is version 2.9.118 of the openPDC, released on November 17, 2021
NOTE: If you are upgrading from a prior version of the openPDC, older than v2.9, you must migrate your existing configuration to use the latest database schema when the Configuration Setup Utility is run after the installation completes - this version includes schema updates.
Updates Since v2.9 May Release
- Improvements for parsing / generating spanned IEEE C37.118-2011 Configuration 3 Frames
- Fixes for STTP Reverse Proxy subscribing server auto-reconnection
- Optimizations to PDC initialization for non-historian associated devices
- CSU updates to adjust default value of max thread pool values to reduce context switch issues on larger machines
- Added option to allow disconnection event for file-based inputs when end-of-file is encountered
- Improved Grafana metadata
select
operations for variable queries - Added slice-based expression
Eval
function to GSF Grafana functions - Improved access locking around legacy OH1.0 metadata files
- Added option to OSI-PI output adapter to only synchronize the
AlternateTag
field - Fixed manager statistic overflow issues related to average latency calculations
- Improved synchrophasor phase guessing to include high confidence options
- Updated phasor measurement mapper data stream monitor to allow restarts for passive connections
- Improved operation of the GEP Data Extraction tool
- Added extra security to loading tag template files with calculation operations
- Improved
SynchronizeLocalClock
adapter device time validation operations - Updated usages of
CreatePointTag
to apply analog and digital label parameters where applicable - Added SEL PDC Import tool to installation
- Added APP DFR Import tool to installation
- Updated included PMUConnectionTester installer to v4.6.7
- Updated included StreamSplitter installer to v1.1.3
- Improved default tag-naming expressions when applied from
UpdateTagNames
tool:
{CompanyAcronym}_{DeviceAcronym}[?{SignalType.Source}=Phasor[:eval{'{PhasorLabel}'.Trim().ToUpper().Replace(' ','_')}_eval{'{SignalType.Abbreviation}'.Substring(0,1)}eval{'{Phase}'=='+'?'1':('{Phase}'=='-'?'2':'{Phase}')}[?{BaseKV}>0[_{BaseKV}]][?{SignalType.Suffix}=PA[.ANG]][?{SignalType.Suffix}=PM[.MAG]]]][?{SignalType.Acronym}=ALOG[:eval{('{Label}'.Trim().Length>0?'{Label}'.Trim().ToUpper().Replace(' ','_'):'ALOG'+((int){SignalIndex}).ToString().PadLeft(2,(char)48))}]][?{SignalType.Source}!=Phasor[?{SignalType.Acronym}!=ALOG[:{SignalType.Acronym}[?{SignalIndex}!=-1[eval{((int){SignalIndex}).ToString().PadLeft(2,(char)48)}]]]]]
See latest updates since previous release.
File Hashes (SHA256)
Synchrophasor.Binaries.zip => 7A483F0CE8B1FA63DC7BCABEC48D0C813BD0AE8D8BB5ABB924E95875AB0D6C07
Synchrophasor.Installs.zip => BBE6D0878319B7379C7E4598F3D546878B51CBBE2912E30247F7A6CD4B6626BF
Synchrophasor.Scripts.zip => 6C5A2385F92AAB7E3524D348B40856C002915D6D004DAF745F14F2AC38401DE9