IEC 60870-5-101 IEC 60870-5-101 (also known as IEC 870-5-101) is an international standard, released at the beginning of the 90ies by  the IEC (International Electrotechnical Commission).

The protocol has found widespread use in the energy sector, and is still used today. It is based on the EPA architecture (Enhanced Performance Architecture) and defines only the physical link and application layers of the OSI model.
The IEC Technical Committee 57 ( Working Group 03) developed a protocol standard for tele-control, tele-protection and associated telecommunications for electric power systems. The result of this work is IEC 60870-5.

Five documents specify the base IEC 60870-5. The documents are:

  • IEC 60870-5-1 Transmission Frame Formats
  • IEC 60870-5-2 Data Link Transmission Services
  • IEC 60870-5-3 General Structure of Application Data
  • IEC 60870-5-4 Definition and coding of Information Elements
  • IEC 60870-5-5 Basic Application Functions

The IEC Technical Committee 57 also generated a companion standard IEC 60870-5-101 especially for remote controlled units RTU, connected to a Controlling Station either via V24(RS232) or RS485 serial communication. The IEC 60870-5-101 is based on the five documents IEC 60870-5-1 to 5.

Interoperability between devices by different vendors is ensured by the interoperability list, which is defined by the standard. In the list, the function range is defined for each device by marking the applicable functions. The common denominator between different vendor lists limits the possible function range.

As the original standard left more room for interpretation, there were many different implementations on a wide range of different devices many of which are mutually incompatible. To remedy this situation, major energy utilities, such as RWE, Bayernwerke (E.ON), have developed their own IEC 60870-5-101 based standards. The "Norwegian IEC 870-5-101 User Convention", managing line redundancy in particular, has found wide acceptance in Scandinavian countries.

IEC 60870-5-101 is known for the resilience of its link layer and for its simply structured application layer. The main focus was placed on on performance definition, so that some information needed for data decoding is not transmitted. For data decoding to work, parameter settings such as information object length, ASDU address length etc. need to be correct. This is not much of a problem, as interoperability lists help to achieve this.

Supported Information Types


Process information in monitoring direction :

 

1 Single point Information M_SP_NA_1
2 Single point information with time tag M_SP_TA_1
3 Double point information M_DP_NA_1
4 Double point information with time tag M_DP_TA_1
5 Step position information M_ST_NA_1
6 Step position information with time tag M_ST_TA_1
7 Bit string of 32 bit M_BO_NA_1
8 Bit string of 32 bit with time tag M_BO_TA_1
9 Measured value, normalized value M_ME_NA_1
10 Measured value, normalized value with time tag M_ME_TA_1
11 Measured value, scaled value M_ME_NB_1
12 Measured value, scaled value with time tag M_ME_TB_1
13 Measured value, short floating point value M_ME_NC_1
14 Measured value, short floating point value with time tag M_ME_TC_1
15 Integrated totals M_IT_NA_1
16 Integrated totals with time tag M_IT_TA_1
17 Event or protection equipment with time tag M_EP_TA_1
18 Packed start events of protection equipment with time tag M_EP_TB_1
19 Packed output circuit information of protection equipment with time tag M_EP_TC_1
20 Packed single point information with status change detection M_PS_NA_1
21 Measured value, normalized value without quality descriptor M_ME_ND_1

 

Process telegrams with long time tags ( 7 octets ) :

 

30 Single point information with time tag CP56Time2a M_SP_TB_1
31 Double point information with time tag CP56Time2a M_DP_TB_1
32 Step position information with time tag CP56Time2a M_ST_TB_1
33 Bit string of 32 bit with time tag CP56Time2a M_BO_TB_1
34 Measured value, normalized value with time tag CP56Time2a M_ME_TD_1
35 Measured value, scaled value with time tag CP56Time2a M_ME_TE_1
36 Measured value, short floating point value with time tag CP56Time2a M_ME_TF_1
37 Integrated totals with time tag CP56Time2a M_IT_TB_1
38 Event or protection equipment with time tag CP56Time2a M_EP_TD_1
39 Packed start events of protection equipment with time tag CP56time2a M_EP_TE_1
40 Packed output circuit information of protection equipment with time tag CP56Time2a M_EP_TF_1

 

Process information in control direction :

 

45 Single command C_SC_NA_1
46 Double command C_DC_NA_1
47 Regulating step command C_RC_NA_1
48 Set point command, normalized value C_SE_NA_1
49 Set point command, scaled value C_SE_NB_1
50 Set point command, short floating point value C_SE_NC_1
51 Bitstring 32 bit C_BO_NA_1

 

Command telegrams with long time tag ( 7 octets ) :

 

58 ( IEC 104 ) Single command with time tag CP56Time2a C_SC_TA_1
59 ( IEC 104 ) Double command with time tag CP56Time2a C_DC_TA_1
60 ( IEC 104 ) Regulating step command with time tag CP56Time2a C_RC_TA_1
61 ( IEC 104 ) Set point command, normalized value with time tag CP56Time2a C_SE_TA_1
62 ( IEC 104 ) Set point command, scaled value with time tag CP56Time2a C_SE_TB_1
63 ( IEC 104 ) Set point command, short floating point value with time tag CP56Time2a C_SE_TC_1
64 ( IEC 104 ) Bitstring 32 bit with time tag CP56Time2a C_BO_TA_1

 

