IEC60870-5-101/104
C Source Code Library IEC 60870-5 (IEC 104 and IEC 101)
Our library offers essential support for Companion Standard IEC 101 (CS101) and IEC 104 (CS104) of the IEC standard series, vital for telecontrol applications (IEC 60870-5). Widely employed for communication between central stations (controlling station) and outstations (controlled station) in electrical power systems.
The C source code library enables swift and cost-efficient implementation of IEC 60870-5-101 and IEC 60870-5-104 protocols in embedded devices and applications. Designed with intuitive APIs for ease of use and flexibility, this library is written in C (C99 compliant for maximum portability). Its hardware and platform-independent design ensures seamless deployment across various platforms, enhancing
accessibility and efficiency.
Master/Slave (CS 101 – serial communication)
Usage examples code
Support for all standard message types
Client/Server (CS 104 – TCP/IP)
Compatible with latest versions of IEC 60870-5-101 and IEC 60870-5-104
TLS support for CS 104
- 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
- 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)
Secure Authentication
MZ Automation now offers Secure Authentication as an optional extension for the IEC 60870-5-101/104 C libraries. This feature is designed for users who need to comply with enhanced security requirements as outlined in IEC 60870-5-7 and IEC 62351-5.
Key Features
- A-profile security (Application layer message authentication)
- Suports Challenge/Reply and Aggressive Mode mechanisms
- Built using the IEC 60870-5-7:2013 and IEC 62351-5:2013 editions
- Compatible with both CS 101 and CS 104 protocols
- Enables detection of message tampering through HMAC-based authentication
Important Notes
- This security feature is not part of the standard library package and is available under a separate commercial license
- The secure authentication module is not available as open source
- At this time, the security extension conforms to Edition 1 (2013) of the standard
- Support for the newest versions (IEC 60870-5-7:2025 and IEC 62351-5:2023) are also in progress and will be released at a later date
If your application requires secure message authentication for IEC 60870-5 communication, please contact us to discuss licensing options or integration details
Why Choose our IEC60870-5-101/104 (IEC104 and 101) Protocol Library?
For more details on our offerings or to discuss how we can assist you in integrating the IEC 60870-5-101/104 Protocol Library into your systems, please contact us. Our team is ready to provide you with the information and support you need to make the most of our protocol library
Commercial License
To integrate our IEC 60870-5-101/104 Protocol Library into commercial products, a commercial license is required. This license enables you to develop and distribute your own closed-source applications. Additionally, the commercial license provides access to professional support and maintenance services, ensuring you receive expert assistance and regular updates to keep your systems running smoothly.
Open Source Version (Non Commercial Use)
Parts of the library are available as open-source. The open-source version allows you to get started with the protocols, learn about their applications, and use the library as a base for your own GPLv3 compliant open-source applications. This version is ideal for educational purposes and non-commercial projects, providing a comprehensive introduction to the IEC 60870-5-101 and IEC 60870-5-104 protocols.
Any Question?
If you have any questions or need assistance, please don’t hesitate to contact us through our contact form. We are committed to responding to all inquiries as quickly as possible and providing the information you need.
Merzhauser Str. 76A
79100 Freiburg
Germany
+49 7681 - 2091980
info@mz-automation.de
Company
About us
What we do
Links
Products
Privacy Policy
Legal Information
FAQ
Contact
Merzhauser Str. 76A, 79100 Freiburg
info@mz-automation.de
+49 7681 – 20 91 980