Skip to main content
  • IEC 61850 Programming with C#
  • Pre-recorded sessions: 4 hours

In this course, you will learn the principles of IEC 61850 programming and building monitoring and SCADA systems for networks that use IEC 61850 protection relays or IEDs (Intelligent Electronic Devices). To do so, first, you will learn about the IEC 61850 standard, including the concept of this standard, the simulation of the IEC 61850 GOOSE, and the IEC 61850 MMS reports. And how to read or write data and control commands to IEDs.

Next, you will learn Programming in IEC61850 Standard. In this chapter, you will learn how to use the IEC61850 Libraries for Programming in C# Language which are prepared by us and attached to the course as a gift. Then you will learn how to write a code for discovering and reading the substation IEDs, Functions, and Data Models. After that, you will learn how to write code to create DataSet and Report from the Data Models and set trigger options.

Course Content:

  • Basics of IEC61850
  • Sample Value
  • GOOSE Protocol
  • MMS Protocol
  • Simulation of IEC 61850 Data Models
  • Simulation of IEC 61850 DataSet
  • Simulation of IEC 61850 GOOSE
  • Simulation of IEC 61850 MMS
  • Programming in IEC61850 Standard
  • Necessary Libraries for Programming to C# Language in IEC61850 Standard
  • Discovering Substation IEDs, Functions, and Data Models
  • Read Data from Substation IEDs (Protection Relays,…)
  • Create DataSet From Functions and Data Models and Read This DataSet
  • Create a Report and Set Triggers
  • Conclusion

Learn programming SCADA software based on IEC 61850 for your station as you like!

Supplementary Files:

  • Source Code and Library for IEC 61850
  • Visual Studio Code for Developers 2023
  • C# Ultimate Guide – Beginner to Advanced
  • IEC 61850 Communication Networks and Systems In Substations: An Overview for Users
  • Click here to download supplementary files

Source Code and Library for IEC 61850

The IEC 61850 source code library allows a fast and cost-efficient implementation of the IEC 61850 protocols (MMS, GOOSE, Sampled Values) into devices and applications. The APIs are designed to be very easy to use. The basic library is written in C (C99 compliant to provide maximum portability). Due to its hardware and platform-independent design, it can quickly deploy on any platform.

The C# library allows the creation of a managed DLL component that can easily be deployed in .NET applications. It is a wrapper of the C library. It can be used to be integrated into GUI applications, SCADA systems …

  • Compatible with .NET and Mono
  • Runs on Windows, Linux, and other platforms supported by .NET and Mono
  • Very easy-to-use API
  • Support for MMS client/server
  • Support for GOOSE/SV subscribers

Features Source Code Library

  • Easy to use IEC 61850 oriented API
  • MMS, GOOSE, and Sampled Measured Values (SMV)
  • TLS support
  • Support editions 1, 2, and 2.1 of the standards
  • Configurable generation of server data models from SCL/CID file at runtime
  • Peer-reviewed and secure source code
  • C library (C99) with C and C#/.NET API

Source codes that you see in this package:

  • MMS client/server, GOOSE (IEC 61850-8-1)
  • Sampled Values (SV – IEC 61850-9-2)
  • Support for buffered and unbuffered reports
  • Online report control block configuration
  • Data access service (get data, set data)
  • online data model discovery and browsing
  • all data set services (get values, set values, browse)
  • dynamic data set services (create and delete)
  • log service
    • flexible API to connect custom databases
    • comes with sqlite implementation
  • MMS file services (browse, get the file, set file, delete/rename the file)
    • download COMTRADE files
    • upload firmware or configuration files
  • Setting group handling
  • Service tracking (v1.5)
  • GOOSE and SV control block handling
  • TLS support

Application that can be created with this library:

  • Communications in Substations (MMS/GOOSE/SV)
  • Communications for Wind Power Plants (IEC 61400-25)
  • Communications for Decentralized Energy Resources (DER – IEC 61850-420)
  • Intelligent Electronic Devices (IED)
  • Measurement Devices
  • SCADA Systems
  • Monitoring
  • Test systems

Easy programming and development of Scada and Monitoring System for protection Relays and other devices that compatible with IEC 61850 Standard with this package


  • IEC61850 Standard  Communication Protocol Fundamentals
  • IEC61850 Standard  Standard Communication Protocols Simulation
  • Programming for IEC61850 Standard Protocols
  • Detect, Read, and Write values on IEDs (Relay Protections, Power Management, Meterings,…)
  • IEC 61850 Programming
  • IEC 61850 C# Programming in Visual Studio
  • IEC 61850 SCADA Programming
  • IEC 61850 MMS Programming