IEC 61158-6-8:2007
(Main)Industrial communication networks - Fieldbus specifications - Part 6-8: Application layer protocol specification - Type 8 elements
Industrial communication networks - Fieldbus specifications - Part 6-8: Application layer protocol specification - Type 8 elements
IEC 61158-6-8:2007 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 8 fieldbus. It specifies interactions between remote applications and defines the externally visible behavior provided by the Type 8 fieldbus application layer. It defines the protocol provided to: define the wire-representation of the service primitives defined in IEC 61158 5-8, and define the externally visible behavior associated with their transfer. It specifies the protocol of the Type 8 fieldbus application layer, in conformance with the OSI Basic Reference Model (ISO/IEC 7498) and the OSI application layer structure (ISO/IEC 9545). This first edition and its companion parts of the IEC 61158-6 subseries cancel and replace IEC 61158-6:2003 and constitutes a technical revision. It includes the following significant changes from the previous edition:
- deletion of the former Type 6 fieldbus for lack of market relevance;
- addition of new types of fieldbuses;
- partition of part 6 of the third edition into multiple parts. This bilingual version corresponds to the monolingual English version, published in 2007-12.
Réseaux de communication industriels - Spécifications de bus de terrain - Partie 6-8: Spécification de protocole de couche application - Éléments de Type 8
La CEI 61158-6-8:2007 fournit les éléments communs pour les communications de messagerie de base à temps critique et à temps non critique entre des programmes d'application dans un environnement d'automation et le matériau spécifique au bus de terrain de Type 8. Elle spécifie les interactions entre les applications distantes et définit le comportement visible de l'extérieur fourni par la couche application de bus de terrain de Type 8. Elle défini le protocole fourni pour: définir la représentation câblée des primitives de service définies dans la CEI 61158-5-8, et définir le comportement visible de l'extérieur qui est associé à leur transfert. Elle spécifie le protocole de la couche application des bus de terrain de Type 8, en conformité avec le Modèle de référence de base de l'OSI (ISO/CEI 7498) et la structure de la couche application de l'OSI (ISO/CEI 9545). Cette première édition et ses parties d'accompagnement de la sous-série CEI 61158-6 annulent et remplacent la CEI 61158-6:2003. Elle constitue une révision technique. Par rapport à l'édition précédente, la présente édition de la CEI 61158-6 comporte les modifications:
- suppression du précédent bus de terrain de Type 6 en raison du manque de pertinence commerciale;
- ajout de nouveaux types de bus de terrain;
- division de la partie 6 de la troisième édition en plusieurs parties. La présente version bilingue correspond à la version anglaise monolingue publiée en 2007-12.
General Information
Relations
Standards Content (Sample)
IEC 61158-6-8
Edition 1.0 2007-12
INTERNATIONAL
STANDARD
Industrial communication networks – Fieldbus specifications –
Part 6-8: Application layer protocol specification – Type 8 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
3, rue de Varembé
CH-1211 Geneva 20
Switzerland
Email: inmail@iec.ch
Web: www.iec.ch
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 corrigenda or an amendment might have been published.
ƒ Catalogue of IEC publications: www.iec.ch/searchpub
The IEC on-line Catalogue enables you to search by a variety of criteria (reference number, text, technical committee,…).
It also gives information on projects, withdrawn and replaced publications.
ƒ IEC Just Published: www.iec.ch/online_news/justpub
Stay up to date on all new IEC publications. Just Published details twice a month all new publications released. Available
on-line and also by email.
ƒ Electropedia: www.electropedia.org
The world's leading online dictionary of electronic and electrical terms containing more than 20 000 terms and definitions
in English and French, with equivalent terms in additional languages. Also known as the International Electrotechnical
Vocabulary online.
ƒ Customer Service Centre: www.iec.ch/webstore/custserv
If you wish to give us your feedback on this publication or need further assistance, please visit the Customer Service
Centre FAQ or contact us:
Email: csc@iec.ch
Tel.: +41 22 919 02 11
Fax: +41 22 919 03 00
IEC 61158-6-8
Edition 1.0 2007-12
INTERNATIONAL
STANDARD
Industrial communication networks – Fieldbus specifications –
Part 6-8: Application layer protocol specification – Type 8 elements
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
PRICE CODE
XD
ICS 35.100.70; 25.040.40 ISBN 2-8318-9478-6
– 2 – 61158-6-8 © IEC:2007(E)
CONTENTS
FOREWORD.6
INTRODUCTION.8
1 Scope.9
1.1 General .9
1.2 Specifications.9
1.3 Conformance.9
2 Normative references .10
3 Terms and definitions .10
3.1 ISO/IEC 7498-1 terms .10
3.9 ISO/IEC 8822 terms .11
3.11 ISO/IEC 9545 terms .11
3.16 ISO/IEC 8824 terms .11
3.37 ISO/IEC 8825 terms .12
3.40 Terms and definitions from IEC 61158-5-8.12
3.47 Other terms and definitions .12
4 FAL syntax description .13
4.1 FAL-AR PDU abstract syntax .13
4.2 Abstract syntax of PDUBody.16
4.3 Type definitions for ASEs .20
4.4 Object definitions .23
4.5 Abstract syntax of Data types .25
5 Transfer syntax .26
5.1 Peripherals encoding rules (PER).26
5.2 Encoding of APDU types .26
5.3 Encoding of tagged type values.28
5.4 Encoding of simple values.29
6 Protocol machine overview .35
7 AP-context state machine.35
7.1 Primitive definitions .35
7.2 State machine description .36
7.3 AP to AP-context initiation state transitions .37
7.4 Functions .48
8 FAL service protocol machine (FSPM).51
8.1 Summary.51
8.2 Primitive definitions .51
8.3 FSPM state tables .53
9 Application relationship protocol machines (ARPMs) .56
9.1 Queued user-triggered bidirectional-flow control (QUB-FC) ARPM .56
9.2 Buffered network-scheduled unidirectional (BNU) ARPM .78
9.3 Queued user-triggered bidirectional – transparent mode (QUB-TM) ARPM.86
10 DLL mapping protocol machine .90
10.1 Overview .90
10.2 Primitive definitions .91
10.3 DMPM state machine .94
Bibliography.101
61158-6-8 © IEC:2007(E) – 3 –
Figure 1 – APDU overview .26
Figure 2 – APDU header.26
Figure 3 – PDU with type extension .26
Figure 4 – PDU with address extension .27
Figure 5 – PDU with type and length extension .27
Figure 6 – Example of an Establish-Request PDU.27
Figure 7 – Encoding of a PRIVATE tagged value .28
Figure 8 – Encoding of a context specific tagged value.28
Figure 9 – Identification information fields.28
Figure 10 – ID-info for tag 0 . 14 , length entry 0 . 6.29
Figure 11 – ID-info for tag 15 . 255 , length entry 0 . 6 .29
Figure 12 – ID-info for tag 0 . 14 , length entry 7 . 255 .29
Figure 13 – ID-info for tag 15 . 255 , length entry 7 . 255 .29
Figure 14 – Encoding of Boolean value TRUE.29
Figure 15 – Encoding of Boolean value FALSE .29
Figure 16 – Encoding of Strings .30
Figure 17 – Encoding of BinaryDate value .31
Figure 18 – Encoding of BinaryDate2000 value.31
Figure 19 – Encoding of Time-of-day value .32
Figure 20 – Encoding of Time-difference value .32
Figure 21 – Encoding of Time value.33
Figure 22 – Example for an Object definition.34
Figure 23 – Primitives exchanged between protocol machines .35
Figure 24 – AP to AP-context initiation state machine .37
Figure 25 – State transition diagram of FSPM.53
Figure 26 – State transition diagram of QUB-FC ARPM .59
Figure 27 – State transition diagram of the BNU ARPM .81
Figure 28 – State transition diagram of QUB-TM AREP.88
Figure 29 – State transition diagram of DMPM .94
Table 1 – Primitives issued by FAL-user to AP-context .35
Table 2 – Primitives issued by AP-context to FAL-user .36
Table 3 – AP-context state machine sender transactions .37
Table 4 – AP-context state machine receiver transactions .41
Table 5 – Function ResetArep.49
Table 6 – Function ApContextTest .49
Table 7 – Function ServicesSupportedTest .49
Table 8 – Function ApExplicitConnection .49
Table 9 – Function ImmediateAcknowledge .49
Table 10 – Function ConfirmedServiceCheck.49
Table 11 – Function UnconfirmedServiceCheck .49
Table 12 – Function ArServiceCheck .50
– 4 – 61158-6-8 © IEC:2007(E)
Table 13 – Function ArFspmService .50
Table 14 – Function ArAcceeSupported .50
Table 15 – Function MaxFalPduLengthTest .50
Table 16 – Function NegotiateOutstandingServices .50
Table 17 – Function RequestedServicesSupportedTest .51
Table 18 – Function IndicatedServicesSupportedTest.51
Table 19 – Function InvokeIdExistent .51
Table 20 – Function SameService.51
Table 21 – Primitives issued by AP-context to FSPM .52
Table 22 – Primitives issued by FSPM to AP-context .52
Table 23 – FSPM state table – sender transactions .53
Table 24 – FSPM state table – receiver transactions .55
Table 25 – Function SelectArep .55
Table 26 – Primitives issued by FSPM to ARPM .56
Table 27 – Primitives issued by ARPM to FSPM .56
Table 28 – Parameters used with primitives exchanged between FSPM and ARPM .57
Table 29 – QUB-FC ARPM states .59
Table 30 – QUB-FC ARPM state table – sender transactions .60
Table 31 – QUB-FC ARPM state table – receiver transactions .65
Table 32 – Function GetArepId ().76
Table 33 – Function BuildFAL-PDU.76
Table 34 – Function FAL_Pdu_Type .77
Table 35 – Function AREPContextCheck().77
Table 36 – Function AbortIdentifier .77
Table 37 – Function AbortReason.77
Table 38 – Function AbortDetail.77
Table 39 – Function StartTimer.78
Table 40 – Function StopTimer .78
Table 41 – Function ResetCounters .78
Table 42 – Function IncrementCounter .78
Table 43 – Function DecrementCounter .78
Table 44 – Function GetCounterValue .78
Table 45 – Primitives issued by FSPM to ARPM .79
Table 46 – Primitives issued by ARPM to FSPM .79
Table 47 – Parameters used with primitives exchanged between FSPM and ARPM .79
Table 48 – BNU ARPM states .81
Table 49 – BNU ARPM state table – sender transactions.81
Table 50 – BNU ARPM state table – receiver transactions .82
Table 51 – Function GetArepId ().85
Table 52 – Function BuildFAL-PDU.85
Table 53 – Function FAL_Pdu_Type .85
Table 54 – Function AbortIdentifier .85
Table 55 – Function AbortReason.85
61158-6-8 © IEC:2007(E) – 5 –
Table 56 – Function AbortDetail.85
Table 57 – Primitives issued by FAL to ARPM .86
Table 58 – Primitives issued by ARPM to FAL .86
Table 59 – Parameters used with primitives exchanged between FAL and ARPM .86
Table 60 – QUB-TM ARPM states.88
Table 61 – QUB-TM state table - sender transactions .88
Table 62 – QUB-TM state table - receiver transactions .89
Table 63 – Function GetArepId ().89
Table 64 – Function BuildFAL-PDU.89
Table 65 – Function FAL_Pdu_Type .89
Table 66 – Function ResetCounters .90
Table 67 – Function IncrementCounter .90
Table 68 – Function DecrementCounter .90
Table 69 – Function GetCounterValue .90
Table 70 – Primitives issued by ARPM to DMPM .91
Table 71 – Primitives issued by DMPM to ARPM .92
Table 72 – Parameters used with primitives exchanged between ARPM and DMPM .93
Table 73 – Primitives exchanged between data-link layer and DMPM .93
Table 74 – DMPM state descriptions.94
Table 75 – DMPM state table – sender transactions .94
Table 76 – DMPM state table – receiver transactions.98
Table 77 – Function PickArep .99
Table 78 – Function FindAREP .99
Table 79 – Function SelectNextArep .99
Table 80 – Function ArepRole.100
Table 81 – Function FalArHeader .100
Table 82 – Function AddUcsPduHeader.100
Table 83 – Function RemoveUcsPduHeader .100
Table 84 – Function DlLinkStatus .100
– 6 – 61158-6-8 © IEC:2007(E)
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
INDUSTRIAL COMMUNICATION NETWORKS –
FIELDBUS SPECIFICATIONS –
Part 6-8: Application layer protocol specification – Type 8 elements
FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
international co-operation on all questions concerning standardization in the electrical and electronic fields. To
this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as “IEC
Publication(s)”). Their preparation is entrusted to technical committees; any IEC National Committee interested
in the subject dealt with may participate in this preparatory work. International, governmental and non-
governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
with the International Organization for Standardization (ISO) in accordance with conditions determined by
agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence
between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
the latter.
5) IEC provides no marking procedure to indicate its approval and cannot be rendered responsible for any
equipment declared to be in conformity with an IEC Publication.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
NOTE Use of some of the associated protocol types is restricted by their intellectual-property-right holders. In all
cases, the commitment to limited release of intellectual-property-rights made by the holders of those rights permits
a particular data-link layer protocol type to be used with physical layer and application layer protocols in Type
combinations as specified explicitly in the IEC 61784 series. Use of the various protocol types in other
combinations may require permission from their respective intellectual-property-right holders.
IEC draws attention to the fact that it is claimed that compliance with this standard may involve the use of patents
as follows, where the [xx] notation indicates the holder of the patent right:
Type 8:
DE 197 39 297 C2 [PxC] "Automatisierungssystem und Steuervorrichtung zur transparenten
Kommunikation zwischen verschiedenen Netzwerken."
US 2002/0042845 A1 [PxC] "Automation System and connecting Apparatus for the Transparent
Communication between two Networks."
The IEC takes no position concerning the evidence, validity and scope of these patent rights.:
The holders of these patent rights have assured the IEC that they are willing to negotiate licences under
reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this respect, the
statement of the holders of these patent rights are registered with the IEC. Information may be obtained from:
[PxC]: Phoenix Contact GmbH & Co. KG
Intellectual Property Licenses & Standards
Flachsmarktstr. 8
D-32825 Blomberg,
Germany
Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of
patent rights other than those identified above. IEC shall not be held responsible for identifying any or all such
patent rights.
61158-6-8 © IEC:2007(E) – 7 –
International Standard IEC 61158-6-8 has been prepared by subcommittee 65C: Industrial
networks, of IEC technical committee 65: Industrial-process measurement, control and
automation.
This first edition and its companion parts of the IEC 61158-6 subseries cancel and replace
IEC 61158-6:2003. This edition of this part constitutes a technical revision.
This edition of IEC 61158-6 includes the following significant changes from the previous
edition:
a) deletion of the former Type 6 fieldbus for lack of market relevance;
b) addition of new types of fieldbuses;
c) partition of part 6 of the third edition into multiple parts numbered -6-2, -6-3, …
The text of this standard is based on the following documents:
FDIS Report on voting
65C/476/FDIS 65C/487/RVD
Full information on the voting for the approval of this standard can be found in the report on
voting indicated in the above table.
This publication has been drafted in accordance with ISO/IEC Directives, Part 2.
The committee has decided that the contents of this publication will remain unchanged until
the maintenance result date indicated on the IEC web site under http://webstore.iec.ch in the
data related to the specific publication. At this date, the publication will be:
• reconfirmed;
• withdrawn;
• replaced by a revised edition, or
• amended.
NOTE The revision of this standard will be synchronized with the other parts of the IEC 61158 series.
The list of all the parts of the IEC 61158 series, under the general title Industrial
communication networks – Fieldbus specifications, can be found on the IEC web site.
– 8 – 61158-6-8 © IEC:2007(E)
INTRODUCTION
This part of IEC 61158 is one of a series produced to facilitate the interconnection of
automation system components. It is related to other standards in the set as defined by the
“three-layer” fieldbus reference model described in IEC/TR 61158-1.
The application protocol provides the application service by making use of the services
available from the data-link or other immediately lower layer. The primary aim of this standard
is to provide a set of rules for communication expressed in terms of the procedures to be
carried out by peer application entities (AEs) at the time of communication. These rules for
communication are intended to provide a sound basis for development in order to serve a
variety of purposes:
• as a guide for implementors and designers;
• for use in the testing and procurement of equipment;
• as part of an agreement for the admittance of systems into the open systems environment;
• as a refinement to the understanding of time-critical communications within OSI.
This standard is concerned, in particular, with the communication and interworking of sensors,
effectors and other automation devices. By using this standard together with other standards
positioned within the OSI or fieldbus reference models, otherwise incompatible systems may
work together in any combination.
61158-6-8 © IEC:2007(E) – 9 –
INDUSTRIAL COMMUNICATION NETWORKS –
FIELDBUS SPECIFICATIONS –
Part 6-8: Application layer protocol specification – Type 8 elements
1 Scope
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 8 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 specifies interactions between remote applications and defines the externally
visible behavior provided by the Type 8 fieldbus application layer in terms of
a) the formal abstract syntax defining the application layer protocol data units conveyed
between communicating application entities;
b) the transfer syntax defining encoding rules that are applied to the application layer
protocol data units;
c) the application context state machine defining the application service behavior visible
between communicating application entities;
d) 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
1) define the wire-representation of the service primitives defined in IEC 61158-5-8, and
2) define the externally visible behavior associated with their transfer.
This standard specifies the protocol of the Type 8 fieldbus application layer, in conformance
with the OSI Basic Reference Model (ISO/IEC 7498) and the OSI application layer structure
(ISO/IEC 9545).
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-8.
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 the IEC 61158-6 series.
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.
– 10 – 61158-6-8 © IEC:2007(E)
Conformance is achieved through implementation of this application layer protocol
specification.
2 Normative references
The following referenced documents are indispensable for the application of this document.
For dated references, only the edition cited applies. For undated references, the latest edition
of the referenced document (including any amendments) applies.
IEC 60559, Binary floating-point arithmetic for microprocessor systems
IEC 61158-3-8, Industrial communication networks – Fieldbus specifications – Part 3-8: Data-
link layer service definition – Type 8 elements
IEC 61158-4-8, Industrial communication networks – Fieldbus specifications – Part 4-8: Data-
link layer protocol specification – Type 8 elements
IEC 61158-5-8, Industrial communication networks – Fieldbus specifications – Part 5-8:
Application layer service definition – Type 8 elements
ISO/IEC 7498 (all parts), Information technology – Open Systems Interconnection – Basic
Reference Model
ISO/IEC 8822, Information technology – Open Systems Interconnection – Presentation
service definition
ISO/IEC 8824, Information technology – Open Systems Interconnection – Specification of
Abstract Syntax Notation One (ASN.1)
ISO/IEC 8825, Information technology – ASN.1 encoding rules: Specification of Basic
Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules
(DER)
ISO/IEC 9545, Information technology – Open Systems Interconnection – Application Layer
structure
3 Terms and definitions
For the purposes of this document, the following terms, definitions, symbols, abbreviations
and conventions apply.
3.1 ISO/IEC 7498-1 terms
This standard is partly based on the concepts developed in ISO/IEC 7498-1, and makes use
of the following terms defined therein:
3.2
application entity
3.3
application process
3.4
application protocol data unit
3.5
application service element
61158-6-8 © IEC:2007(E) – 11 –
3.6
application entity invocation
3.7
application transaction
3.8
transfer syntax
3.9 ISO/IEC 8822 terms
For the purposes of this document, the following term as defined in ISO/IEC 8822 applies:
3.10
abstract syntax
3.11 ISO/IEC 9545 terms
For the purposes of this document, the following terms as defined in ISO/IEC 9545 apply:
3.12
application-context
3.13
application-process-type
3.14
application-service-element
3.15
application control service element
3.16 ISO/IEC 8824 terms
For the purposes of this document, the following terms as defined in ISO/IEC 8824 apply:
3.17
any type
3.18
bitstring type
3.19
Boolean type
3.20
choice type
3.21
component type
3.22
false
3.23
integer type
3.24
module
3.25
null type
3.26
object identifier
3.27
octetstring type
– 12 – 61158-6-8 © IEC:2007(E)
3.28
production
3.29
simple type
3.30
sequence of type
3.31
sequence type
3.32
structured type
3.33
tag
3.34
tagged type
3.35
true
3.36
type
3.37 ISO/IEC 8825 terms
For the purposes of this document, the following terms as defined in ISO/IEC 8825 apply:
3.38
encoding (of a data value)
3.39
data value
3.40 Terms and definitions from IEC 61158-5-8
3.41
application relationship
3.42
client
3.43
error class
3.44
publisher
3.45
server
3.46
subscriber
3.47 Other terms and definitions
The following terms and definitions are used in this standard.
3.48
called
service user or a service provider that receives an indication primitive or a request APDU
3.49
calling
service user or a service provider that initiates a request primitive or a request APDU
61158-6-8 © IEC:2007(E) – 13 –
3.50
management information
network accessible information that supports the management of the Fieldbus environment
3.51
receiving
service user that receives a confirmed primitive or an unconfirmed primitive, or a service
provider that receives a confirmed APDU or an unconfirmed APDU
3.52
resource
resource is a processing or information capability of a subsystem
3.53
sending
service user that sends a confirmed primitive or an unconfirmed primitive, or a service
provider that sends a confirmed APDU or an unconfirmed APDU
4 FAL syntax description
4.1 FAL-AR PDU abstract syntax
4.1.1 Top level definition
The productions defined here shall be used with the Peripherals Encoding Rules (see 5.2) for
APDU encoding.
APDU ::= CHOICE {
[PRIVATE 0] ConfirmedSend-RequestPDU,
[PRIVATE 1] ConfirmedSend-ResponsePDU,
[PRIVATE 2] UnconfirmedSend-PDU,
[PRIVATE 3] UnconfirmedAcknowledgedSend-CommandPDU,
[PRIVATE 4] Establish-RequestPDU,
[PRIVATE 5] Establish-ResponsePDU,
[PRIVATE 6] Establish-ErrorPDU,
[PRIVATE 7] Abort-PDU,
[PRIVATE 8] DataSendAcknowledge-PDU
}
4.1.2 Confirmed send service
ConfirmedSend-RequestPDU ::= SEQUENCE {
[APPLICATION 0] AddressAREP,
InvokeID,
ConfirmedServiceRequest
}
ConfirmedSend-ResponsePDU ::= SEQUENCE {
[APPLICATION 1] AddressAREP,
InvokeID,
pduBody CHOICE {
ConfirmedServiceResponse,
ConfirmedServiceError
}
}
4.1.3 Unconfirmed send service
UnconfirmedSend-PDU ::= SEQUENCE {
[APPLICATION 2] AddressAREP,
InvokeID,
pduBody CHOICE {
UnconfirmedServiceRequest,
UnconfirmedSendPD-PDU
}
}
– 14 – 61158-6-8 © IEC:2007(E)
4.1.4 Unconfirmed acknowledge send service
UnconfirmedAcknowledgeSend-CommandPDU ::= SEQUENCE {
[APPLICATION 3] AddressAREP,
InvokeID,
UnconfirmedServiceRequest
}
4.1.5 Establish service
Establish-RequestPDU ::= SEQUENCE {
[APPLICATION 4] AddressAREP,
ConType,
MaxOSCC,
MaxOSCS,
MAXUCSC,
MAXUCSS,
CIU,
InvokeID,
initiateRequest [PRIVATE 0] IMPLICIT Initiate-RequestPDU
}
Establish-ResponsePDU ::= SEQUENCE {
[APPLICATION 5] AddressAREP,
InvokeID,
initiateResponse [PRIVATE 0] IMPLICIT Initiate-ResponsePDU
}
Establish-ErrorPDU ::= SEQUENCE {
[APPLICATION 6] AddressAREP,
InvokeID,
initiateError [PRIVATE 0] IMPLICIT Initiate-ErrorPDU
}
4.1.6 MaxOSCC
MaxOSCC ::= Unsigned8
4.1.7 MaxOSCS
MaxOSCS ::= Unsigned8
4.1.8 MaxUCSC
MaxUCC ::= Unsigned8
4.1.9 MaxUCSS
MaxUCS ::= Unsigned8
4.1.10 CIU
CIU ::= Unsigned32
4.1.11 InvokeID
InvokeID ::= Unsigned8
4.1.12 ConType
ConType ::= ENUMERATED {
mmaz (0)
}
61158-6-8 © IEC:2007(E) – 15 –
4.1.13 Data send acknowledge service
DataSendAcknowledge-PDU ::= SEQUENCE {
Protocol-Code,[APPLICATION 8],Address2ARP, --- Protocol-Code in the higher nibble of the octet!!!
Block-Number,
Block-Length,
Protocol-Data,
}
4.1.14 Protocol-Code
Protocol-Code ::= ENUMERATED {
TCP/IP (1) --- TCP/IP protocol
}
4.1.15 Block-Number
Block-Number ::= Unsigned8 --- 0 no blocking
---- 1…254 block number
---- 255 last block
4.1.16 Block-Length
Block-Length ::= Unsigned
4.1.17 Protocol-Data
Protocol-Data::= Any --- transparent protocol transfer
4.1.18 Address2 ARP
Address2ARP ::= SEQUENCE {
Destination-Address,
Source-Address,
Destination-Node,
Destination-Subnode,
Source-Node,
Source-Subnode
}
4.1.19 Destination-Address
Destination-Address ::= OctetString --- 3 Octets
4.1.20 Source-Address
Source-Address ::= OctetString --- 3 Octets
4.1.21 Destination-Node
Destination-Node ::= Unsigned8
4.1.22 Source-Node
Source-Node ::= Unsigned8
4.1.23 Destination-Subnode
Destination-Subnode ::= Unsigned8
4.1.24 Source-Subnode
Source-Subnode ::= Unsigned8
– 16 – 61158-6-8 © IEC:2007(E)
4.2 Abstract syntax of PDUBody
4.2.1 Abort service
Abort-PDU ::= SEQUENCE {
[APPLICATION 7] AddressAREP,
Identifier,
ReasonCode,
AdditionalDetail
}
4.2.2 ConfirmedServiceRequest
ConfirmedServiceRequest::= CHOICE {
read-Request [0] IMPLICIT Read-RequestPDU,
write-Request [3] IMPLICIT Write-RequestPDU,
start-Request [6] IMPLICIT Start-RequestPDU,
stop-Request [9] IMPLICIT Stop-RequestPDU,
status-Request [15] IMPLICIT Status-RequestPDU,
identify-Request [18] IMPLICIT Identify-RequestPDU,
getAttributes1-Request [21] IMPLICIT GetAttributes-RequestPDU, -- short form
getAttributes2-Request [35] IMPLICIT GetAttributes-RequestPDU, -- long form
reset-Request [36] IMPLICIT Reset-RequestPDU,
resume-Request [39] IMPLICIT Resume-RequestPDU
}
4.2.3 ConfirmedServiceResponse
ConfirmedServiceResponse ::= CHOICE {
read-Response [1] IMPLICIT Read-ResponsePDU,
write-Response [4] IMPLICIT Write-ResponsePDU,
start-Response [7] IMPLICIT Start-ResponsePDU,
stop-Response [10] IMPLICIT Stop-ResponsePDU,
status-Response [16] IMPLICIT Status-ResponsePDU,
identify-Response [19] IMPLICIT Identify-ResponsePDU,
getAttributes-Response [22] IMPLICIT GetAttributes-ResponsePDU,
reset-Response [37] IMPLICIT Reset-ResponsePDU,
resume-Response [40] IMPLICIT Resume-ResponsePDU
}
4.2.4 ConfirmedServiceError
ConfirmedServiceError ::= CHOICE {
read-Error [2] IMPLICIT ErrorType,
write-Error [5] IMPLICIT ErrorType,
start-Error [8] IMPLICIT ErrorFiType,
stop-Error [11] IMPLICIT ErrorFiType,
status-Error [17] IMPLICIT ErrorType,
identify-Error [20] IMPLICIT ErrorType,
getAttributes-Error [23] IMPLICIT ErrorType,
reset-Error [38] IMPLICIT ErrorFiType,
resume-Error [41] IMPLICIT ErrorFiType
}
4.2.5 Error type
ErrorType ::= SEQUENCE {
errorClass [0] IMPLICIT ErrorClass,
optionalParametersMap [10] IMPLICIT Gn_OptionalParametersMap8 OPTIONAL,
additionalCode [1] IMPLICIT Integer16 OPTIONAL,
additionalDescription [2] IMPLICIT VisibleString OPTIONAL,
}
4.2.6 Error Fi type
ErrorFiType ::= SEQUENCE {
errorClass [0] IMPLICIT ErrorClass,
additionalCode [1] IMPLICIT Integer16 OPTIONAL,
fiState [3] IMPLICIT Integer8
}
61158-6-8 © IEC:2007(E) – 17 –
4.2.7 Error class
ErrorClass ::= CHOICE
{
vfdState [1] IMPLICIT Integer8 {
other (0)
},
applicationReference [2] IMPLICIT Integer8 {
other (0),
application-unreachable (1),
application-reference-invalid (2),
context-unsupported (3)
},
definition [3] IMPLICIT Integer8 {
other (0),
object-undefined (1),
object-attributes-inconsistent (2),
name-already-exists (3),
type-unsupported (4),
type-inconsistent (5)
},
resource [4] IMPLICIT Integer8 {
other (0),
memory-unavailable (1)
},
service [5] IMPLICIT Integer8 {
other (0),
object-state-conflict (1),
pdu-size (2),
object-constraint-conflict (3),
parameter-inconsistent (4),
illegal-parameter (5)
},
access [6] IMPLICIT Integer8 {
other (0),
object-invalidated (1),
hardware-fault (2),
object-access-denied (3),
invalid-address (4),
object-attribute-inconsistent (5),
object-access-unsupported (6),
object-non-existent (7),
type-conflict (8),
named-access-unsupported (9),
access-to-element- (10)
unsupported
},
objectDescription [7] IMPLICIT Integer8 {
other (0),
name-length-overflow (1),
od-overflow (2),
od-write-protected (3),
extension-length-overflow (4),
od-description-length- (5),
overflow
operational-problem (6)
},
conclude [9] IMPLICIT Integer8 {
other (0),
further-communication- (1)
required
},
other [8] IMPLICIT Integer8 {
...
IEC 61158-6-8 ®
Edition 1.0 2007-12
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
Industrial communication networks – Fieldbus specifications –
Part 6-8: Application layer protocol specification – Type 8 elements
Réseaux de communication industriels – Spécifications de bus de terrain –
Partie 6-8: Spécification de protocole de couche application – Éléments de
Type 8
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 la CEI ou du Comité national de la CEI du pays du demandeur.
Si vous avez des questions sur le copyright de la CEI 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 la CEI de votre pays de résidence.
IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé Fax: +41 22 919 03 00
CH-1211 Geneva 20 info@iec.ch
Switzerland www.iec.ch
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 corrigenda or an amendment might have been published.
Useful links:
IEC publications search - www.iec.ch/searchpub Electropedia - www.electropedia.org
The advanced search enables you to find IEC publications The world's leading online dictionary of electronic and
by a variety of criteria (reference number, text, technical electrical terms containing more than 30 000 terms and
committee,…). definitions in English and French, with equivalent terms in
It also gives information on projects, replaced and additional languages. Also known as the International
withdrawn publications. Electrotechnical Vocabulary (IEV) on-line.
IEC Just Published - webstore.iec.ch/justpublished Customer Service Centre - webstore.iec.ch/csc
Stay up to date on all new IEC publications. Just Published If you wish to give us your feedback on this publication
details all new publications released. Available on-line and or need further assistance, please contact the
also once a month by email. Customer Service Centre: csc@iec.ch.
A propos de la CEI
La Commission Electrotechnique Internationale (CEI) 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 CEI
Le contenu technique des publications de la CEI est constamment revu. Veuillez vous assurer que vous possédez
l’édition la plus récente, un corrigendum ou amendement peut avoir été publié.
Liens utiles:
Recherche de publications CEI - www.iec.ch/searchpub Electropedia - www.electropedia.org
La recherche avancée vous permet de trouver des Le premier dictionnaire en ligne au monde de termes
publications CEI en utilisant différents critères (numéro de électroniques et électriques. Il contient plus de 30 000
référence, texte, comité d’études,…). termes et définitions en anglais et en français, ainsi que
Elle donne aussi des informations sur les projets et les les termes équivalents dans les langues additionnelles.
publications remplacées ou retirées. Egalement appelé Vocabulaire Electrotechnique
International (VEI) en ligne.
Just Published CEI - webstore.iec.ch/justpublished
Service Clients - webstore.iec.ch/csc
Restez informé sur les nouvelles publications de la CEI.
Just Published détaille les nouvelles publications parues. Si vous désirez nous donner des commentaires sur
Disponible en ligne et aussi une fois par mois par email. cette publication ou si vous avez des questions
contactez-nous: csc@iec.ch.
IEC 61158-6-8 ®
Edition 1.0 2007-12
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
Industrial communication networks – Fieldbus specifications –
Part 6-8: Application layer protocol specification – Type 8 elements
Réseaux de communication industriels – Spécifications de bus de terrain –
Partie 6-8: Spécification de protocole de couche application – Éléments de
Type 8
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
PRICE CODE
INTERNATIONALE
XD
CODE PRIX
ICS 25.040.40; 35.100.70 ISBN 978-2-83220-636-2
– 2 – 61158-6-8 © IEC:2007
CONTENTS
FOREWORD . 6
INTRODUCTION . 8
1 Scope . 9
1.1 General . 9
1.2 Specifications . 9
1.3 Conformance . 10
2 Normative references . 10
3 Terms and definitions . 10
3.1 ISO/IEC 7498-1 terms . 10
3.9 ISO/IEC 8822 terms . 11
3.11 ISO/IEC 9545 terms . 11
3.16 ISO/IEC 8824 terms . 11
3.37 ISO/IEC 8825 terms . 12
3.40 Terms and definitions from IEC 61158-5-8. 12
3.47 Other terms and definitions . 12
4 FAL syntax description . 13
4.1 FAL-AR PDU abstract syntax . 13
4.2 Abstract syntax of PDUBody . 16
4.3 Type definitions for ASEs . 21
4.4 Object definitions . 24
4.5 Abstract syntax of Data types . 26
5 Transfer syntax . 27
5.1 Peripherals encoding rules (PER) . 27
5.2 Encoding of APDU types . 27
5.3 Encoding of tagged type values . 29
5.4 Encoding of simple values . 30
6 Protocol machine overview . 36
7 AP-context state machine . 36
7.1 Primitive definitions . 36
7.2 State machine description . 37
7.3 AP to AP-context initiation state transitions . 38
7.4 Functions . 49
8 FAL service protocol machine (FSPM) . 52
8.1 Summary . 52
8.2 Primitive definitions . 52
8.3 FSPM state tables . 54
9 Application relationship protocol machines (ARPMs) . 57
9.1 Queued user-triggered bidirectional-flow control (QUB-FC) ARPM . 57
9.2 Buffered network-scheduled unidirectional (BNU) ARPM . 79
9.3 Queued user-triggered bidirectional – transparent mode (QUB-TM) ARPM . 87
10 DLL mapping protocol machine . 91
10.1 Overview . 91
10.2 Primitive definitions . 92
10.3 DMPM state machine . 95
Bibliography . 102
61158-6-8 © IEC:2007 – 3 –
Figure 1 – APDU overview . 27
Figure 2 – APDU header . 27
Figure 3 – PDU with type extension . 27
Figure 4 – PDU with address extension . 28
Figure 5 – PDU with type and length extension . 28
Figure 6 – Example of an Establish-Request PDU. 28
Figure 7 – Encoding of a PRIVATE tagged value . 29
Figure 8 – Encoding of a context specific tagged value . 29
Figure 9 – Identification information fields . 29
Figure 10 – ID-info for tag 0 . 14 , length entry 0 . 6 . 30
Figure 11 – ID-info for tag 15 . 255 , length entry 0 . 6 . 30
Figure 12 – ID-info for tag 0 . 14 , length entry 7 . 255 . 30
Figure 13 – ID-info for tag 15 . 255 , length entry 7 . 255 . 30
Figure 14 – Encoding of Boolean value TRUE . 30
Figure 15 – Encoding of Boolean value FALSE . 30
Figure 16 – Encoding of Strings . 31
Figure 17 – Encoding of BinaryDate value . 32
Figure 18 – Encoding of BinaryDate2000 value . 32
Figure 19 – Encoding of Time-of-day value . 33
Figure 20 – Encoding of Time-difference value . 33
Figure 21 – Encoding of Time value . 34
Figure 22 – Example for an Object definition . 35
Figure 23 – Primitives exchanged between protocol machines . 36
Figure 24 – AP to AP-context initiation state machine . 38
Figure 25 – State transition diagram of FSPM . 54
Figure 26 – State transition diagram of QUB-FC ARPM . 60
Figure 27 – State transition diagram of the BNU ARPM . 82
Figure 28 – State transition diagram of QUB-TM AREP . 89
Figure 29 – State transition diagram of DMPM . 95
Table 1 – Primitives issued by FAL-user to AP-context . 36
Table 2 – Primitives issued by AP-context to FAL-user . 37
Table 3 – AP-context state machine sender transactions . 38
Table 4 – AP-context state machine receiver transactions . 42
Table 5 – Function ResetArep . 50
Table 6 – Function ApContextTest . 50
Table 7 – Function ServicesSupportedTest . 50
Table 8 – Function ApExplicitConnection . 50
Table 9 – Function ImmediateAcknowledge . 50
Table 10 – Function ConfirmedServiceCheck . 50
Table 11 – Function UnconfirmedServiceCheck . 50
Table 12 – Function ArServiceCheck . 51
– 4 – 61158-6-8 © IEC:2007
Table 13 – Function ArFspmService . 51
Table 14 – Function ArAcceeSupported . 51
Table 15 – Function MaxFalPduLengthTest . 51
Table 16 – Function NegotiateOutstandingServices . 51
Table 17 – Function RequestedServicesSupportedTest . 52
Table 18 – Function IndicatedServicesSupportedTest . 52
Table 19 – Function InvokeIdExistent . 52
Table 20 – Function SameService. 52
Table 21 – Primitives issued by AP-context to FSPM . 53
Table 22 – Primitives issued by FSPM to AP-context . 53
Table 23 – FSPM state table – sender transactions . 54
Table 24 – FSPM state table – receiver transactions . 56
Table 25 – Function SelectArep . 56
Table 26 – Primitives issued by FSPM to ARPM . 57
Table 27 – Primitives issued by ARPM to FSPM . 57
Table 28 – Parameters used with primitives exchanged between FSPM and ARPM . 58
Table 29 – QUB-FC ARPM states . 60
Table 30 – QUB-FC ARPM state table – sender transactions . 61
Table 31 – QUB-FC ARPM state table – receiver transactions . 66
Table 32 – Function GetArepId () . 77
Table 33 – Function BuildFAL-PDU . 77
Table 34 – Function FAL_Pdu_Type . 78
Table 35 – Function AREPContextCheck() . 78
Table 36 – Function AbortIdentifier . 78
Table 37 – Function AbortReason . 78
Table 38 – Function AbortDetail . 78
Table 39 – Function StartTimer . 79
Table 40 – Function StopTimer . 79
Table 41 – Function ResetCounters . 79
Table 42 – Function IncrementCounter . 79
Table 43 – Function DecrementCounter . 79
Table 44 – Function GetCounterValue . 79
Table 45 – Primitives issued by FSPM to ARPM . 80
Table 46 – Primitives issued by ARPM to FSPM . 80
Table 47 – Parameters used with primitives exchanged between FSPM and ARPM . 80
Table 48 – BNU ARPM states . 82
Table 49 – BNU ARPM state table – sender transactions . 82
Table 50 – BNU ARPM state table – receiver transactions . 83
Table 51 – Function GetArepId () . 86
Table 52 – Function BuildFAL-PDU . 86
Table 53 – Function FAL_Pdu_Type . 86
Table 54 – Function AbortIdentifier . 86
Table 55 – Function AbortReason . 86
61158-6-8 © IEC:2007 – 5 –
Table 56 – Function AbortDetail . 86
Table 57 – Primitives issued by FAL to ARPM . 87
Table 58 – Primitives issued by ARPM to FAL . 87
Table 59 – Parameters used with primitives exchanged between FAL and ARPM . 87
Table 60 – QUB-TM ARPM states . 89
Table 61 – QUB-TM state table - sender transactions . 89
Table 62 – QUB-TM state table - receiver transactions . 90
Table 63 – Function GetArepId () . 90
Table 64 – Function BuildFAL-PDU . 90
Table 65 – Function FAL_Pdu_Type . 90
Table 66 – Function ResetCounters . 91
Table 67 – Function IncrementCounter . 91
Table 68 – Function DecrementCounter . 91
Table 69 – Function GetCounterValue . 91
Table 70 – Primitives issued by ARPM to DMPM . 92
Table 71 – Primitives issued by DMPM to ARPM . 93
Table 72 – Parameters used with primitives exchanged between ARPM and DMPM . 94
Table 73 – Primitives exchanged between data-link layer and DMPM . 94
Table 74 – DMPM state descriptions . 95
Table 75 – DMPM state table – sender transactions . 95
Table 76 – DMPM state table – receiver transactions . 99
Table 77 – Function PickArep . 100
Table 78 – Function FindAREP . 100
Table 79 – Function SelectNextArep . 100
Table 80 – Function ArepRole . 101
Table 81 – Function FalArHeader . 101
Table 82 – Function AddUcsPduHeader . 101
Table 83 – Function RemoveUcsPduHeader . 101
Table 84 – Function DlLinkStatus . 101
– 6 – 61158-6-8 © IEC:2007
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
INDUSTRIAL COMMUNICATION NETWORKS –
FIELDBUS SPECIFICATIONS –
Part 6-8: Application layer protocol specification –
Type 8 elements
FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
international co-operation on all questions concerning standardization in the electrical and electronic fields. To
this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as “IEC
Publication(s)”). Their preparation is entrusted to technical committees; any IEC National Committee interested
in the subject dealt with may participate in this preparatory work. International, governmental and non-
governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
with the International Organization for Standardization (ISO) in accordance with conditions determined by
agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence
between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
the latter.
5) IEC provides no marking procedure to indicate its approval and cannot be rendered responsible for any
equipment declared to be in conformity with an IEC Publication.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
NOTE Use of some of the associated protocol types is restricted by their intellectual-property-right holders. In all
cases, the commitment to limited release of intellectual-property-rights made by the holders of those rights permits
a particular data-link layer protocol type to be used with physical layer and application layer protocols in Type
combinations as specified explicitly in the IEC 61784 series. Use of the various protocol types in other
combinations may require permission from their respective intellectual-property-right holders.
IEC draws attention to the fact that it is claimed that compliance with this standard may involve the use of patents
as follows, where the [xx] notation indicates the holder of the patent right:
Type 8:
DE 197 39 297 C2 [PxC] "Automatisierungssystem und Steuervorrichtung zur transparenten
Kommunikation zwischen verschiedenen Netzwerken."
US 2002/0042845 A1 [PxC] "Automation System and connecting Apparatus for the Transparent
Communication between two Networks."
The IEC takes no position concerning the evidence, validity and scope of these patent rights.:
The holders of these patent rights have assured the IEC that they are willing to negotiate licences under
reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this respect, the
statement of the holders of these patent rights are registered with the IEC. Information may be obtained from:
[PxC]: Phoenix Contact GmbH & Co. KG
Intellectual Property Licenses & Standards
Flachsmarktstr. 8
D-32825 Blomberg,
Germany
61158-6-8 © IEC:2007 – 7 –
Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of
patent rights other than those identified above. IEC shall not be held responsible for identifying any or all such
patent rights.
International Standard IEC 61158-6-8 has been prepared by subcommittee 65C: Industrial
networks, of IEC technical committee 65: Industrial-process measurement, control and
automation.
This first edition and its companion parts of the IEC 61158-6 subseries cancel and replace
IEC 61158-6:2003. This edition of this part constitutes a technical revision.
This edition of IEC 61158-6 includes the following significant changes from the previous
edition:
a) deletion of the former Type 6 fieldbus for lack of market relevance;
b) addition of new types of fieldbuses;
c) partition of part 6 of the third edition into multiple parts numbered -6-2, -6-3, …
This bilingual version (2013-02) corresponds to the monolingual English version, published in
2007-12.
The text of this standard is based on the following documents:
FDIS Report on voting
65C/476/FDIS 65C/487/RVD
Full information on the voting for the approval of this standard can be found in the report on
voting indicated in the above table.
The French version of this standard has not been voted upon.
This publication has been drafted in accordance with ISO/IEC Directives, Part 2.
The committee has decided that the contents of this publication will remain unchanged until
the maintenance result date indicated on the IEC web site under http://webstore.iec.ch in the
data related to the specific publication. At this date, the publication will be:
• reconfirmed;
• withdrawn;
• replaced by a revised edition, or
• amended.
NOTE The revision of this standard will be synchronized with the other parts of the IEC 61158 series.
The list of all the parts of the IEC 61158 series, under the general title Industrial
communication networks – Fieldbus specifications, can be found on the IEC web site.
– 8 – 61158-6-8 © IEC:2007
INTRODUCTION
This part of IEC 61158 is one of a series produced to facilitate the interconnection of
automation system components. It is related to other standards in the set as defined by the
“three-layer” fieldbus reference model described in IEC/TR 61158-1.
The application protocol provides the application service by making use of the services
available from the data-link or other immediately lower layer. The primary aim of this standard
is to provide a set of rules for communication expressed in terms of the procedures to be
carried out by peer application entities (AEs) at the time of communication. These rules for
communication are intended to provide a sound basis for development in order to serve a
variety of purposes:
• as a guide for implementors and designers;
• for use in the testing and procurement of equipment;
• as part of an agreement for the admittance of systems into the open systems environment;
• as a refinement to the understanding of time-critical communications within OSI.
This standard is concerned, in particular, with the communication and interworking of sensors,
effectors and other automation devices. By using this standard together with other standards
positioned within the OSI or fieldbus reference models, otherwise incompatible systems may
work together in any combination.
61158-6-8 © IEC:2007 – 9 –
INDUSTRIAL COMMUNICATION NETWORKS –
FIELDBUS SPECIFICATIONS –
Part 6-8: Application layer protocol specification –
Type 8 elements
1 Scope
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 8 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 specifies interactions between remote applications and defines the externally
visible behavior provided by the Type 8 fieldbus application layer in terms of
a) the formal abstract syntax defining the application layer protocol data units conveyed
between communicating application entities;
b) the transfer syntax defining encoding rules that are applied to the application layer
protocol data units;
c) the application context state machine defining the application service behavior visible
between communicating application entities;
d) 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
1) define the wire-representation of the service primitives defined in IEC 61158-5-8, and
2) define the externally visible behavior associated with their transfer.
This standard specifies the protocol of the Type 8 fieldbus application layer, in conformance
with the OSI Basic Reference Model (ISO/IEC 7498) and the OSI application layer structure
(ISO/IEC 9545).
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-8.
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 the IEC 61158-6 series.
– 10 – 61158-6-8 © IEC:2007
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.
Conformance is achieved through implementation of this application layer protocol
specification.
2 Normative references
The following referenced documents are indispensable for the application of this document.
For dated references, only the edition cited applies. For undated references, the latest edition
of the referenced document (including any amendments) applies.
IEC 60559, Binary floating-point arithmetic for microprocessor systems
IEC 61158-3-8, Industrial communication networks – Fieldbus specifications – Part 3-8: Data-
link layer service definition – Type 8 elements
IEC 61158-4-8, Industrial communication networks – Fieldbus specifications – Part 4-8: Data-
link layer protocol specification – Type 8 elements
IEC 61158-5-8, Industrial communication networks – Fieldbus specifications – Part 5-8:
Application layer service definition – Type 8 elements
ISO/IEC 7498 (all parts), Information technology – Open Systems Interconnection – Basic
Reference Model
ISO/IEC 8822, Information technology – Open Systems Interconnection – Presentation
service definition
ISO/IEC 8824, Information technology – Open Systems Interconnection – Specification of
Abstract Syntax Notation One (ASN.1)
ISO/IEC 8825, Information technology – ASN.1 encoding rules: Specification of Basic
Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules
(DER)
ISO/IEC 9545, Information technology – Open Systems Interconnection – Application Layer
structure
3 Terms and definitions
For the purposes of this document, the following terms, definitions, symbols, abbreviations
and conventions apply.
3.1 ISO/IEC 7498-1 terms
This standard is partly based on the concepts developed in ISO/IEC 7498-1, and makes use
of the following terms defined therein:
3.2
application entity
3.3
application process
61158-6-8 © IEC:2007 – 11 –
3.4
application protocol data unit
3.5
application service element
3.6
application entity invocation
3.7
application transaction
3.8
transfer syntax
3.9 ISO/IEC 8822 terms
For the purposes of this document, the following term as defined in ISO/IEC 8822 applies:
3.10
abstract syntax
3.11 ISO/IEC 9545 terms
For the purposes of this document, the following terms as defined in ISO/IEC 9545 apply:
3.12
application-context
3.13
application-process-type
3.14
application-service-element
3.15
application control service element
3.16 ISO/IEC 8824 terms
For the purposes of this document, the following terms as defined in ISO/IEC 8824 apply:
3.17
any type
3.18
bitstring type
3.19
Boolean type
3.20
choice type
3.21
component type
3.22
false
3.23
integer type
3.24
module
3.25
null type
– 12 – 61158-6-8 © IEC:2007
3.26
object identifier
3.27
octetstring type
3.28
production
3.29
simple type
3.30
sequence of type
3.31
sequence type
3.32
structured type
3.33
tag
3.34
tagged type
3.35
true
3.36
type
3.37 ISO/IEC 8825 terms
For the purposes of this document, the following terms as defined in ISO/IEC 8825 apply:
3.38
encoding (of a data value)
3.39
data value
3.40 Terms and definitions from IEC 61158-5-8
3.41
application relationship
3.42
client
3.43
error class
3.44
publisher
3.45
server
3.46
subscriber
3.47 Other terms and definitions
The following terms and definitions are used in this standard.
61158-6-8 © IEC:2007 – 13 –
3.48
called
service user or a service provider that receives an indication primitive or a request APDU
3.49
calling
service user or a service provider that initiates a request primitive or a request APDU
3.50
management information
network accessible information that supports the management of the Fieldbus environment
3.51
receiving
service user that receives a confirmed primitive or an unconfirmed primitive, or a service
provider that receives a confirmed APDU or an unconfirmed APDU
3.52
resource
resource is a processing or information capability of a subsystem
3.53
sending
service user that sends a confirmed primitive or an unconfirmed primitive, or a service
provider that sends a confirmed APDU or an unconfirmed APDU
4 FAL syntax description
4.1 FAL-AR PDU abstract syntax
4.1.1 Top level definition
The productions defined here shall be used with the Peripherals Encoding Rules (see 5.2) for
APDU encoding.
APDU ::= CHOICE {
[PRIVATE 0] ConfirmedSend-RequestPDU,
[PRIVATE 1] ConfirmedSend-ResponsePDU,
[PRIVATE 2] UnconfirmedSend-PDU,
[PRIVATE 3] UnconfirmedAcknowledgedSend-CommandPDU,
[PRIVATE 4] Establish-RequestPDU,
[PRIVATE 5] Establish-ResponsePDU,
[PRIVATE 6] Establish-ErrorPDU,
[PRIVATE 7] Abort-PDU,
[PRIVATE 8] DataSendAcknowledge-PDU
}
4.1.2 Confirmed send service
ConfirmedSend-RequestPDU ::= SEQUENCE {
[APPLICATION 0] AddressAREP,
InvokeID,
ConfirmedServiceRequest
}
ConfirmedSend-ResponsePDU ::= SEQUENCE {
[APPLICATION 1] AddressAREP,
InvokeID,
pduBody CHOICE {
ConfirmedServiceResponse,
ConfirmedServiceError
}
}
– 14 – 61158-6-8 © IEC:2007
4.1.3 Unconfirmed send service
UnconfirmedSend-PDU ::= SEQUENCE {
[APPLICATION 2] AddressAREP,
InvokeID,
pduBody CHOICE {
UnconfirmedServiceRequest,
UnconfirmedSendPD-PDU
}
}
4.1.4 Unconfirmed acknowledge send service
UnconfirmedAcknowledgeSend-CommandPDU ::= SEQUENCE {
[APPLICATION 3] AddressAREP,
InvokeID,
UnconfirmedServiceRequest
}
4.1.5 Establish service
Establish-RequestPDU ::= SEQUENCE {
[APPLICATION 4] AddressAREP,
ConType,
MaxOSCC,
MaxOSCS,
MAXUCSC,
MAXUCSS,
CIU,
InvokeID,
initiateRequest [PRIVATE 0] IMPLICIT Initiate-RequestPDU
}
Establish-ResponsePDU ::= SEQUENCE {
[APPLICATION 5] AddressAREP,
InvokeID,
initiateResponse [PRIVATE 0] IMPLICIT Initiate-ResponsePDU
}
Establish-ErrorPDU ::= SEQUENCE {
[APPLICATION 6] AddressAREP,
InvokeID,
initiateError [PRIVATE 0] IMPLICIT Initiate-ErrorPDU
}
4.1.6 MaxOSCC
MaxOSCC ::= Unsigned8
4.1.7 MaxOSCS
MaxOSCS ::= Unsigned8
4.1.8 MaxUCSC
MaxUCC ::= Unsigned8
4.1.9 MaxUCSS
MaxUCS ::= Unsigned8
4.1.10 CIU
CIU ::= Unsigned32
61158-6-8 © IEC:2007 – 15 –
4.1.11 InvokeID
InvokeID ::= Unsigned8
4.1.12 ConType
ConType ::= ENUMERATED {
mmaz (0)
}
4.1.13 Data send acknowledge service
DataSendAcknowledge-PDU ::= SEQUENCE {
Protocol-Code,[APPLICATION 8],Address2ARP, --- Protocol-Code in the higher nibble of the octet!!!
Block-Number,
Block-Length,
Protocol-Data,
}
4.1.14 Protocol-Code
Protocol-Code ::= ENUMERATED {
TCP/IP (1) --- TCP/IP protocol
}
4.1.15 Block-Number
Block-Number ::= Unsigned8 --- 0 no blocking
---- 1…254 block number
---- 255 last block
4.1.16 Block-Length
Block-Length ::= Unsigned
4.1.17 Protocol-Data
Protocol-Data::= Any --- transparent protocol transfer
4.1.18 Address2 ARP
Address2ARP ::= SEQUENCE {
Destination-Address,
Source-Address,
Destination-Node,
Destination-Subnode,
Source-Node,
Source-Subnode
}
4.1.19 Destination-Address
Destination-Address ::= OctetString --- 3 Octets
4.1.20 Source-Address
Source-Address ::= OctetString --- 3 Octets
4.1.21 Destination-Node
Destination-Node ::= Unsigned8
– 16 – 61158-6-8 © IEC:2007
4.1.22 Source-Node
Source-Node ::= Unsigned8
4.1.23 Destination-Subnode
Destination-Subnode ::= Unsigned8
4.1.24 Source-Subnode
Source-Subnode ::= Unsigned8
4.2 Abstract syntax of PDUBody
4.2.1 Abort service
Abort-PDU ::= SEQUENCE {
[APPLICATION 7] AddressAREP,
Identifier,
ReasonCode,
AdditionalDetail
}
4.2.2 ConfirmedServiceRequest
ConfirmedServiceRequest::= CHOICE {
read-Request [0] IMPLICIT Read-RequestPDU,
write-Request [3] IMPLICIT Write-RequestPDU,
start-Request [6] IMPLICIT Start-RequestPDU,
stop-Request [9] IMPLICIT Stop-RequestPDU,
status-Request [15] IMPLICIT Status-RequestPDU,
identify-Request [18] IMPLICIT Identify-RequestPDU,
getAttributes1-Request [21] IMPLICIT GetAttributes-RequestPDU, -- shor
...










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...