Industrial communication networks - Fieldbus specifications - Part 6-2: Application layer protocol specification - Type 2 elements

IEC 61158-6-2:2019 provides common elements for basic time-critical and non-time-critical messaging communications between application programs in an automation environment and material specific to Type 2 fieldbus. The term “time-critical” is used to represent the presence of a time-window, within which one or more specified actions are required to be completed with some defined level of certainty. Failure to complete specified actions within the time window risks failure of the applications requesting the actions, with attendant risk to equipment, plant and possibly human life.
This International Standard specifies interactions between remote applications and defines the externally visible behavior provided by the Type 2 fieldbus application layer. The purpose of this document is to define the protocol provided to
a) define the wire-representation of the service primitives defined in this document, and
b) define the externally visible behavior associated with their transfer. This document specifies the protocol of the Type 2 fieldbus application layer, in conformance with the OSI Basic Reference Model (ISO/IEC 7498-1) and the OSI application layer structure (ISO/IEC 9545).
This fourth edition includes the following significant technical changes with respect to the previous edition:
- clarifications of response PDU formats in case of failure in 4.1.5;
- clarifications of connection request priority definition and handling in 4.1.6.5 and 4.1.6.6;
- clarification of connection remaining path in 4.1.6.12;
- extensions of general syntax in 4.1.8.1;
- extensions and clarifications of Identity object PDUs in 4.1.8.2;
- updates of Assembly object PDUs in 4.1.8.4;
- extensions and clarification of Time sync object PDUs in 4.1.8.6;
- updates of Parameter object PDUs in 4.1.8.7;
- extensions of Connection Manager object PDUs in 4.1.8.8;
- clarifications of Connection object PDUs in 4.1.8.9;
- extensions and clarifications of message and connection paths in 4.1.9;
- updates of object and service class codes in 4.1.10 and error codes in 4.1.11;
- updates of data types in 4.2.4, 5.1.3 and 5.2.3;
- updates of the encapsulation abstract syntax in 4.3;
- updates to the DLL mapping protocol machine 2 in Clause 11;
- miscellaneous editorial corrections.

Réseaux de communication industriels - Spécifications des bus de terrain - Partie 6-2: Spécification du protocole de la couche liaison de données - Eléments de type 2

L’IEC 61158-6-2:2019 fournit des éléments communs pour les communications à temps critique ou non entre des programmes d'application dans un environnement et avec un matériel d'automation spécifiques aux bus de terrain de type 2. Le terme "à temps critique" signale l'existence d'une fenêtre temporelle dans laquelle est exigée la réalisation d'une ou de plusieurs actions spécifiées, avec un niveau de certitude défini. La non-réalisation des actions spécifiées dans la fenêtre temporelle induit un risque de défaillance des applications qui demandent ces actions, avec les risques relatifs à l'équipement, les installations et éventuellement la vie humaine.
Le présent document spécifie les interactions entre les applications distantes et définit le comportement, visible par un observateur externe, assuré par la couche application de bus de terrain de type 2, en termes
a) de syntaxe abstraite formelle définissant les unités de données de protocole de couche application, acheminées entre les entités d'application en communication;
b) de syntaxe de transfert définissant les règles de codage qui s'appliquent aux unités de données de protocole de couche application;
c) du diagramme d'états de contexte application définissant le comportement de service application visible entre des entités d'application engagées dans une communication;
d) de diagrammes d'états de relations d'applications définissant le comportement de communication visible entre les entités d'application en communication.

General Information

Status
Published
Publication Date
19-Jun-2019
Technical Committee
Drafting Committee
Current Stage
DELPUB - Deleted Publication
Start Date
24-Mar-2023
Completion Date
15-May-2020
Ref Project

Relations

Standard
IEC 61158-6-2:2019 - Industrial communication networks - Fieldbus specifications - Part 6-2: Application layer protocol specification - Type 2 elements
English language
272 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
IEC 61158-6-2:2019 - Industrial communication networks - Fieldbus specifications - Part 6-2: Application layer protocol specification - Type 2 elements
English and French language
586 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


IEC 61158-6-2 ®
Edition 4.0 2019-06
INTERNATIONAL
STANDARD
Industrial communication networks – Fieldbus specifications –
Part 6-2: Application layer protocol specification – Type 2 elements

All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC
copyright or have an enquiry about obtaining additional rights to this publication, please contact the address below or
your local IEC member National Committee for further information.

IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.

About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigendum or an amendment might have been published.

IEC publications search - webstore.iec.ch/advsearchform Electropedia - www.electropedia.org
The advanced search enables to find IEC publications by a The world's leading online dictionary on electrotechnology,
variety of criteria (reference number, text, technical containing more than 22 000 terminological entries in English
committee,…). It also gives information on projects, replaced and French, with equivalent terms in 16 additional languages.
and withdrawn publications. Also known as the International Electrotechnical Vocabulary

(IEV) online.
IEC Just Published - webstore.iec.ch/justpublished
Stay up to date on all new IEC publications. Just Published IEC Glossary - std.iec.ch/glossary
details all new publications released. Available online and 67 000 electrotechnical terminology entries in English and
once a month by email. French extracted from the Terms and Definitions clause of
IEC publications issued since 2002. Some entries have been
IEC Customer Service Centre - webstore.iec.ch/csc collected from earlier publications of IEC TC 37, 77, 86 and
If you wish to give us your feedback on this publication or CISPR.

need further assistance, please contact the Customer Service

Centre: sales@iec.ch.
IEC 61158-6-2 ®
Edition 4.0 2019-06
INTERNATIONAL
STANDARD
Industrial communication networks – Fieldbus specifications –

Part 6-2: Application layer protocol specification – Type 2 elements

INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
ICS 25.040.40; 35.100.70; 35.110 ISBN 978-2-8322-7007-3