System informationen in monitoring direction :

 

70 End if initialization M_EI_NA_1

 

System information in control direction :

 

100 (General-) interrogation command C_IC_NA_1
101 Counter interrogation command C_CI_NA_1
102 Read command C_RD_NA_1
103 Clock synchronization command C_CS_NA_1
104 Test command C_TS_NB_1
105 Reset process command C_RP_NC_1
106 Delay acquisition command C_CD_NA_1
107 ( IEC 104 ) Test command with time tag CP56Time2a C_TS_TA_1

 

Parameter in control direction :

 

110 Parameter of  measured value, normalized value P_ME_NA_1
111 Parameter of  measured value, scaled value P_ME_NB_1
112 Parameter of  measured value, short floating point value  P_ME_NC_1
113 Parameter activation P_AC_NA_1

 

File transfer :

 

120 File ready F_FR_NA_1
121 Section ready F_SR_NA_1
122 Call directory, select file, call file, call section F_SC_NA_1
123 Last section, last segment F_LS_NA_1
124 Ack file, ack section F_AF_NA_1
125 Segment F_SG_NA_1
126 Directory F_DR_TA_1
127 ( IEC 104 ) QueryLog – Request archive file F_SC_NB_1

Protocol Features

  • Physical Layer

    PCM, Full-duplex operation in balanced mode, half-duplex operation in unbalanced mode

  • Link Layer

    Asymmetric transmission (unbalanced mode): Party line or point to point
    Symmetric transmission (balanced mode): Only point to point is possible

  • Application Layer

    On-demand transmission (e. g. single indications, analogs, ...)
    Spontaneous transmission (e. g. single indications with time tag, ...)
    Direct command transmission (with select before operate)
    Clock synchronization
    File Transfer

  • Address Space

    Common Address of ASDU: 1..65535
    Information object address: 1..16777215
    Link address: 0..65535





  • Royalty-free Readily deployable IEC 101 Server and Client Stack on royalty-free basis
  • Developed in C language and can be ported to any Microcontroller platform
  • Enables faster firmware development of IEC 60870-5-101 enabled field devices
  • Supports all the major ASDU(Monitor, Control, Parameter, File Transfer)

Salient Features

  • Written in ANSI-Standard C Source Code, under a strict corporate coding standard, and supports C++, C#
  • Can be used with or without a Real Time Operating System (RTOS).
  • Transparent licensing scheme - No hidden costs, No deferred payments.
  • High performance, robust and scalable architecture
  • Provides a simple method for systems Integrators and OEMs to utilize standard tools to implement their systems
  • Our stacks are fully compliant with "POSIX" and tested in ubuntu, feroda, Debian, QNX, Linux Embedded OS and Various Cross compiler tool chains.
    Our all protocol stack supports "POSIX compliant operating system"
  • Context-based event-driven model
  • Multiple Server and Client Simulation
  • In a Single Server(link) simulate Multiple Stations (Common Address)
  • Supports Background Scan, Cyclic Data Transmission, Double Transmission, Redundancy and File transfer.
  • Balanced Mode and Unbalanced Mode Support
  • Supports "Select-Before-Operate" and "Direct-Execute" command execution modes
  • Source Code Library allows a fast and cost efficient implementation
  • APIs are designed to be very easy to use and flexible

Licensing

Source Code License model:

In this License model, We deliver complete source code of the protocol implementation according to the customer specified operating system(Windows, Linux, QNX...).
Customer may embed the library into unlimited copies of Multiple end-use products for worldwide manufacturing, branding and distribution. Original equipment manufacturers choose this model. They usually have multiple products in their pipeline.

Compiled Library License model:

In this License model, We deliver Dynamic/ Static compiled library (dll / lib) of the protocol implementation according to the customer specified operating system(Windows, Linux, QNX...).
Customer may embed the library into unlimited copies of Multiple end-use products for worldwide manufacturing, branding and distribution. Original equipment manufacturers choose this model. They usually have multiple products in their pipeline.


You can also try our IEC 60870-5-101 Server Simulator, Client Simulator, IEC 60870-5-101 Windows SDK and IEC 60870-5-101 Linux SDK


For more details, Contact Us : Contact


Customer Quotes

  • Edward Li

    It has been a pleasure to work with FreyrSCADA. Pricing is competitive, and most importantly,the service and delivery have allowed us to meet our design demands.Integration was seamless.

  • B.Tech Inc

    Thanks for your professional works. It's has been very use full to us. We saved a lot of hours by using your libraries.

  • Active Sensors

    I did not run into any issues. The port went well.Using MMPL to poll data from competitor's instruments and converting the data to be used by our battery management software.



Download Evaluation Kit - IEC 60870-5-101 Development Bundle

New updated Version of IEC 60870-5-101 Simulator & SDK (Software Development Kit) is available now.
FreyrSCADA IEC-60870-5-101 Development Bundle
In the Development Bundle, We included IEC 60870-5-101 Server & Client Simulator, Windows & Linux SDK.


* Required fields

We recommend using your Bussiness email address.
Your contact information will not be sold or used outside of our organization as per our privacy policy.