IEC 61850 Source Code Library
Our IEC 61850 Source Code Library provides a quick and cost effective way to implement an
IEC 61850 Server, Client, GOOSE, or Sampled Values. The library was designed from the
ground up to fully support IEC 61850 services and efficiently use resources. We offer our Library
Components in ANSI-C, C++, or .NET Components for maximum flexibility across many different
applications.
For 25 years, Triangle has provided the diagnostic tools and protocol expertise to our customers
to support all their conformance & certification needs. We will work with you, as needed, to
ensure that your implementation of our source code libraries will pass all industry related
certification and conformance testing.
Overview
Capabilities
Library Components
Benefits
Server Features
Client Features
GOOSE
9-2 Sampled Values
90-5 Synchrophasor
Data Models Supported
.NET Components
Evaluation Kit
What's New
Related Products
o Test Suite Pro (TSP)
o Distributed Test Manager (DTM)
o SCL Navigator
What's New
ANSI-C Library
Current Release: V11.0.5
Release Date: Dec 2018
C++ Library
Current Release: V4.3.3
Release Date: Jan 2018
.NET Components
Current Release: V4.3.3 Release Date: Jan 2018
Newest Features in Latest ANSI-C Library Release
Updates status value for BSC
Segmentation of reports does not depend on OptFlds
Add Routable ( 90-5 ) to SAV example application
TASE.2 allow writing DSTS enable without alternate access
Removed eval handler for 't' attributes
Improve 64 bit handling
Store scaleFactor, units, multiplier for extRefs
Provide method to find related DAs for extRefs
Updated error codes for ConfirmEditSGValues
Add API to set trace level and mask at runtime
New API to start multiple servers from SCD file without reparsing the SCL
Support application managing GOOSE enable outside the stack context
Allow MMS authentication without TLS
Improve tracing for connect errors
Support IEC61850 64 bit datatype
Added installer for NDIS drivers
Add Journal entry and ReasonCode support
Update sample certificates for MMS and TLS
Reinitialize CBBs and services when creating a new stack context
Reorg 2 lines of code in jour_if.c because VS2017 optimizer can't make 2+2 equal 4
Key Additions to Recent Releases of ANSI-C Library
V11.0.4
- Addressed conformance issues:
- Clear GoEna and set NdsCom when GOCB configuration is not complete
- Release ResvTms (sBr23)
- Automatic reservation of RCBs (TISSUE 1477)
- Improved microsecond timers
- Added support for using system clock for timestamps on Windows®
- Added support for TCP keepalive setting configuration at runtime on Windows ®
- Added support for SE FC in Edition 1 SCL Files
- Updated GOOSE retransmission scheme to use monotonic clock
v11.0.3
- Added a common subscribe function for routable GOOSE (R-GOOSE) and traditional multicast
GOOSE
- Implemented several Technical Issues (TISSUES) including TISSUE 1369 and 1091
- Improved handling of GOOSE messages after TAL expiration
- Improved timing resolution for Windows® implementations
- Updated examples for implementing IEC 61850 servers
- Update to Linux® static allocation of semaphores and events
- Improvements to time calculations with microsecond resolution
- Several other enhancements - see release notes for full list
v11.0.1
- Fixed issue with failure to disable report control blocks upon loss of two-party-assocation
- Improved GOOSE by fixing timeout miscalculation and unbind error
- Improved compiler warnings
- New macro to allow a modifier for functions likely to be exposed
v11.0
- This major release improves the library for more streamlined IEC 61850 implementations and
builds on the 20 year track record of dependable code and high performance.
- A new build process is provided that more closely follows typical customer use. The library
builds completely from the application directory to simplify integration into a larger
project. Multiple configuration files have been condensed into a single directory with one header
file and the application makefile.
-The code base has been significantly refactored in order to streamline library implementations
and make debugging easier.
- The target layer has been abstracted and consolidated. Linux and WindowsTM targets are
provided and OS specific code has been collected to make porting easier. The Linux target has
improved threading and semaphore handling.
- A new consistent tracing mechanism has been added. Applications can filter on messages for
different library modules (like SCL parsing, transport, ACSI services, etc.) and can filter by
message severity.
- Most examples have been simplified to more clearly demonstrate particular functionality.
v10.5
Initial support for routable Sampled Values and GOOSE (according to Part 90-5 of IEC 61850
standard) has been added. This new capability allows Sampled Values and GOOSE messages
to be routed across wide area networks so that substations in different locations can share
voltage, current, phase, and frequency data from phase measurement units. Sharing these
accurate measurements and event data enables the implementation of Wide Area Measurement
and Protection and Control (WAMPAC) systems to help stabilize large, interconnected power
systems.
v10.4
Allow integrity & GI when there is connection but rptEna=False
Made changes to support Ed1 versus Ed2
Buffer integrity reports while there is no connection
Improved checking on MMS context pointers
TLS/SSL method support for PNNL
Added support for extRefs
Addressed IEC 61850 TISSUES from WG10
v10.3
Added updates for Schema 3.1
Added support for CRL updating
Improved parsing of SCL namespaces
Improved Client API reporting callbacks
Added optional compatibility with legacy IEC 62351 implementations
Added support for mixed Ed. 1/Ed. 2 systems
Added support for GOOSE Test flag
Added improvements to Tracking nodes
Updated classes and primitives for conformance testing
Added updates for Schema 3.1
Removed security checks for GOOSE/SAV (due to revisions to schema and IEC 62351)
v10.0
Added support for IEC 61850 Ed. 2
Created new XML modeling scheme
Added Ed2 Class models, Reporting and Logging Models, and Service Tracking
Added Analog control support (AnalogueValue structure as ctlVal)
Added IEC 62351 security
Changed to Ed2+Ed1 schema, adding nIedSclVersion and nSclVersion, and
changing control block instances
Changed to Ed2+Ed1 log control blocks and log definitions from SCL, including
domain specific
Added fileDirectory change (handle case of file argument to fileDirectory service
request)
Added settings Group Control Block support
Added support for arrays of SDOs
Allow for array elements in datasets
Added support which allows all Client write requests to automatically trigger
invoking evaluation handlers and reporting