– 2 – IEC 61158-6-2:2019 © IEC 2019
CONTENTS
FOREWORD . 14
INTRODUCTION . 16
1 Scope . 17
1.1 General . 17
1.2 Specifications . 17
1.3 Conformance . 18
2 Normative references . 18
3 Terms, definitions, symbols, abbreviated terms and conventions . 20
3.1 Terms and definitions from other ISO/IEC standards . 20
3.1.1 Terms and definitions from ISO/IEC 7498-1 . 20
3.1.2 Terms and definitions from ISO/IEC 9545 . 21
3.1.3 Terms and definitions from ISO/IEC 8824-1 . 21
3.1.4 Terms and definitions from ISO/IEC 8825-1 . 22
3.2 Terms and definitions from IEC 61158-5-2 . 22
3.3 Additional terms and definitions . 22
3.4 Abbreviated terms and symbols . 29
3.5 Conventions . 29
3.5.1 General concept . 29
3.5.2 Attribute specification . 30
3.5.3 Common services . 30
3.5.4 State machine conventions . 34
4 Abstract syntax . 35
4.1 FAL PDU abstract syntax . 35
4.1.1 General . 35
4.1.2 PDU structure . 36
4.1.3 UCMM_PDUs . 38
4.1.4 Transport_Headers . 40
4.1.5 CM_PDUs . 43
4.1.6 CM PDU components . 57
4.1.7 MR headers . 66
4.1.8 OM_Service_PDU . 67
4.1.9 Message and connection paths . 122
4.1.10 Class, attribute and service codes . 137
4.1.11 Error codes . 143
4.2 Data abstract syntax specification . 157
4.2.1 Transport format specification . 157
4.2.2 Abstract syntax notation . 157
4.2.3 Control network data specification . 158
4.2.4 Data type specification / dictionaries . 160
4.3 Encapsulation abstract syntax . 162
4.3.1 Encapsulation protocol . 162
4.3.2 Command descriptions . 165
4.3.3 Common packet format . 177
5 Transfer syntax . 181
5.1 Compact encoding . 181
5.1.1 Encoding rules . 181

5.1.2 Encoding constraints . 182
5.1.3 Examples. 182
5.2 Data type reporting . 188
5.2.1 Object data representation. 188
5.2.2 Elementary data type reporting . 189
5.2.3 Constructed data type reporting . 190
6 Structure of FAL protocol state machines . 196
7 AP-Context state machine . 196
7.1 Overview. 196
7.2 Connection object state machine . 196
7.2.1 I/O Connection instance behavior . 196
7.2.2 Bridged Connection instance behavior . 200
7.2.3 Explicit Messaging Connection instance behavior . 201
8 FAL service protocol machine (FSPM) . 204
8.1 General . 204
8.2 Primitive definitions . 204
8.3 Parameters of primitives . 209
8.4 FSPM state machines . 209
9 Application relationship protocol machines (ARPMs) . 210
9.1 General . 210
9.2 Connection-less ARPM (UCMM) . 210
9.2.1 General . 210
9.2.2 Primitive definitions . 210
9.2.3 Parameters of primitives . 211
9.2.4 UCMM state machines . 212
9.2.5 Examples of UCMM sequences . 217
9.2.6 Management UCMM . 219
9.3 Connection-oriented ARPMs (transports) . 220
9.3.1 Transport PDU buffer . 220
9.3.2 Transport classes . 220
9.3.3 Common primitive definitions . 221
9.3.4 Parameters of common primitives . 222
9.3.5 Transport state machines – class 0 . 222
9.3.6 Transport state machines – class 1 . 226
9.3.7 Transport state machines – class 2 . 231
9.3.8 Transport state machines – class 3 . 239
9.3.9 Transport state machines – classes 4, 5, 6 . 249
9.3.10 Transport state machines – class 4 . 249
9.3.11 Transport state machines – class 5 . 249
9.3.12 Transport state machines – class 6 . 249
10 DLL mapping protocol machine 1 (DMPM 1) . 249
10.1 General . 249
10.2 Link producer . 250
10.3 Link consumer . 250
10.4 Primitive definitions . 250
10.4.1 Primitives exchanged between DMPM and ARPM . 250
10.4.2 Parameters of ARPM/DMPM primitives . 250
10.4.3 Primitives exchanged between data-link layer and DMPM . 251

– 4 – IEC 61158-6-2:2019 © IEC 2019
10.4.4 Parameters of DMPM/Data-link Layer primitives . 251
10.4.5 Network connection ID . 252
10.5 DMPM state machine . 253
10.5.1 DMPM states . 253
10.5.2 Functions used by DMPM . 254
10.6 Data-link Layer service selection. 254
11 DLL mapping protocol machine 2 (DMPM 2) . 254
11.1 General . 254
11.2 Mapping of UCMM PDUs . 255
11.2.1 General . 255
11.2.2 Common requirements for Connection Manager PDU’s . 256
11.2.3 Forward_open PDU for class 2 and class 3 connections . 258
11.2.4 Forward_open for class 0 and class 1 connections . 258
11.2.5 Forward_close . 262
11.3 Mapping of transport class 0 and class 1 PDUs. 263
11.3.1 Class 0 and class 1 PDUs. 263
11.3.2 No dependency on TCP connections . 263
11.3.3 Class 0 and class 1 packet ordering . 263
11.3.4 Screening incoming connected data . 264
11.4 Mapping of transport class 2 and class 3 PDU’s . 264
11.5 Mapping of transport classes 4 to 6. 265
11.6 IGMP Usage . 265
11.6.1 Background (informative) . 265
11.6.2 IGMP Membership Report messages . 266
11.6.3 IGMP Leave Group messages . 266
11.7 Quality of Service (QoS) for CP 2/2 messages . 267
11.7.1 Overview . 267
11.7.2 DSCP format . 267
11.7.3 IEEE 802.1D/IEEE 802.Q format . 268
11.7.4 Mapping CPF 2 traffic to DSCP and IEEE 802.1D . 268
11.7.5 CP 2/2 usage of DSCP . 269
11.7.6 CP 2/2 usage of IEEE 802.1D/IEEE 802.1Q . 269
11.7.7 User considerations with IEEE 802.1D/IEEE 802.1Q . 269
11.8 Management of an encapsulation session . 270
11.8.1 Phases of an encapsulation session . 270
11.8.2 Establishing a session . 270
11.8.3 Terminating a session . 270
11.8.4 Maintaining a session . 270
11.8.5 TCP connection management . 271
12 DLL mapping protocol machine 3 (DMPM 3) . 271
Bibliography . 272

