BS EN 61158-6-3:2014
$215.11
Industrial communication networks. Fieldbus specifications – Application layer protocol specification. Type 3 elements
Published By | Publication Date | Number of Pages |
BSI | 2014 | 374 |
1.1 General
The Fieldbus Application Layer (FAL) provides user programs with a means to access the fieldbus communication environment. In this respect, the FAL can be viewed as a āwindow between corresponding application programs.ā
This standard 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 3 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 standard defines in an abstract way the externally visible behavior provided by the Type 3 fieldbus application layer in terms of
-
the abstract syntax defining the application layer protocol data units conveyed between communicating application entities,
-
the transfer syntax defining the application layer protocol data units conveyed between communicating application entities,
-
the application context state machine defining the application service behavior visible between communicating application entities; and
-
the application relationship state machines defining the communication behavior visible between communicating application entities.
The purpose of this standard is to define the protocol provided to
-
define the wire-representation of the service primitives specified in IEC 61158-5-3, and
-
define the externally visible behavior associated with their transfer.
This standard specifies the protocol of the Type 3 fieldbus application layer, in conformance with the OSI Basic Reference Model (ISO/IEC 7498-1) and the OSI Application Layer Structure (ISO/IEC 9545).
FAL services and protocols are provided by FAL application-entities (AE) contained within the application processes. The FAL AE is composed of a set of object-oriented Application Service Elements (ASEs) and a Layer Management Entity (LME) that manages the AE. The ASEs provide communication services that operate on a set of related application process object (APO) classes. One of the FAL ASEs is a management ASE that provides a common set of services for the management of the instances of FAL classes.
Although these services specify, from the perspective of applications, how request and responses are issued and delivered, they do not include a specification of what the requesting and responding applications are to do with them. That is, the behavioral aspects of the applications are not specified; only a definition of what requests and responses they can send/receive is specified. This permits greater flexibility to the FAL users in standardizing such object behavior. In addition to these services, some supporting services are also defined in this standard to provide access to the FAL to control certain aspects of its operation.
1.2 Specifications
The principal objective of this standard is to specify the syntax and behavior of the application layer protocol that conveys the application layer services defined in IEC 61158-5-3.
A secondary objective is to provide migration paths from previously-existing industrial communications protocols. It is this latter objective which gives rise to the diversity of protocols standardized in parts of the IEC 61158-6 subparts.
1.3 Conformance
This standard does not specify individual implementations or products, nor does it constrain the implementations of application layer entities within industrial automation systems.
There is no conformance of equipment to the application layer service definition standard. Instead, conformance is achieved through implementation of this application layer protocol specification.
PDF Catalog
PDF Pages | PDF Title |
---|---|
4 | Foreword Endorsement notice |
5 | Annex ZA (normative) Normative references to international publications with their corresponding European publications |
7 | English CONTENTS |
13 | FOREWORD |
15 | INTRODUCTION |
16 | 1 Scope 1.1 General |
17 | 1.2 Specifications 1.3 Conformance 2 Normative references |
18 | 3 Terms, definitions, abbreviations, symbols and conventions 3.1 Referenced terms and definitions |
19 | 3.2 Additional definitions |
22 | 3.3 Abbreviations and symbols |
23 | 3.4 Conventions |
24 | Figures FigureĀ 1 ā Common structure of specific fields |
25 | 3.5 Conventions used in state machines Tables TableĀ 1 ā State machine description elements |
26 | TableĀ 2 ā Description of state machine elements TableĀ 3 ā Conventions used in state machines |
28 | 4 FAL syntax description 4.1 APDU abstract syntax TableĀ 4 ā APDU syntax |
30 | TableĀ 5 ā Substitutions |
32 | 4.2 Data types |
33 | 5 Transfer syntax 5.1 Coding of basic data types |
35 | 5.2 Coding section related to data exchange PDUs 5.3 Coding section related to slave diagnosis PDUs |
37 | TableĀ 6 ā Block_Length range |
38 | TableĀ 7 ā Selection range TableĀ 8 ā Alarm_Type range TableĀ 9 ā Status_Type value range |
39 | TableĀ 10 ā Alarm_Specifier |
41 | FigureĀ 2 ā Example Modul_Status_Array TableĀ 11 ā Range of Modul_Status_Entry (1-4) |
43 | TableĀ 12 ā Input_Output_Selection TableĀ 13 ā Error type TableĀ 14 ā Channel_Type |
46 | 5.4 Coding section related to parameterization PDU |
47 | TableĀ 15 ā Specification of the bits Lock_Req and Unlock_Req |
54 | 5.5 Coding section related to configuration PDUs |
55 | TableĀ 16 ā Range of Length_of_Manufacturer_Specific_Dataif used in Chk_CfgREQPDU TableĀ 17 ā Range of Length_of_Manufacturer_Specific_Dat if used in Get_CfgRESPDU |
56 | 5.6 Coding section related to global control PDUs TableĀ 18 ā Data types |
57 | TableĀ 19 ā Specification of the bits for Un-/Freeze TableĀ 20 ā Specification of the bits for Un-/Sync |
58 | 5.7 Coding section related to clock-value-PDUs |
59 | 5.8 Coding section related to function identification and errors TableĀ 21 ā Coding of the Function_Code/ Function_Num |
60 | TableĀ 22 ā Coding of the Error_Code / Function_Num |
61 | TableĀ 23 ā Values of Error_Decode |
62 | 5.9 Coding section related to master diagnosis PDU TableĀ 24 ā Coding of Error_Code_1 at DPV1 |
63 | TableĀ 25 ā Values of MDiag_Identifier |
65 | 5.10 Coding section related to upload/download/act para PDUs TableĀ 26 ā Values for Area_Code_UpDownload |
66 | TableĀ 27 ā Values for Area_CodeActBrct TableĀ 28 ā Values for Area_CodeAct TableĀ 29 ā Values for Activate |
67 | 5.11 Coding section related to the bus parameter set TableĀ 30 ā Values for Data_rate |
69 | 5.12 Coding section related to the slave parameter set |
70 | TableĀ 31 ā Values for Slave_Type |
71 | TableĀ 32 ā Values for Alarm_Mode |
73 | 5.13 Coding section related to statistic counters 5.14 Coding section related to set slave address PDU 5.15 Coding section related to initiate/abort PDUs |
76 | TableĀ 33 ā Values for Subnet TableĀ 34 ā Values of reason code if instance is DLL TableĀ 35 ā Values of reason code if instance is MS2 |
77 | 5.16 Coding section related to read/write/data transport PDUs 5.17 Coding section related to load region and function invocation PDUs TableĀ 36 ā Values of Extended_Function_Num |
79 | TableĀ 37 ā Values of FI_Index TableĀ 38 ā Values of FI_State |
80 | TableĀ 39 ā IMData_Execution_Argument TableĀ 40 ā IMData_Result_Argument |
81 | 5.18 Examples of diagnosis-RES-PDUs FigureĀ 3 ā Example of Ext_Diag_Data in case of DPV1 diagnosis format with alarm and status PDU |
83 | 5.19 Example of Chk_Cfg-REQ-PDU 5.20 Examples of Chk_Cfg-REQ-PDUs with DPV1 data types FigureĀ 4 ā Example of Ext_Diag_Data in case of the basic diagnosis format FigureĀ 5 ā Example of a special identifier format |
84 | FigureĀ 6 ā Example of a special identifier format with data types FigureĀ 7 ā Example of a special identifier format with data types |
85 | 5.21 Example structure of the Data_Unit for Data_Exchange FigureĀ 8 ā Example of an empty slot with data types FigureĀ 9 ā Example for multi-variable device with AI and DO function blocks |
86 | 6 FAL protocol state machines 6.1 Overall structure FigureĀ 10 ā Identifiers (ID) FigureĀ 11 ā Identifier list FigureĀ 12 ā Structure of the Data_Unit for the request- and response-DLPDU |
88 | 6.2 Assignment of state machines to devices |
89 | 6.3 Overview DP-slave TableĀ 41 ā Assignment of state machines |
90 | FigureĀ 13 ā Structuring of the protocol machines and adjacent layers in a DP-slave |
91 | 6.4 Overview DP-master (class 1) FigureĀ 14 ā Structuring of the protocol machines and adjacent layers in a DP-master (class 1) |
92 | 6.5 Overview DP-master (class 2) FigureĀ 15 ā Structuring of the protocol machines and adjacent layers in a DP-master (class 2) |
93 | 6.6 Cyclic communication between DP-master (class 1) and DP-slave |
94 | 6.7 Acyclic communication between DP-master (class 2) and DP-master (classĀ 1) FigureĀ 16 ā Sequence of the communication between DP-master and DP-slave |
96 | 6.8 Acyclic communication between DP-master (class 1) and DP-slave FigureĀ 17 ā Sequence of communication between DP-master (classĀ 2) and DP-master (classĀ 1) |
98 | 6.9 Application relationship monitoring FigureĀ 18 ā Sequence of acyclic communication between DP-master (classĀ 1) and DP-slave |
101 | FigureĀ 19 ā Example for connection establishment on MS2 |
102 | FigureĀ 20 ā Idle at master-side on MS2 |
103 | 7 AP-context state machine FigureĀ 21 ā Idle at slave-side on MS2 |
104 | 8 FAL service protocol machines (FSPMs) 8.1 FSPMS TableĀ 42 ā Primitives issued by AP-Context to FSPMS |
106 | TableĀ 43 ā Primitives issued by FSPMS to AP-Context |
113 | TableĀ 44 ā FSPMS state table |
137 | TableĀ 45 ā Functions used by the FSPMS |
139 | 8.2 FSPMM1 TableĀ 46 ā Primitives issued by AP-Context to FSPMM1 |
141 | TableĀ 47 ā Primitives issued by FSPMM1 to AP-Context |
148 | TableĀ 48 ā FSPMM1 state table |
173 | TableĀ 49 ā Functions used by the FSPMM1 |
174 | 8.3 FSPMM2 TableĀ 50 ā Primitives issued by AP-Context to FSPMM2 |
176 | TableĀ 51 ā Primitives issued by FSPMM2 to AP-Context |
179 | TableĀ 52 ā FSPMM2 state table |
190 | TableĀ 53 ā Functions used by the FSPMM2 |
191 | 9 Application relationship protocol machines (ARPMs) 9.1 MSCY1S TableĀ 54 ā Primitives issued by FSPMS to MSCY1S TableĀ 55 ā Primitives issued by MSCY1S to FSPMS |
193 | TableĀ 56 ā Rules for DPV1_Status_1, DPV1_Status_2 and DPV1_Status_3 check |
198 | TableĀ 57 ā MSCY1S state table |
219 | TableĀ 58 ā Functions used by the MSCY1S |
221 | 9.2 MSAC1S TableĀ 59 ā Primitives issued by FSPMS to MSAC1S |
222 | TableĀ 60 ā Primitives issued by MSAC1S to FSPMS TableĀ 61 ā Primitives issued by MSCY1S to MSAC1S TableĀ 62 ā Primitives issued by MSAC1S to MSCY1S TableĀ 63 ā Parameter used with primitives exchanged between MSAC1S and MSCY1S |
224 | TableĀ 64 ā MSAC1S state table |
233 | TableĀ 65 ā Functions used by the MSAC1S |
234 | 9.3 SSCY1S TableĀ 66 ā Primitives issued by FSPMS to SSCY1S TableĀ 67 ā Primitives issued by SSCY1S to FSPMS |
235 | TableĀ 68 ā SSCY1S state table |
237 | 9.4 MSRM2S TableĀ 69 ā Functions used by the SSCY1S TableĀ 70 ā Primitives issued by FSPMS to MSRM2S TableĀ 71 ā Primitives issued by MSRM2S to FSPMS |
239 | FigureĀ 22 ā Example for connection establishment on MS2(server-side) |
240 | FigureĀ 23 ā Structure of RM entries in the RM_Registry |
241 | TableĀ 72 ā MSRM2S state table |
243 | 9.5 MSAC2S TableĀ 73 ā Primitives issued by FSPMS to MSAC2S |
244 | TableĀ 74 ā Primitives issued by MSAC2S to FSPMS |
245 | TableĀ 75 ā Primitives issued by MSRM2S to MSAC2S TableĀ 76 ā Primitives issued by MSAC2S to MSRM2S TableĀ 77 ā Parameter used with primitives exchanged with MSAC2S |
248 | TableĀ 78 ā MSAC2S state table |
259 | 9.6 MSCS1S TableĀ 79 ā Primitives issued by MSCS1S to FSPMS |
260 | TableĀ 80 ā MSCS1S state table |
261 | 9.7 MSCY1M TableĀ 81 ā Primitives issued by FSPMM1 to MSCY1M TableĀ 82 ā Primitives issued by MSCY1M to FSPMM1 |
262 | TableĀ 83 ā Parameters used with primitives exchanged between FSPMM1 and MSCY1M |
265 | TableĀ 84 ā MSCY1M state table |
279 | 9.8 MSAL1M |
280 | TableĀ 85 ā Primitives issued by FSPMM1 to MSAL1M TableĀ 86 ā Primitives issued by MSAL1M to FSPMM1 TableĀ 87 ā Primitives issued by MSCY1M to MSAL1M TableĀ 88 ā Primitives issued by MSAL1M to MSCY1M |
281 | TableĀ 89 ā Parameter used with primitives exchanged between MSAL1M and MSCY1M |
282 | TableĀ 90 ā Possible values in the Alarm_State_Table |
284 | TableĀ 91 ā MSAL1M state table |
288 | 9.9 MSAC1M |
289 | TableĀ 92 ā Primitives issued by FSPMM1 to MSAC1M TableĀ 93 ā Primitives issued by MSAC1M to FSPMM1 |
290 | TableĀ 94 ā Primitives issued by MSAL1M to MSAC1M TableĀ 95 ā Primitives issued by MSAC1M to MSAL1M TableĀ 96 ā Parameter used with primitives exchanged between MSAL1M and MSCY1M |
296 | TableĀ 97 ā MSAC1M state table |
301 | 9.10 MMAC1 |
302 | TableĀ 98 ā Primitives issued by FSPMM1 to MMAC1 TableĀ 99 ā Primitives issued by MMAC1 to FSPMM1 |
303 | TableĀ 100 ā MMAC1 state table |
308 | 9.11 MSCS1M TableĀ 101 ā Primitives issued by FSPMM1 to MSCS1M |
309 | TableĀ 102 ā Primitives issued by MSCS1M to FSPMM1 |
310 | TableĀ 103 ā MSCS1M state table |
312 | 9.12 MSAC2M |
313 | TableĀ 104 ā Primitives issued by FSPMM2 to MSAC2M TableĀ 105 ā Primitives issued by MSAC2M to FSPMM2 |
314 | TableĀ 106 ā Parameters used with primitives exchanged with MSAC2M |
318 | TableĀ 107 ā MSAC2M state table |
327 | 9.13 MMAC2 |
328 | TableĀ 108 ā Primitives issued by FSPMM2 to MMAC2 TableĀ 109 ā Primitives issued by MMAC2 to FSPMM2 |
329 | TableĀ 110 ā Parameters used with primitives exchanged with MMAC2 |
330 | TableĀ 111 ā MMAC2 state table |
334 | 10 DLL mapping protocol machines (DMPMs) 10.1 DMPMS |
335 | TableĀ 112 ā Primitives issued by FSPMS to DMPMS TableĀ 113 ā Primitives issued by DMPMS to FSPMS TableĀ 114 ā Primitives issued by MSCY1S to DMPMS |
336 | TableĀ 115 ā Primitives issued by DMPMS to MSCY1S TableĀ 116 ā Primitives issued by DMPMS to SSCY1S |
337 | TableĀ 117 ā Primitives issued by MSAC1S, MSRM2S, MSAC2S to DMPMS TableĀ 118 ā Primitives issued by DMPMS to MSAC1S, MSRM2S, MSAC2S TableĀ 119 ā Primitives issued by DMPMS to MSCS1S |
338 | TableĀ 120 ā Primitives issued by DMPMS to DL TableĀ 121 ā Primitives issued by DL to DMPMS |
339 | TableĀ 122 ā Parameters used with primitives exchanged with DMPMS |
341 | TableĀ 123 ā DMPMS state table |
347 | TableĀ 124 ā Functions used by the DMPMS |
348 | 10.2 DMPMM1 TableĀ 125 ā Primitives issued by FSPMM1 to DMPMM1 TableĀ 126 ā Primitives issued by DMPMM1 to FSPMM1 |
349 | TableĀ 127 ā Primitives issued by MSCY1M to DMPMM1 TableĀ 128 ā Primitives issued by DMPMM1 to MSCY1M |
350 | TableĀ 129 ā Primitives issued by MSAL1M, MSAC1M to DMPMM1 TableĀ 130 ā Primitives issued by DMPMM1 to MSAL1M, MSAC1M TableĀ 131 ā Primitives issued by MMAC1 to DMPMM1 TableĀ 132 ā Primitives issued by DMPMM1 to MMAC1 |
351 | TableĀ 133 ā Primitives issued by MSCS1M to DMPMM1 TableĀ 134 ā Primitives issued by DMPMM1 to MSCS1M TableĀ 135 ā Primitives issued by DMPMM1 to DL |
352 | TableĀ 136 ā Primitives issued by DL to DMPMM1 |
353 | TableĀ 137 ā Parameters used with primitives exchanged with DMPMM1 |
354 | TableĀ 138 ā Possible values of status |
355 | TableĀ 139 ā DMPMM1 state table |
362 | TableĀ 140 ā Functions used by the DMPMM1 |
363 | 10.3 DMPMM2 TableĀ 141 ā Primitives issued by FSPMM2 to DMPMM2 TableĀ 142 ā Primitives issued by DMPMM2 to FSPMM2 |
364 | TableĀ 143 ā Primitives issued by MSAC2M to DMPMM2 TableĀ 144 ā Primitives issued by DMPMM2 to MSAC2M TableĀ 145 ā Primitives issued by MMAC2 to DMPMM2 |
365 | TableĀ 146 ā Primitives issued by DMPMM2 to MMAC2 TableĀ 147 ā Primitives issued by DMPMM2 to DL TableĀ 148 ā Primitives issued by DL to DMPMM2 |
366 | TableĀ 149 ā Parameters used with primitives exchanged with DMPMM2 |
367 | TableĀ 150 ā DMPMM2 state TableĀ |
370 | TableĀ 151 ā Functions used by DMPMM2 |
371 | 11 Parameters for a DP-slave TableĀ 152 ā Bus parameter/reaction times for a DP-slave |
372 | Bibliography |