IEC 60870-5-101 telegram structure
- FT 1.2 frame format is used;
- Frames with fixed and variable block length and single control characters are used;
- Hamming distance = 4;
Frame with variable length
This frame type is used to transmit user data between controlling and controlled station
byte\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
|
|
|
|
0 | Start byte 1 (0x68) | Header |
| LPCI |
| LPDU | |||||||
1 | Block length |
|
| ||||||||||
2 | Block length (copy) |
|
| ||||||||||
3 | Start byte 2 (0x68) |
|
| ||||||||||
4 | RES | PRM | FCB / ACD | FCV / DFC | Function code | Control field |
| ||||||
5 | Link address fields |
|
| ||||||||||
| (0, 1 or 2 octets) |
|
| ||||||||||
| DATA UNIT IDENTIFIER |
| ASDU |
| |||||||||
| SQ | Number of objects |
|
| |||||||||
| T | P/N |
|
| |||||||||
| Originator address (ORG, 0 or 1 octets) |
|
| ||||||||||
| ASDU address fields |
|
| ||||||||||
| (1 or 2 octets) |
|
| ||||||||||
| Information object address fields (IOA) | Info-object |
| ||||||||||
| (1,2 or 3 octets) |
|
| ||||||||||
| Object information |
|
| ||||||||||
|
|
|
| ||||||||||
|
|
|
| ||||||||||
n-1 | Checksum | Tail |
| LPCI |
| ||||||||
n | Stop byte (0x16) |
|
|
Frame with fixed length
This frame type is used for link layer services. Sometimes used as an confirmation.
byte\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
|
|
0 | Start byte 1 (0x10) |
|
| LPCI | |||||||
1 | RES | PRM | FCB / ACD | FCV / DFC | Function code | Control field |
| ||||
2 | Link address |
|
| ||||||||
| (0, 1 or 2 octets) |
|
| ||||||||
n-1 | Checksum |
|
| ||||||||
n | Stop byte (0x16) |
|
|
Single character data
Single characters are used to confirm link layer and user data transmissions.
- 0xE5 (positive acknowledge);
- 0xA2 (negative acknowledge);
Simple samples and explanations
101substation configuration: Link address = 2 octets, COT = 1 octet (ORG address not used), ASDU address = 2 octets, IOA address = 2 octets
Sample 1
10 49 0C 00 55 16
LPDU bytes | Explanation |
---|---|
10 | Start byte: frame with fixed length |
49 | Control filed: PRM-bit set (frame from primary station), function code = 9 (link status) |
0C 00 | Link address (2 octets) = 12 dec. |
55 | Checksum |
16 | Stop byte |
Sample 2
10 0B 0C 00 17 16
LPDU bytes | Explanation |
---|---|
10 | Start byte: frame with fixed length |
0B | Control field: PRM-bit not set (frame from secondary station), function code = 11 (status of link or access demand) |
0C 00 | Link address (2 octets) = 12 dec. |
17 | Checksum |
16 | Stop byte |
Sample 3
68 0B 0B 68 08 0C 00 65 01 0A 0C 00 00 00 05 95 16
LPDU bytes | Explanation |
---|---|
68 | Start byte 1: frame with variable length |
0B 0B | Block length and block length copy |
68 | Start byte 2 |
08 | Control field: PRM-bit not set (frame from secondary station), function code = 8 (user data) |
0C 00 | Link address (2 octets) = 12 dec. |
65 | Type identification: C_CI_NA_1 (counter interrogation) |
01 | Number of objects = 1 |
0A | Cause of transmission = 10 (activation confirmation) |
0C 00 | Common ASDU address (2 octets) = 12 dec. |
00 00 | Object address (2 octets) = 0 |
05 | Counter interrogation request qualifier = 5 (general counter interrogation) |
95 | Checksum |
16 | Stop byte |
Sample 4
68 0F 0F 68 08 0C 00 0F 01 03 0C 00 81 30 DA 16 00 00 07 DB 16
LPDU bytes | Explanation |
---|---|
68 | Start byte 1: frame with variable length |
0F 0F | Block length and block length copy |
68 | Start byte 2 |
08 | Control field: PRM-bit not set (frame from secondary station), function code = 8 (user data) |
0C 00 | Link address (2 octets) = 12 dec. |
0F | Type identification: M_IT_NA_1 (integrated total) |
01 | Number of objects = 1 |
03 | Cause of transmission = 3 (spontanous) |
0C 00 | Common ASDU address (2 octets) = 12 dec. |
81 30 | Object address (2 octets) |
DA 16 00 00 | BCR (binary counter value) |
07 | Quality descriptor = 7 (sequence) |
DB | Checksum |
16 | Stop byte |
Sample 4
68 2B 2B 68 08 0C 00 0B 07 03 0C 00 10 30 BE 09 00 11 30 90 09 00 0E 30 75 00 00 28 30 25 09 00 29 30 75 00 00 0F 30 0F 0A 00 2E 30 AE 05 00 85 16
LPDU bytes | Explanation |
---|---|
68 | Start byte 1: frame with variable length |
2B 2B | Block length and block length copy |
68 | Start byte 2 |
08 | Control field: PRM-bit not set (frame from secondary station), function code = 8 (user data) |
0C 00 | Link address (2 octets) = 12 dec. |
0B | Type identification: M_ME_NB_1(measured value, scaled value) |
07 | Number of objects = 7 |
03 | Cause of transmission = 3 (spontanous) |
0C 00 | Common ASDU address (2 octets) = 12 dec. |
10 30 | Object address (2 octets) of first information object |
BE 09 00 | Scaled value + QDS (quality descriptor) of first information object |
11 30 | Object address (2 octets) of second information object |
90 09 00 | Scaled value + QDS (quality descriptor) of second information object |
0E 30 | Object address (2 octets) of third information object |
75 00 00 | Scaled value + QDS (quality descriptor) of third information object |
28 30 25 09 00 | Object address + Scaled value + QDS (quality descriptor) of information object four to seven |
85 | Checksum |
16 | Stop byte |