Figure 1 – Attribute table format and terms . 30
Figure 2 – Service request/response parameter . 30
Figure 3 – Example of an STD . 34
Figure 4 – Network connection parameters . 58
Figure 5 – Priority/Tick_time bit definition . 61
Figure 6 – Member ID/EX description (WORD). 75

Figure 7 – Transport Class Trigger attribute . 110
Figure 8 – CP2/3_initial_comm_characteristics attribute format . 114
Figure 9 – Segment type . 123
Figure 10 – Port segment . 124
Figure 11 – Logical segment encoding . 126
Figure 12 – Extended network segment . 132
Figure 13 – Symbolic segment encoding . 133
Figure 14 – Encapsulation message . 162
Figure 15 – FixedLengthBitString compact encoding bit placement rules . 185
Figure 16 – Example compact encoding of a SWORD FixedLengthBitString . 186
Figure 17 – Example compact encoding of a WORD FixedLengthBitString . 186
Figure 18 – Example compact encoding of a DWORD FixedLengthBitString . 186
Figure 19 – Example compact encoding of a LWORD FixedLengthBitString . 186
Figure 20 – Example 1 of formal encoding of a structure type specification . 191
Figure 21 – Example 2 of formal encoding of a structure type specification . 191
Figure 22 – Example 3 of formal encoding of a handle structure type specification . 192
Figure 23 – Example 4 of formal encoding of a handle structure type specification . 192
Figure 24 – Example 5 of abbreviated encoding of a structure type specification . 193
Figure 25 – Example 1 of formal encoding of an array type specification. 194
Figure 26 – Example 2 of formal encoding of an array type specification. 194
Figure 27 – Example 1 of abbreviated encoding of an array type specification . 195
Figure 28 – Example 2 of abbreviated encoding of an array type specification . 195
Figure 29 – I/O Connection object state transition diagram . 196
Figure 30 – Bridged Connection object state transition diagram . 200
Figure 31 – Explicit Messaging Connection object state transition diagram . 202
Figure 32 – State transition diagram of UCMM client9 . 212
Figure 33 – State transition diagram of high–end UCMM server . 214
Figure 34 – State transition diagram of low–end UCMM server . 216
Figure 35 – Sequence diagram for a UCMM with one outstanding message . 218
Figure 36 – Sequence diagram for a UCMM with multiple outstanding messages . 219
Figure 37 – TPDU buffer . 220
Figure 38 – Data flow diagram using a client transport class 0 and server transport
class 0 . 223
Figure 39 – Sequence diagram of data transfer using transport class 0 . 223
Figure 40 – Class 0 client STD . 224
Figure 41 – Class 0 server STD . 225
Figure 42 – Data flow diagram using client transport class 1 and server transport

class 1 . 226
Figure 43 – Sequence diagram of data transfer using client transport class 1 and
server transport class 1 . 227
Figure 44 – Class 1 client STD . 229
Figure 45 – Class 1 server STD . 230
Figure 46 – Data flow diagram using client transport class 2 and server transport
class 2 . 232

– 6 – IEC 61158-6-2:2019 © IEC 2019
Figure 47 – Diagram of data transfer using client transport class 2 and server transport
class 2 without returned data . 233
Figure 48 – Sequence diagram of data transfer using client transport class 2 and

server transport class 2 with returned data . 234
Figure 49 – Class 2 client STD . 235
Figure 50 – Class 2 server STD . 237
Figure 51 – Data flow diagram using client transport class 3 and server transport
class 3 . 240
Figure 52 – Sequence diagram of data transfer using client transport class 3 and
server transport class 3 without returned data . 241
Figure 53 – Sequence diagram of data transfer using client transport class 3 and

server transport class 3 with returned data . 242
Figure 54 – Class 3 client STD . 244
Figure 55 – Class 3 server STD . 247
Figure 56 – Data flow diagram for a link producer and consumer . 249
Figure 57 – State transition diagram for a link producer . 253
Figure 58 – State transition diagram for a link consumer . 254
Figure 59 – DS field in the IP header . 268
Figure 60 – IEEE 802.1Q tagged frame . 268

Table 1 – Get_Attributes_All response service rules . 31
Table 2 – Example class level object/service specific response data of
Get_Attributes_All . 31
Table 3 – Example Get_Attributes_All data array method . 32
Table 4 – Set_Attributes_All request service rules . 33
Table 5 – Example Set_Attributes_All attribute ordering method . 33
Table 6 – Example Set_Attributes_All data array method . 33
Table 7 – State event matrix format . 35
Table 8 – Example state event matrix . 35
Table 9 – UCMM_PDU header format . 39
Table 10 – UCMM command codes . 39
Table 11 – Transport class 0 header . 40
Table 12 – Transport class 1 header . 40
Table 13 – Transport class 2 header . 40
Table 14 – Transport class 3 header . 40
Table 15 – Real-time data header – exclusive owner . 41
Table 16 – Real-time data header– redundant owner . 41
Table 17 – Forward_Open request format . 46
Table 18 – Forward_Open_Good response format . 46
Table 19 – Forward_Open_Bad response format . 47
Table 20 – Large_Forward_Open request format . 48
Table 21 – Large_Forward_Open_Good response format . 48
Table 22 – Large_Forward_Open_Bad response format . 49
Table 23 – Forward_Close request format. 50
Table 24 – Forward_Close_Good response format . 50

