dotTC57 1.0.0

dotnet add package dotTC57 --version 1.0.0
                    
NuGet\Install-Package dotTC57 -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="dotTC57" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="dotTC57" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="dotTC57" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add dotTC57 --version 1.0.0
                    
#r "nuget: dotTC57, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package dotTC57@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=dotTC57&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=dotTC57&version=1.0.0
                    
Install as a Cake Tool

dotTC57

dotTC57 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).

Overview

This library focuses on providing:

  1. A complete and well-documented object model representing the IEC TC57 electrical standards
  2. Fully-typed C# classes with XML documentation
  3. Models suitable for integration into power system applications

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.

Model Structure

The library contains models organized according to the IEC standards structure:

IEC61970 Models

  • Base: Core power system resource models, measurements, and domain types
  • Dynamics: Dynamic behavior models including:
    • Excitation systems
    • Power system stabilizers
    • Turbine-governors
    • Synchronous and asynchronous machine dynamics
  • Generation: Generation models
  • Topology: Network topology models
  • Wires: Transmission and distribution equipment models

IEC61968 Models

  • AssetInfo: Information about physical assets including:
    • Equipment standards (ASTM, DIN, IEC, IEEE, ISO, TAPPI)
    • Cable and wire specifications
    • Power transformer specifications
  • Assets: Asset models and asset containers
  • Common: Common components shared across the model
  • Customers: Customer models and agreements
  • Metering: Metering components and readings
  • Operations: Operational models
  • Work: Work management and scheduling

Usage

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"
};

Documentation

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

Model Implementation Details

  • Complete Implementation: All classes from the IEC 61970 and IEC 61968 standards are included
  • Strongly Typed: Native .NET types used throughout (string, double, int, etc.)
  • Well Documented: XML documentation comments on all classes, properties, and enumerations
  • Namespace Organization: Clear namespace hierarchy matching the IEC standard structure

Future Development

These models provide the foundation for:

  • Integration with data persistence layers
  • Power system analysis applications
  • RDF/semantic web implementations
  • Import/export to industry standard formats

Contributing

Contributions to improve the models are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 342 7/25/2025