A dotnet implementation of IEC Technical Commitee (TC) 57 for power systems management and information exchange with semantic web support
$ dotnet add package dotTC57dotTC57 is a pure .NET implementation of IEC Technical Committee (TC) 57 standards for power systems management and information exchange. This library provides a comprehensive set of C# models representing the IEC 61970 and IEC 61968 Common Information Model (CIM).
This library focuses on providing:
The core models are derived from the UML model available at the CIM User Group. The original EAP files from that site can be viewed with Sparx Enterprise Architect.
The library contains models organized according to the IEC standards structure:
These models can be used as the foundation for:
// Create power system components
var transformer = new PowerTransformer
{
mRID = Guid.NewGuid().ToString(),
name = "Transformer 1",
description = "Main power transformer"
};
// Link components together
var terminal = new Terminal
{
mRID = Guid.NewGuid().ToString(),
name = "Terminal 1",
ConductingEquipment = transformer
};
// Add specifications
var transformerInfo = new PowerTransformerInfo
{
mRID = Guid.NewGuid().ToString(),
name = "100MVA Transformer Spec"
};
The library includes comprehensive XML documentation that can be used to generate API documentation using standard .NET documentation tools like DocFX:
# Install DocFX
dotnet tool install -g docfx
# Create documentation project
mkdir -p docs
cd docs
docfx init
# Configure docfx.json to point to your project
# Build documentation
docfx metadata
docfx build
docfx serve _site
These models provide the foundation for:
Contributions to improve the models are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.