Table 25 – Forward_Close_Bad response format . 51
Table 26 – Unconnected_Send request format . 51
Table 27 – Unconnected_Send_Good response format . 52
Table 28 – Unconnected_Send_Bad response format . 53
Table 29 – Unconnected_Send request format (modified) . 54
Table 30 – Unconnected_Send_Good response format (modified) . 54
Table 31 – Unconnected_Send_Bad response format (modified) . 55
Table 32 – Get_Connection_Data request format . 55
Table 33 – Get_Connection_Data response format . 55
Table 34 – Search_Connection_Data request format . 56
Table 35 – Get_Connection_Owner request format . 57
Table 36 – Get_Connection_Owner response format . 57
Table 37 – Time-out multiplier . 60
Table 38 – Tick time units . 61
Table 39 – Encoded application path ordering. 65
Table 40 – Transport class, trigger and Is_Server format . 66
Table 41 – MR_Request_Header format . 66
Table 42 – MR_Response_Header format . 67
Table 43 – Structure of Get_Attributes_All_ResponsePDU body . 67
Table 44 – Structure of Set_Attributes_All_RequestPDU body . 68
Table 45 – Structure of Get_Attribute_List_RequestPDU body . 68
Table 46 – Structure of Get_Attribute_List_ResponsePDU body . 68
Table 47 – Structure of Set_Attribute_List_RequestPDU body . 68
Table 48 – Structure of Set_Attribute_List_ResponsePDU body . 69
Table 49 – Structure of Reset_RequestPDU body . 69
Table 50 – Structure of Reset_ResponsePDU body . 69
Table 51 – Structure of Start_RequestPDU body . 69
Table 52 – Structure of Start_ResponsePDU body . 69
Table 53 – Structure of Stop_RequestPDU body . 70
Table 54 – Structure of Stop_ResponsePDU body . 70
Table 55 – Structure of Create_RequestPDU body . 70
Table 56 – Structure of Create_ResponsePDU body . 70
Table 57 – Structure of Delete_RequestPDU body . 70
Table 58 – Structure of Delete_ResponsePDU body . 70
Table 59 – Structure of Get_Attribute_Single_ResponsePDU body . 71
Table 60 – Structure of Set_Attribute_Single_RequestPDU body . 71
Table 61 – Structure of Set_Attribute_Single_ResponsePDU body . 71
Table 62 – Structure of Find_Next_Object_Instance_RequestPDU body . 71
Table 63 – Structure of Find_Next_Object_Instance_ResponsePDU body . 72
Table 64 – Structure of Apply_Attributes_RequestPDU body . 72
Table 65 – Structure of Apply_Attributes_ResponsePDU body . 72
Table 66 – Structure of Save_RequestPDU body . 72
Table 67 – Structure of Save_ResponsePDU body . 72

– 8 – IEC 61158-6-2:2019 © IEC 2019
Table 68 – Structure of Restore_RequestPDU body . 73
Table 69 – Structure of Restore_ResponsePDU body . 73
Table 70 – Structure of Get_Member_ResponsePDU body . 73
Table 71 – Structure of Set_Member_RequestPDU body . 73
Table 72 – Structure of Set_Member_ResponsePDU body . 73
Table 73 – Structure of Insert_Member_RequestPDU body . 74
Table 74 – Structure of Insert_Member_ResponsePDU body . 74
Table 75 – Structure of Remove_Member_ResponsePDU body . 74
Table 76 – Common structure of _Member_RequestPDU body (basic format) . 75
Table 77 – Common structure of _Member_ResponsePDU body (basic format) . 75
Table 78 – Common structure of _Member_RequestPDU body (extended format) . 76
Table 79 – Common structure of _Member_ResponsePDU body (extended format) . 76
Table 80 – Extended Protocol ID. 76
Table 81 – Structure of _Member_RequestPDU body (Multiple Sequential Members) . 77
Table 82 – Structure of _Member_ResponsePDU body (Multiple Sequential Members) . 77
Table 83 – Structure of _Member_RequestPDU body (International String Selection) . 78
Table 84 – Structure of _Member_ResponsePDU body (International String Selection) . 78
Table 85 – Structure of Group_Sync_RequestPDU body . 78
Table 86 – Structure of Group_Sync_ResponsePDU body . 78
Table 87 – Structure of Multiple_Service_Packet_RequestPDU body . 79
Table 88 – Structure of Multiple_Service_Packet_ResponsePDU body . 79
Table 89 – Identity object class attributes . 80
Table 90 – Identity object instance attributes . 80
Table 91 – Identity object bit definitions for status instance attribute . 81
Table 92 – Default values for extended device status field (bits 4 to 7) of status
instance attribute . 82
Table 93 – Identity object bit definitions for protection mode instance attribute . 82
Table 94 – Class level object/service specific response data of Get_Attributes_All . 82
Table 95 – Instance level object/service specific response data of Get_Attributes_All . 83
Table 96 – Object-specific request parameter for Reset . 83
Table 97 – Reset service parameter values . 84
Table 98 – Communication link attributes that shall be preserved . 84
Table 99 – Structure of Flash_LEDs_RequestPDU body . 84
Table 100 – Message Router object class attributes . 85
Table 101 – Message Router object instance attributes . 85
Table 102 – Class level object/service specific response data of Get_Attributes_All . 85
Table 103 – Instance level object/service specific response data of Get_Attributes_All . 86
Table 104 – Structure of Symbolic_Translation_RequestPDU body . 86
Table 105 – Structure of Symbolic_Translation_ResponsePDU body . 86
Table 106 – Object specific status for Symbolic_Translation service . 86
Table 107 – Assembly object class attributes . 87
Table 108 – Assembly object instance attributes . 87
Table 109 – Assembly Instance ID ranges . 88

