https://www.freyrscada.com/iec-60870-5-101.php
IEC 60870-5-101 (also known as IEC 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.
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 possibleApplication 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 TransferAddress Space
Common Address of ASDU: 1..65535
Information object address: 1..16777215
Link address: 0..65535
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
- Our IEC 101 Library supports Cyber-security Features, based on IEC 62351 security standard (Parts 3, 5, and 8)
- Supported Information Types
- Protocol Features