IEC 60870-5-101 telegram structure

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)

 

 

 

Type identification

DATA UNIT IDENTIFIER

 

ASDU

 

 

SQ

Number of objects

 

 

 

T

P/N

Cause of transmission (COT)

 

 

 

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.

 

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
29 30 75 00 00
0F 30 0F 0A 00
2E 30 AE 05 00

Object address + Scaled value + QDS (quality descriptor) of information object four to seven

85

Checksum

16

Stop byte