Table 110 – Acknowledge Handler object class attributes . 88
Table 111 – Acknowledge Handler object instance attributes . 89
Table 112 – Structure of Add_AckData_Path_RequestPDU body . 89
Table 113 – Structure of Remove_AckData_Path_RequestPDU body . 89
Table 114 – Time Sync object class attributes . 90
Table 115 – Time Sync object instance attributes . 90
Table 116 – ClockIdentity encoding for different network implementations . 94
Table 117 – ClockClass values . 94
Table 118 – TimeAccuracy values . 94
Table 119 – TimePropertyFlags bit values . 95
Table 120 – TimeSource values . 95
Table 121 – Types of Clock . 96
Table 122 – Network protocol to PortPhysicalAddressInfo mapping . 96
Table 123 – Parameter object class attributes . 97
Table 124 – Parameter Class Descriptor bit values . 97
Table 125 – Parameter object instance attributes. 98
Table 126 – Semantics of Descriptor Instance attribute . 99
Table 127 – Descriptor Scaling bits usage . 99
Table 128 – Minimum and Maximum Value semantics . 100
Table 129 – Scaling Formula attributes . 101
Table 130 – Scaling links . 101
Table 131 – Class level object/service specific response data of Get_Attributes_All . 102
Table 132 – Instance level object/service specific response data of Get_Attributes_All
(Parameter object stub) . 102
Table 133 – Instance level object/service specific response data of Get_Attributes_All

(full Parameter object) . 103
Table 134 – Structure of Get_Enum_String_RequestPDU body. 104
Table 135 – Structure of Get_Enum_String_ResponsePDU body . 104
Table 136 – Enumerated strings Type versus Parameter data type . 104
Table 137 – Connection Manager object class attributes . 105
Table 138 – Connection Manager object instance attributes . 105
Table 139 – Class level object/service specific response data of Get_Attributes_All . 106
Table 140 – Instance level object/service specific response data of Get_Attributes_All . 106
Table 141 – Instance level object/service specific request data of Set_Attributes_All . 107
Table 142 – Connection object class attributes . 107
Table 143 – Connection object instance attributes . 108
Table 144 – Values assigned to the state attribute . 109
Table 145 – Values assigned to the instance_type attribute . 110
Table 146 – Possible values within Direction Bit . 111
Table 147 – Possible values within Production Trigger Bits . 111
Table 148 – Possible values within Transport Class Bits . 112
Table 149 – TransportClass_Trigger attribute values summary . 112
Table 150 – Transport Class 0 client behavior summary . 113
Table 151 – Transport Class 1, 2 and 3 client behavior summary . 113

----
...


IEC 61158-6-2 ®
Edition 4.0 2019-06
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
Industrial communication networks – Fieldbus specifications –
Part 6-2: Application layer protocol specification – Type 2 elements

Réseaux de communication industriels – Spécifications des bus de terrain –
Partie 6-2: Spécification du protocole de la couche liaison de données –
Eléments de type 2
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC
copyright or have an enquiry about obtaining additional rights to this publication, please contact the address below or
your local IEC member National Committee for further information.

Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite
ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie
et les microfilms, sans l'accord écrit de l'IEC ou du Comité national de l'IEC du pays du demandeur. Si vous avez des
questions sur le copyright de l'IEC ou si vous désirez obtenir des droits supplémentaires sur cette publication, utilisez
les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pays de résidence.

IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.

About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigendum or an amendment might have been published.

IEC publications search - webstore.iec.ch/advsearchform IEC online collection - oc.iec.ch
The advanced search enables to find IEC publications by a Discover our powerful search engine and read freely all the
variety of criteria (reference number, text, technical publications previews. With a subscription you will always
committee, …). It also gives information on projects, replaced have access to up to date content tailored to your needs.
and withdrawn publications.
Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished
The world's leading online dictionary on electrotechnology,
Stay up to date on all new IEC publications. Just Published
containing more than 22 000 terminological entries in English
details all new publications released. Available online and
and French, with equivalent terms in 18 additional languages.
once a month by email.
Also known as the International Electrotechnical Vocabulary

(IEV) online.
IEC Customer Service Centre - webstore.iec.ch/csc
If you wish to give us your feedback on this publication or
need further assistance, please contact the Customer Service
Centre: sales@iec.ch.
A propos de l'IEC
La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.

A propos des publications IEC
Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
plus récente, un corrigendum ou amendement peut avoir été publié.

Recherche de publications IEC - IEC online collection - oc.iec.ch
webstore.iec.ch/advsearchform Découvrez notre puissant moteur de recherche et consultez
La recherche avancée permet de trouver des publications IEC gratuitement tous les aperçus des publications. Avec un
en utilisant différents critères (numéro de référence, texte, abonnement, vous aurez toujours accès à un contenu à jour
comité d’études, …). Elle donne aussi des informations sur adapté à vos besoins.
les projets et les publications remplacées ou retirées.

Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished
Le premier dictionnaire d'électrotechnologie en ligne au
Restez informé sur les nouvelles publications IEC. Just
monde, avec plus de 22 000 articles terminologiques en
Published détaille les nouvelles publications parues.
anglais et en français, ainsi que les termes équivalents dans
Disponible en ligne et une fois par mois par email.
16 langues additionnelles. Egalement appelé Vocabulaire

Electrotechnique International (IEV) en ligne.
Service Clients - webstore.iec.ch/csc

Si vous désirez nous donner des commentaires sur cette
publication ou si vous avez des questions contactez-nous:
sales@iec.ch.
IEC 61158-6-2 ®
Edition 4.0 2019-06
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
Industrial communication networks – Fieldbus specifications –

Part 6-2: Application layer protocol specification – Type 2 elements

Réseaux de communication industriels – Spécifications des bus de terrain –

Partie 6-2: Spécification du protocole de la couche liaison de données –

Eléments de type 2
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
INTERNATIONALE
ICS 25.040.40; 35.100.70; 35.110 ISBN 978-2-8322-9699-8

