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 |