IEC 60870-5-101/104 C Source Code Library

MZ Automation / Products / IEC 60870-5-101/104 C Source Code Library

IEC 60870-5-101/104 C

Source Code Library

This library provides support for the Companion Standard 101 (CS101) and 104 (CS104) of the IEC standard series for telecontrol applications (IEC 60870-5) and is commonly used in communication between a central station (controlling station) and an outstation (controlled station) in electrical power systems.

The C source code library allows a fast and cost efficient implementation of the IEC 60870-5-101 and IEC 60870-5-104 protocols into embedded devices and applications. The APIs are designed to be very easy to use and flexible. The library is written in C (C99 compliant to provide maximum portability). Due to its hardware and platform independent design it can be easily deployed on most platforms.

Technical properties

  • Master/Slave (CS 101) and Client/Server (CS 104) implementation
  • Implements all command, monitoring, parameter, file message types
  • Available as portable C99 compliant source code
  • object oriented design in standard C
  • Comes with a lot of examples to simplify learning
  • Drivers for Linux/ucLinux, Windows, MacOS/BSD, FreeRTOS, VxWorks, lwIP, FNET, …
  • Tested on x86/x64, Coldfire, ARM9, ARM Cortex-A, ARM Cortex-M, PowerPC, MIPS
  • Field proven
  • Easy to use API
  • Compatible with the latest version of IEC 60870-5-101 and IEC 60870-5-104

Protocol features

  • CS 101 master/slave (RS 232/485 serial communication)
  • CS 101 balanced and unbalanced mode
  • CS 104 client/server (TCP/IP)
  • CS 104 redundancy group supported
  • Support for all standard message types (M_XX, C_XX, P_XX, F_XX) for messages in monitoring direction, commands, parameter loading, file transmission.
  • Send and receive messages in standard and reverse direction
  • spontaneous transmission of events
  • periodic transmission of measurements
  • command and set point transmission (direct and select/execute)
  • Support for interrogation and counter interrogation support
  • Clock synchronization command supported
  • Support for CP24Time2a and CP56Time2a time tags
  • TLS support (secure communication according to IEC 62351)

Open source and Commercial License available

For this library we provide a dual-license model. You can freely use the library for testing, evaluation, educational purposes and open-source projects under the terms of the GPLv3 license. For commercial projects you can purchase an easy-to-use and affordable commercial license, together with professional support.


Links to user guide and API documentation:
User Guide

API documentation

Request a quote

    If you submit inquiries to us via our contact form, the information provided in the contact form as well as any contact information provided therein will be stored by us in order to handle your inquiry and in the event that we have further questions. We will not share this information without your consent. ┬╗Privacy Policy