– 2 – IEC 61158-6-2:2019 © IEC 2019
CONTENTS
FOREWORD . 14
INTRODUCTION . 16
1 Scope . 17
1.1 General . 17
1.2 Specifications . 17
1.3 Conformance . 18
2 Normative references . 18
3 Terms, definitions, symbols, abbreviated terms and conventions . 20
3.1 Terms and definitions from other ISO/IEC standards . 20
3.1.1 Terms and definitions from ISO/IEC 7498-1 . 20
3.1.2 Terms and definitions from ISO/IEC 9545 . 21
3.1.3 Terms and definitions from ISO/IEC 8824-1 . 21
3.1.4 Terms and definitions from ISO/IEC 8825-1 . 22
3.2 Terms and definitions from IEC 61158-5-2 . 22
3.3 Additional terms and definitions . 22
3.4 Abbreviated terms and symbols . 29
3.5 Conventions . 29
3.5.1 General concept . 29
3.5.2 Attribute specification . 30
3.5.3 Common services . 30
3.5.4 State machine conventions . 34
4 Abstract syntax . 35
4.1 FAL PDU abstract syntax . 35
4.1.1 General . 35
4.1.2 PDU structure . 36
4.1.3 UCMM_PDUs . 38
4.1.4 Transport_Headers . 40
4.1.5 CM_PDUs . 43
4.1.6 CM PDU components . 57
4.1.7 MR headers . 66
4.1.8 OM_Service_PDU . 67
4.1.9 Message and connection paths . 122
4.1.10 Class, attribute and service codes . 137
4.1.11 Error codes . 143
4.2 Data abstract syntax specification . 157
4.2.1 Transport format specification . 157
4.2.2 Abstract syntax notation . 157
4.2.3 Control network data specification . 158
4.2.4 Data type specification / dictionaries . 160
4.3 Encapsulation abstract syntax . 162
4.3.1 Encapsulation protocol . 162
4.3.2 Command descriptions . 165
4.3.3 Common packet format . 177
5 Transfer syntax . 181
5.1 Compact encoding . 181
5.1.1 Encoding rules . 181

5.1.2 Encoding constraints . 182
5.1.3 Examples. 182
5.2 Data type reporting . 188
5.2.1 Object data representation. 188
5.2.2 Elementary data type reporting . 189
5.2.3 Constructed data type reporting . 190
6 Structure of FAL protocol state machines . 196
7 AP-Context state machine . 196
7.1 Overview. 196
7.2 Connection object state machine . 196
7.2.1 I/O Connection instance behavior . 196
7.2.2 Bridged Connection instance behavior . 200
7.2.3 Explicit Messaging Connection instance behavior . 201
8 FAL service protocol machine (FSPM) . 204
8.1 General . 204
8.2 Primitive definitions . 204
8.3 Parameters of primitives . 209
8.4 FSPM state machines . 209
9 Application relationship protocol machines (ARPMs) . 210
9.1 General . 210
9.2 Connection-less ARPM (UCMM) . 210
9.2.1 General . 210
9.2.2 Primitive definitions . 210
9.2.3 Parameters of primitives . 211
9.2.4 UCMM state machines . 212
9.2.5 Examples of UCMM sequences . 217
9.2.6 Management UCMM . 219
9.3 Connection-oriented ARPMs (transports) . 220
9.3.1 Transport PDU buffer . 220
9.3.2 Transport classes . 220
9.3.3 Common primitive definitions . 221
9.3.4 Parameters of common primitives . 222
9.3.5 Transport state machines – class 0 . 222
9.3.6 Transport state machines – class 1 . 226
9.3.7 Transport state machines – class 2 . 231
9.3.8 Transport state machines – class 3 . 239
9.3.9 Transport state machines – classes 4, 5, 6 . 249
9.3.10 Transport state machines – class 4 . 249
9.3.11 Transport state machines – class 5 . 249
9.3.12 Transport state machines – class 6 . 249
10 DLL mapping protocol machine 1 (DMPM 1) . 249
10.1 General . 249
10.2 Link producer . 250
10.3 Link consumer . 250
10.4 Primitive definitions . 250
10.4.1 Primitives exchanged between DMPM and ARPM . 250
10.4.2 Parameters of ARPM/DMPM primitives . 250
10.4.3 Primitives exchanged between data-link layer and DMPM . 251

– 4 – IEC 61158-6-2:2019 © IEC 2019
10.4.4 Parameters of DMPM/Data-link Layer primitives . 251
10.4.5 Network connection ID . 252
10.5 DMPM state machine . 253
10.5.1 DMPM states . 253
10.5.2 Functions used by DMPM . 254
10.6 Data-link Layer service selection. 254
11 DLL mapping protocol machine 2 (DMPM 2) . 254
11.1 General . 254
11.2 Mapping of UCMM PDUs . 255
11.2.1 General . 255
11.2.2 Common requirements for Connection Manager PDU’s . 256
11.2.3 Forward_open PDU for class 2 and class 3 connections . 258
11.2.4 Forward_open for class 0 and class 1 connections . 258
11.2.5 Forward_close . 262
11.3 Mapping of transport class 0 and class 1 PDUs. 263
11.3.1 Class 0 and class 1 PDUs. 263
11.3.2 No dependency on TCP connections . 263
11.3.3 Class 0 and class 1 packet ordering . 263
11.3.4 Screening incoming connected data . 264
11.4 Mapping of transport class 2 and class 3 PDU’s . 264
11.5 Mapping of transport classes 4 to 6. 265
11.6 IGMP Usage . 265
11.6.1 Background (informative) . 265
11.6.2 IGMP Membership Report messages . 266
11.6.3 IGMP Leave Group messages . 266
11.7 Quality of Service (QoS) for CP 2/2 messages . 267
11.7.1 Overview . 267
11.7.2 DSCP format . 267
11.7.3 IEEE 802.1D/IEEE 802.Q format . 268
11.7.4 Mapping CPF 2 traffic to DSCP and IEEE 802.1D . 268
11.7.5 CP 2/2 usage of DSCP . 269
11.7.6 CP 2/2 usage of IEEE 802.1D/IEEE 802.1Q . 269
11.7.7 User considerations with IEEE 802.1D/IEEE 802.1Q . 269
11.8 Management of an encapsulation session . 270
11.8.1 Phases of an encapsulation session . 270
11.8.2 Establishing a session . 270
11.8.3 Terminating a session . 270
11.8.4 Maintaining a session . 270
11.8.5 TCP connection management . 271
12 DLL mapping protocol machine 3 (DMPM 3) . 271
Bibliography . 272

Figure 1 – Attribute table format and terms . 30
Figure 2 – Service request/response parameter . 30
Figure 3 – Example of an STD . 34
Figure 4 – Network connection parameters . 58
Figure 5 – Priority/Tick_time bit definition . 61
Figure 6 – Member ID/EX description (WORD). 75

Figure 7 – Transport Class Trigger attribute . 110
Figure 8 – CP2/3_initial_comm_characteristics attribute format . 114
Figure 9 – Segment type . 123
Figure 10 – Port segment . 124
Figure 11 – Logical segment encoding . 126
Figure 12 – Extended network segment . 132
Figure 13 – Symbolic segment encoding . 133
Figure 14 – Encapsulation message . 162
Figure 15 – FixedLengthBitString compact encoding bit placement rules . 185
Figure 16 – Example compact encoding of a SWORD FixedLengthBitString . 186
Figure 17 – Example compact encoding of a WORD FixedLengthBitString . 186
Figure 18 – Example compact encoding of a DWORD FixedLengthBitString . 186
Figure 19 – Example compact encoding of a LWORD FixedLengthBitString . 186
Figure 20 – Example 1 of formal encoding of a structure type specification . 191
Figure 21 – Example 2 of formal encoding of a structure type specification . 191
Figure 22 – Example 3 of formal encoding of a handle structure type specification . 192
Figure 23 – Example 4 of formal encoding of a handle structure type specification . 192
Figure 24 – Example 5 of abbreviated encoding of a structure type specification . 193
Figure 25 – Example 1 of formal encoding of an array type specification. 194
Figure 26 – Example 2 of formal encoding of an array type specification. 194
Figure 27 – Example 1 of abbreviated encoding of an array type specification . 195
Figure 28 – Example 2 of abbreviated encoding of an array type specification . 195
Figure 29 – I/O Connection object state transition diagram . 196
Figure 30 – Bridged Connection object state transition diagram . 200
Figure 31 – Explicit Messaging Connection object state transition diagram . 202
Figure 32 – State transition diagram of UCMM client9 . 212
Figure 33 – State transition diagram of high–end UCMM server . 214
Figure 34 – State transition diagram of low–end UCMM server . 216
Figure 35 – Sequence diagram for a UCMM with one outstanding message . 218
Figure 36 – Sequence diagram for a UCMM with multiple outstanding messages . 219
Figure 37 – TPDU buffer . 220
Figure 38 – Data flow diagram using a client transport class 0 and server transport
class 0 . 223
Figure 39 – Sequence diagram of data transfer using transport class 0 . 223
Figure 40 – Class 0 client STD . 224
Figure 41 – Class 0 server STD . 225
Figure 42 – Data flow diagram using client transport class 1 and server transport

class 1 . 226
Figure 43 – Sequence diagram of data transfer using client transport class 1 and
server transport class 1 . 227
Figure 44 – Class 1 client STD . 229
Figure 45 – Class 1 server STD . 230
Figure 46 – Data flow diagram using client transport class 2 and server transport
class 2 . 232

– 6 – IEC 61158-6-2:2019 © IEC 2019
Figure 47 – Diagram of data transfer using client transport class 2 and server transport
class 2 without returned data . 233
Figure 48 – Sequence diagram of data transfer using client transport class 2 and

server transport class 2 with returned data . 234
Figure 49 – Class 2 client STD . 235
Figure 50 – Class 2 server STD . 237
Figure 51 – Data flow diagram using client transport class 3 and server transport
class 3 . 240
Figure 52 – Sequence diagram of data transfer using client transport class 3 and
server transport class 3 without returned data . 241
Figure 53 – Sequence diagram of data transfer using client transport class 3 and

server transport class 3 with returned data . 242
Figure 54 – Class 3 client STD . 244
Figure 55 – Class 3 server STD . 247
Figure 56 – Data flow diagram for a link producer and consumer . 249
Figure 57 – State transition diagram for a link producer . 253
Figure 58 – State transition diagram for a link consumer . 254
Figure 59 – DS field in the IP header . 268
Figure 60 – IEEE 802.1Q tagged frame . 268

Table 1 – Get_Attributes_All response service rules . 31
Table 2 – Example class level object/service specific response data of
Get_Attributes_All . 31
Table 3 – Example Get_Attributes_All data array method . 32
Table 4 – Set_Attributes_All request service rules . 33
Table 5 – Example Set_Attributes_All attribute ordering method . 33
Table 6 – Example Set_Attributes_All data array method . 33
Table 7 – State event matrix format . 35
Table 8 – Example state event matrix . 35
Table 9 – UCMM_PDU header format . 39
Table 10 – UCMM command codes . 39
Table 11 – Transport class 0 header . 40
Table 12 – Transport class 1 header . 40
Table 13 – Transport class 2 header . 40
Table 14 – Transport class 3 header . 40
Table 15 – Real-time data header – exclusive owner . 41
Table 16 – Real-time data header– redundant owner . 41
Table 17 – Forward_Open request format . 46
Table 18 – Forward_Open_Good response format . 46
Table 19 – Forward_Open_Bad response format . 47
Table 20 – Large_Forward_Open request format . 48
Table 21 – Large_Forward_Open_Good response format . 48
Table 22 – Large_Forward_Open_Bad response format . 49
Table 23 – Forward_Close request format. 50
Table 24 – Forward_Close_Good response format . 50

Table 25 – Forward_Close_Bad response format . 51
Table 26 – Unconnected_Send request format . 51
Table 27 – Unconnected_Send_Good response format . 52
Table 28 – Unconnected_Send_Bad response format . 53
Table 29 – Unconnected_Send request format (modified) . 54
Table 30 – Unconnected_Send_Good response format (modified) . 54
Table 31 – Unconnected_Send_Bad response format (modified) . 55
Table 32 – Get_Connection_Data request format . 55
Table 33 – Get_Connection_Data response format . 55
Table 34 – Search_Connection_Data request format . 56
Table 35 – Get_Connection_Owner request format . 57
Table 36 – Get_Connection_Owner response format . 57
Table 37 – Time-out multiplier . 60
Table 38 – Tick time units . 61
Table 39 – Encoded application path ordering. 65
Table 40 – Transport class, trigger and Is_Server format . 66
Table 41 – MR_Request_Header format . 66
Table 42 – MR_Response_Header format . 67
Table 43 – Structure of Get_Attributes_All_ResponsePDU body . 67
Table 44 – Structure of Set_Attributes_All_RequestPDU body . 68
Table 45 – Structure of Get_Attribute_List_RequestPDU body . 68
Table 46 – Structure of Get_Attribute_List_ResponsePDU body . 68
Table 47 – Structure of Set_Attribute_List_RequestPDU body . 68
Table 48 – Structure of Set_Attribute_List_ResponsePDU body . 69
Table 49 – Structure of Reset_RequestPDU body . 69
Table 50 – Structure of Reset_ResponsePDU body . 69
Table 51 – Structure of Start_RequestPDU body . 69
Table 52 – Structure of Start_ResponsePDU body . 69
Table 53 – Structure of Stop_RequestPDU body . 70
Table 54 – Structure of Stop_ResponsePDU body . 70
Table 55 – Structure of Create_RequestPDU body . 70
Table 56 – Structure of Create_ResponsePDU body . 70
Table 57 – Structure of Delete_RequestPDU body . 70
Table 58 – Structure of Delete_ResponsePDU body . 70
Table 59 – Structure of Get_Attribute_Single_ResponsePDU body . 71
Table 60 – Structure of Set_Attribute_Single_RequestPDU body . 71
Table 61 – Structure of Set_Attribute_Single_ResponsePDU body . 71
Table 62 – Structure of Find_Next_Object_Instance_RequestPDU body . 71
Table 63 – Structure of Find_Next_Object_Instance_ResponsePDU body . 72
Table 64 – Structure of Apply_Attributes_RequestPDU body . 72
Table 65 – Structure of Apply_Attributes_ResponsePDU body . 72
Table 66 – Structure of Save_RequestPDU body . 72
Table 67 – Structure of Save_ResponsePDU body . 72

– 8 – IEC 61158-6-2:2019 © IEC 2019
Table 68 – Structure of Restore_RequestPDU body . 73
Table 69 – Structure of Restore_ResponsePDU body . 73
Table 70 – Structure of Get_Member_ResponsePDU body . 73
Table 71 – Structure of Set_Member_RequestPDU body . 73
Table 72 – Structure of Set_Member_ResponsePDU body . 73
Table 73 – Structure of Insert_Member_RequestPDU body . 74
Table 74 – Structure of Insert_Member_ResponsePDU body . 74
Table 75 – Structure of Remove_Member_ResponsePDU body . 74
Table 76 – Common structure of _Member_RequestPDU body (basic format) . 75
Table 77 – Common structure of _Member_ResponsePDU body (basic format) . 75
Table 78 – Common structure of _Member_RequestPDU body (extended format) . 76
Table 79 – Common structure of _Member_ResponsePDU body (extended format) . 76
Table 80 – Extended Protocol ID. 76
Table 81 – Structure of _Member_RequestPDU body (Multiple Sequential Members) . 77
Table 82 – Structure of _Member_ResponsePDU body (Multiple Sequential Members) . 77
Table 83 – Structure of _Member_RequestPDU body (International String Selection) . 78
Table 84 – Structure of _Member_ResponsePDU body (International String Selection) . 78
Table 85 – Structure of Group_Sync_RequestPDU body . 78
Table 86 – Structure of Group_Sync_ResponsePDU body . 78
Table 87 – Structure of Multiple_Service_Packet_RequestPDU body . 79
Table 88 – Structure of Multiple_Service_Packet_ResponsePDU body . 79
Table 89 – Identity object class attributes . 80
Table 90 – Identity object instance attributes . 80
Table 91 – Identity object bit definitions for status instance attribute . 81
Table 92 – Default values for extended device status field (bits 4 to 7) of status
instance attribute . 82
Table 93 – Identity object bit definitions for protection mode instance attribute . 82
Table 94 – Class level object/service specific response data of Get_Attributes_All . 82
Table 95 – Instance level object/service specific response data of Get_Attributes_All . 83
Table 96 – Object-specific request parameter for Reset . 83
Table 97 – Reset service parameter values . 84
Table 98 – Communication link attributes that shall be preserved . 84
Table 99 – Structure of Flash_LEDs_RequestPDU body . 84
Table 100 – Message Router object class attributes . 85
Table 101 – Message Router object instance attributes . 85
Table 102 – Class level object/service specific response data of Get_Attributes_All . 85
Table 103 – Instance level object/service specific response data of Get_Attributes_All . 86
Table 104 – Structure of Symbolic_Translation_RequestPDU body . 86
Table 105 – Structure of Symbolic_Translation_ResponsePDU body . 86
Table 106 – Object specific status for Symbolic_Translation service . 86
Table 107 – Assembly object class attributes . 87
Table 108 – Assembly object instance attributes . 87
Table 109 – Assembly Instance ID ranges . 88

Table 110 – Acknowledge Handler object class attributes . 88
Table 111 – Acknowledge Handler object instance attributes . 89
Table 112 – Structure of Add_AckData_Path_RequestPDU body . 89
Table 113 – Structure of Remove_AckData_Path_RequestPDU body . 89
Table 114 – Time Sync object class attributes . 90
Table 115 – Time Sync object instance attributes . 90
Table 116 – ClockIdentity encoding for different network implementations . 94
Table 117 – ClockClass values . 94
Table 118 – TimeAccuracy values . 94
Table 119 – TimePropertyFlags bit values . 95
Table 120 – TimeSource values . 95
Table 121 – Types of Clock . 96
Table 122 – Network protocol to PortPhysicalAddressInfo mapping . 96
Table 123 – Parameter object class attributes . 97
Table 124 – Parameter Class Descriptor bit values . 97
Table 125 – Parameter object instance attributes. 98
Table 126 – Semantics of Descriptor Instance attribute . 99
Table 127 – Descriptor Scaling bits usage . 99
Table 128 – Minimum and Maximum Value semantics .
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...