IEC 61158-6-13:2007
(Main)Industrial communication networks - Fieldbus specifications - Part 6-13: Application layer protocol specification - Type 13 elements
Industrial communication networks - Fieldbus specifications - Part 6-13: Application layer protocol specification - Type 13 elements
It 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 2 fieldbus. The term "time-critical" is used to represent the presence of a time-window, within which one or more specified actions are required to be completed with some defined level of certainty. Failure to complete specified actions within the time window risks failure of the applications requesting the actions, with attendant risk to equipment, plant and possibly human life. 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 numbered.
General Information
Relations
Standards Content (Sample)
IEC 61158-6-13
Edition 1.0 2007-12
INTERNATIONAL
STANDARD
Industrial communication networks – Fieldbus specifications –
Part 6-13: Application layer protocol specification – Type 13 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-13
Edition 1.0 2007-12
INTERNATIONAL
STANDARD
Industrial communication networks – Fieldbus specifications –
Part 6-13: Application layer protocol specification – Type 13 elements
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
PRICE CODE
XB
ICS 35.100.70; 25.040.40 ISBN 2-8318-9488-3
– 2 – 61158-6-13 © IEC:2007(E)
CONTENTS
FOREWORD.5
INTRODUCTION.7
1 Scope.8
1.1 General .8
1.2 Specifications.8
1.3 Conformance.8
2 Normative references .9
3 Terms, definitions, symbols, abbreviations and conventions .9
3.1 ISO/IEC 7498-1 terms .9
3.2 ISO/IEC 8822 terms .10
3.3 ISO/IEC 9545 terms .10
3.4 ISO/IEC 8824 terms .10
3.5 Terms and definitions from IEC 61158-5-13.11
3.6 Other terms and definitions .11
4 FAL syntax description .12
4.1 General .12
4.2 FAL-AR PDU abstract syntax .12
4.3 Abstract syntax of Asyn2 pduBody .15
5 Transfer syntax .21
5.1 Encoding of data types .21
6 FAL protocol state machines .27
7 AP context state machine .28
8 FAL service protocol machine.28
9 AR protocol machine .28
9.1 Buffered-network-scheduled bi-directional pre-established connection (BNB-
PEC) ARPM .28
9.2 Buffered-network-scheduled uni-directional pre-established connection
(BNU-PEC) ARPM.30
9.3 Queued user-triggered uni-directional (QUU) ARPM.33
9.4 Queued user-triggered bi-directional connectionless (QUB-CL) ARPM .35
9.5 Queued user-triggered bi-directional connection-oriented with segmentation
(QUB-COS) ARPM .40
10 DLL mapping protocol machine .58
10.1 Primitive definitions .58
10.2 DMPM state machine .59
Annex A (normative) – Constant value assignments.61
A.1 Values of abort-code .61
A.2 NMT-command-ID .62
A.3 Type 13 specific error-code constants .62
A.4 EPL-node-list .64
Bibliography.65
Figure 1 – Encoding of Time of Day value.26
Figure 2 – Encoding of Time Difference value.26
Figure 3 – Primitives exchanged between protocol machines.27
61158-6-13 © IEC:2007(E) – 3 –
Figure 4 – State transition diagram of BNB-PEC ARPM .29
Figure 5 – State transition diagram of BNU-PEC ARPM .32
Figure 6 – State transition diagram of QUU ARPM.34
Figure 7 – State transition diagram of QUB-CL ARPM .38
Figure 8 – State transition diagram of QUB-COS (CmdL) ARPM .44
Figure 9 – State transition diagram of QUB-COS (SeqL) ARPM .54
Figure 10 – State transition diagram of DMPM .59
Table 1 – Use of signaling-flags.14
Table 2 – Values of error-type.17
Table 3 – Transfer syntax for bit sequences.22
Table 4 – Transfer syntax for data type UNSIGNEDn.23
Table 5 – Transfer syntax for data type Integern .24
Table 6 – Primitives issued by user to BNB-PEC ARPM.28
Table 7 – Primitives issued by BNB-PEC ARPM to user.28
Table 8 – BNB-PEC ARPM state table – sender transactions.30
Table 9 – BNB-PEC ARPM state table – receiver transactions .30
Table 10 – Function BuildFAL-PDU.30
Table 11 – Primitives issued by user to BNU-PEC ARPM.31
Table 12 – Primitives issued by BNU-PEC ARPM to user.31
Table 13 – BNU-PEC ARPM state table – sender transactions.32
Table 14 – BNU-PEC ARPM state table – receiver transactions.32
Table 15 – Function BuildFAL-PDU.32
Table 16 – Primitives issued by user to QUU ARPM .33
Table 17 – Primitives issued by QUU ARPM to user .33
Table 18 – QUU ARPM state table – sender transactions .34
Table 19 – QUU ARPM state table – receiver transactions.35
Table 20 – Function BuildFAL-PDU.35
Table 21 – Primitives issued by user to QUB-CL ARPM .36
Table 22 – Primitives issued by QUB-CL ARPM to user .37
Table 23 – QUB-CL ARPM state table – sender transactions .39
Table 24 – QUB-CL ARPM state table – receiver transactions .40
Table 25 – Function BuildFAL-PDU.40
Table 26 – Primitives issued by user to QUB-COS (CmdL) ARPM.42
Table 27 – Primitives issued by QUB-COS (CmdL) ARPM to user.43
Table 28 – QUB-COS (CmdL) ARPM state table – sender transactions.45
Table 29 – QUB-COS (CmdL) ARPM state table – receiver transactions.47
Table 30 – Function BuildSegment .50
Table 31 – Function RoundUp.50
Table 32 – Function MoreFollows .50
Table 33 – Function AddSegment .51
Table 34 – Function GetIntermediatePDU .51
– 4 – 61158-6-13 © IEC:2007(E)
Table 35 – Primitives issued by QUB-COS (CmdL) to QUB-COS (SeqL) .51
Table 36 – Primitives issued by QUB-COS (SeqL) to QUB-COS (CmdL) .52
Table 37 – Parameters used with primitives exchanged between QUB-COS (SeqL)
and QUB-COS (CmdL).52
Table 38 – QUB-COS (SeqL) ARPM states .53
Table 39 – QUB-COS (SeqL) ARPM state table – sender transactions.55
Table 40 – QUB-COS (SeqL) ARPM state table – receiver transactions .56
Table 41 – Function BuildFAL-PDU.57
Table 42 – Function IncrementCounter .58
Table 43 – Function AddToHistoryBuffer.58
Table 44 – Primitives issued by ARPM to DMPM .58
Table 45 – Primitives issued by DMPM to ARPM .58
Table 46 – Primitives issued by DMPM to data-link layer .59
Table 47 – Primitives issued by data-link layer to DMPM .59
Table 48 – DMPM state table – sender transactions .60
Table 49 – DMPM state table – receiver transactions.60
Table A.1 – Values of abort-code.61
Table A.2 – Values of NMTCommandID .62
Table A.3 – Type 13 specific error-code constants.63
Table A.4 – EPL-node-list format .64
61158-6-13 © IEC:2007(E) – 5 –
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
INDUSTRIAL COMMUNICATION NETWORKS –
FIELDBUS SPECIFICATIONS –
Part 6-13: Application layer protocol specification – Type 13 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.
9) Attention is drawn to the possibility that some of the elements of this IEC Publication may be the subject of
patent rights. IEC shall not be held responsible for identifying any or all such patent rights.
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 of their respective intellectual-property-right holders.
International Standard IEC 61158-6-13 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 addition. This part also
replaces IEC/PAS 62408, published in 2005.
This edition of IEC 61158-6 includes the following significant changes from the previous
edition:
– 6 – 61158-6-13 © IEC:2007(E)
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.
61158-6-13 © IEC:2007(E) – 7 –
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.
– 8 – 61158-6-13 © IEC:2007(E)
INDUSTRIAL COMMUNICATION NETWORKS –
FIELDBUS SPECIFICATIONS –
Part 6-13: Application layer protocol specification – Type 13 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 13 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 13 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-13, and
2) define the externally visible behavior associated with their transfer.
This standard specify the protocol of the Type 13 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-13.
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 IEC 61158-6.
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.
61158-6-13 © IEC:2007(E) – 9 –
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 61158-3-13, Industrial communication networks – Fieldbus specifications - Part 3-13:
Data-link layer service definition – Type 13 elements
IEC 61158-4-13, Industrial communication networks – Fieldbus specifications - Part 4-13:
Data-link layer protocol specification – Type 13 elements
IEC 61158-5-13, Industrial communication networks – Fieldbus specifications - Part 5-13:
Application layer service definition – Type 13 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 9545, Information technology – Open Systems Interconnection – Application Layer
structure
3 Terms, definitions, symbols, abbreviations and conventions
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.1.1
application entity
3.1.2
application process
3.1.3
application protocol data unit
3.1.4
application service element
3.1.5
application entity invocation
3.1.6
application transaction
3.1.7
transfer syntax
– 10 – 61158-6-13 © IEC:2007(E)
3.2 ISO/IEC 8822 terms
For the purposes of this document, the following term as defined in ISO/IEC 8822 applies:
3.2.1
abstract syntax
3.3 ISO/IEC 9545 terms
For the purposes of this document, the following terms as defined in ISO/IEC 9545 apply:
3.3.1
application-context
3.3.2
application-process-type
3.3.3
application-service-element
3.3.4
application control service element
3.4 ISO/IEC 8824 terms
For the purposes of this document, the following terms as defined in ISO/IEC 8824 apply:
3.4.1
any type
3.4.2
bitstring type
3.4.3
boolean type
3.4.4
choice type
3.4.5
false
3.4.6
integer type
3.4.7
module
3.4.8
null type
3.4.9
object identifier
3.4.10
octetstring type
3.4.11
production
3.4.12
simple type
3.4.13
sequence of type
3.4.14
sequence type
61158-6-13 © IEC:2007(E) – 11 –
3.4.15
structured type
3.4.16
tag
3.4.17
tagged type
3.4.18
true
3.4.19
type
3.5 Terms and definitions from IEC 61158-5-13
3.5.1
application relationship
3.5.2
client
3.5.3
error class
3.5.4
publisher
3.5.5
server
3.5.6
subscriber
3.6 Other terms and definitions
The following terms and definitions are used in this standard:
3.6.1
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.6.2
resource
processing or information capability of a subsystem
3.6.3
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
3.6.4
managing node
node that can manage the SCNM mechanism
3.6.5
controlled node
node without the ability to manage the SCNM mechanism
– 12 – 61158-6-13 © IEC:2007(E)
4 FAL syntax description
4.1 General
This description of the Type 13 abstract syntax uses formalisms similar to ASN.1, although
the encoding rules differ from that standard.
4.2 FAL-AR PDU abstract syntax
4.2.1 Top level definition
APDU ::= CHOICE {
[3] Isoc1
[4] Isoc2
[5] Asyn1
[6] Asyn2
}
4.2.2 Isoc1
Isoc1 ::= SEQUENCE {
message-type
destination
source
reserved
signaling-flags
PDO-version
reserved8
size
PDO-payload
}
4.2.3 Isoc2
Isoc2 ::= SEQUENCE {
message-type
destination
source
NMT-status
signaling-flags
PDO-version
reserved8
size
PDO-payload
}
4.2.4 Asyn1
Asyn1 ::= SEQUENCE {
message-type
destination
source
NMT-status
signaling-flags
requested-service-ID
requested-service-target
EPL-version
}
61158-6-13 © IEC:2007(E) – 13 –
4.2.5 Asyn2
Asyn2 ::= SEQUENCE {
message-type
destination
source
service-ID
pduBody CHOICE {
[1h] ident-response
[2h] status-response
[3h] NMT-request
[4h] NMT-command
[5h] SDO
[A0h…FEh] manufacturer-specific
[FFh] reserved
}
}
4.2.6 Message-type
message-type ::= Unsigned8 — Contains the context specific APDU tags
4.2.7 Addresses
destination ::= Unsigned8 — Node address (1…255)
source ::= Unsigned8 — Node address (1…255)
4.2.8 Service-ID
service-ID ::= Unsigned8 — Contains the context specific tags for the pduBody
4.2.9 Reserved8
reserved8 ::= Unsigned8
4.2.10 Reserved16
reserved16 ::= Unsigned16
4.2.11 Reserved24
reserved24 ::= Unsigned24
4.2.12 Signaling-flags
signaling-flags ::= BitString {
RD (0)
ER (1)
EA (2)
EC (3)
EN (4)
MS (5)
PS (6)
MC (7)
RS_bit1 (8)
RS_bit2 (9)
RS_bit3 (10)
PR_bit1 (11)
PR_bit2 (12)
PR_bit3 (13)
reserved (14)
reserved (15)
}
The different APDU types use the flags as listed in Table 1. In all cases without "x" the flags
are present but not written resp. interpreted.
– 14 – 61158-6-13 © IEC:2007(E)
Table 1 – Use of signaling-flags
Isoc1 Isoc2 Asyn1 Id.Resp. St.Resp.
RD x x
ER x
EA x x
EC x
EN x x
MS x x
PS
MC
RS x x x x
PR x x x x
The usage of these flags is specified in IEC 61158-3-13 and IEC 61158-4-13.
4.2.13 PDO-version
PDO-version ::= Unsigned8 — High nibble: main version; low nibble: sub version
4.2.14 Size
size ::= Unsigned8 — Size of PDO payload; max. 1490 octets due to
Ethernet restrictions and protocol overhead
4.2.15 PDO-payload
PDO-payload ::= Any
4.2.16 NMT-status
NMT-status ::= CHOICE {
NMT_GS_OFF Unsigned8 ::= 0000 0000b
NMT_xS_NOT_ACTIVE Unsigned8 ::= 0001 1100b
NMT_xS_PRE_OPERATIONAL_1 Unsigned8 ::= 0001 1101b
NMT_xS_PRE_OPERATIONAL_2 Unsigned8 ::= 0101 1101b
NMT_xS_READY_TO_OPERATE Unsigned8 ::= 0110 1101b
NMT_xS_OPERATIONAL Unsigned8 ::= 1111 1101b
NMT_xS_STOPPED Unsigned8 ::= 0100 1101b
NMT_xS_BASIC_ETHERNET Unsigned8 ::= 0001 1110b
}
NOTE If sender = MN: "x" := "M"; if sender = CN: "x" := "C"
4.2.17 Requested-service-ID
requested-service-ID ::= CHOICE {
no-service [0h] IMPLICIT Unsigned8
ident-request [1h] IMPLICIT Unsigned8
status-request [2h] IMPLICIT Unsigned8
NMT-req-inv [3h] IMPLICIT Unsigned8
manufacturer-specific [A0h]… [FEh] IMPLICIT Unsigned8
unspecified-invite [FFh] IMPLICIT Unsigned8
}
4.2.18 Requested-service-target
requested-service-target ::= Unsigned8 — Node address (1…255); not assigned (0)
61158-6-13 © IEC:2007(E) – 15 –
4.2.19 EPL-version
EPL-version ::= Unsigned8 — High nibble: main version; low nibble: sub version
4.3 Abstract syntax of Asyn2 pduBody
4.3.1 Ident-response
4.3.1.1 Overview
Ident-response ::= SEQUENCE {
signaling-flags
NMT-status
reserved8
EPL-version
reserved8
feature-flags BitString — (see 4.3.1.2)
MTU Unsigned16 — size of the largest possible IP frame incl. header
poll-in-size Unsigned16 — actual CN setting for Isoc1 data block size
poll-out-size Unsigned16 — actual CN setting for Isoc2 data block size
response-time Unsigned32 — time required by the CN to respond to Isoc1
reserved16
device-type Unsigned32 — CN’s device type
vendor-ID Unsigned32 — CN’s vendor ID
product-code Unsigned32 — CN’s product code
revision-number Unsigned32 — CN’s revision number
serial-number Unsigned32 — CN’s serial number
vendor-specific-extension-1 Unsigned64 — for vendor specific purpose, to be filled with zeros if not used
verify-configuration-date Unsigned32 — CN’s configuration date
verify-configuration-time Unsigned32 — CN’s configuration time
application-sw-date Unsigned32 — CN’s application software date
application-sw-time Unsigned32 — CN’s application software time
IP-address Unsigned32 — current IP address value of the CN
subnet-mask Unsigned32 — current IP subnet mask of the CN
default-gateway Unsigned32 — current IP default gateway of the CN
host-name VisibleString32 — current DNS host name of the CN
vendor-specific-extension-2 SEQUENCE SIZE(64) OF Unsigned64
—for vendor specific purpose, to be filled with zeros if not in use
}
NOTE Some of the above listed elements are sometimes summarized as follows:
"poll-in-size" through "response-time" are summarized under the term "cycle-timing",
"device-type" through "serial-number" under "identity",
"verify-configuration-date" and "verify-configuration-time" under "verify-configuration",
"application-sw-date" and "application-sw-time" under "application-software-version",
"vendor-specific-extension-1" and "vendor-specific-extension-2" under "vendor-specific-extensions",
"IP-address" through "default-gateway" under "IP-address",
4.3.1.2 Feature-flags
feature-flags ::= BitString {
Isochronous (0) — device may be isochronously accessed via Isoc1
SDO by UDP/IP (1) — device supports SDO communication via UDP/IP
SDO by ASnd (2) — device supports SDO communication via ASnd
reserved for future use (3)
NMT-info services (4) — device supports NMT Info Services
Extended NMT-state-commands (5) — device supports Extended NMT State Commands
Dynamic PDO mapping (6) — device supports dynamic PDO Mapping
NMT services by UDP/IP (7) — device supports NMT Services by UDP/IP
Configuration manager (8) — device supports Configuration Manager functions
Multiplexed access (9) — CN device supports multiplexed isochronous access.
Node-ID setup by SW (10) — device supports NodeID setup by software
MN basic ethernet mode (11) — MN device supports Basic Ethernet Mode
Routing Type 1 support (12) — device supports Routing Type 1 functions
Routing Type 2 support (13) — device supports Routing Type 2 functions
reserved_bit1 through bit18 (13)…(31)
}
– 16 – 61158-6-13 © IEC:2007(E)
4.3.2 Status-response
4.3.2.1 Overview
Status-response ::= SEQUENCE {
signaling-flags
NMT-status
reserved24
static-error-bit-field
List-of-errors
}
4.3.2.2 Static-error-bitf ield
static-error-bit-field ::= SEQUENCE {
error-register BitString — (see 4.3.2.3)
reserved8
specific-errors SEQUENCE SIZE (n) OF Unsigned8 — Device profile or vendor specific errors
n depends on device configuration
}
4.3.2.3 Error-register
error-register ::= BitString {
Generic error (0) — 0, if no static error present, else 1
Current (1) OPTIONAL
Vorltage (2) OPTIONAL
Temperature (3) OPTIONAL
Communication error (4) OPTIONAL
Device profile specific (5) OPTIONAL
reserved (6) OPTIONAL — always 0
Manufacturer specific (7) OPTIONAL
}
4.3.2.4 List-of-errors
List-of-errors ::= SEQUENCE SIZE (k) OF ErrorEntry — k :>= 2, depends on device configuration
4.3.2.5 ErrorEntry
ErrorEntry ::= SEQUENCE {
error-type Unsigned16 — (see 4.3.2.6)
error-code Unsigned16 — (see 4.3.2.6 and A.3)
time-stamp Unsigned64
additional-information Unsigned64
}
4.3.2.6 Error-type
The possible values in error-type and their meaning are listed in Table 2.
61158-6-13 © IEC:2007(E) – 17 –
Table 2 – Values of error-type
Octet Bit Value Description
0 . 1 15 0b ERR_History_ADOM Entry
(status)
1b Status entry in Status-response frame (Bit 14 shall be set to 0b)
14 0b ERR_History_ADOM only
(send)
1b Additional to the ERR_History_ADOMthe entry shall also be entered in to the
emergency queue of the error signaling
13 . 12 0h Not allowed in ERR_History_ADOM. Entries with this mode may only be used by
(mode) the error signaling itself to indicate the termination of the history entries in the
Status-response frame
1h An error has occurred and is active (e.g. short circuit of output detected)
2h An active error was cleared (e.g. no short circuit anymore) (not allowed for status
entries)
3h An error / event occurred (not allowed for status entries)
11 . 0 000h Reserved
(profile)
001h error-code contains a vendor specific error code
002h error-code contains Type 13 network specific communication profile errors
(see A.3)
003h . error-code contains device profile specific errors
FFFh
4.3.3 NMT-request
NMT-request ::= SEQUENCE {
NMT-requested-command-ID Unsigned8 — value range see A.2
NMT-requested-command-target Unsigned8 — target node address
NMT-requested-command-data Any
}
4.3.4 NMT-command
NMT-command ::= SEQUENCE {
NMT-command-ID CHOICE { — value range see A.2
NMT-state-command Unsigned8
NMT-info Unsigned8
}
reserved8
NMT-command-data CHOICE {
date-time TimeOfDay — only if NMT-command-ID = B0h; see
A.4
node-states SEQUENCE SIZE (255) OF Unsigned8 — if NMT-command-ID = 96h; see A.4;
reports each node state individually
EPL-node-list — if NMT-command-ID = 40h.95h, A0h;
see A.4
NULL — else
}
}
4.3.5 SDO
4.3.5.1 Overview
SDO ::= SEQUENCE {
SequenceLayer
CommandLayer
}
– 18 – 61158-6-13 © IEC:2007(E)
4.3.5.2 SequenceLayer
SequenceLayer ::= SEQUENCE {
SequenceFlags Bitstring {
rcon_bit1 (0) — 0: no connection; 1: initialisation; 2: connection valid
rcon_bit2 (1) 3: error response (retransmission requested)
rsnr_bit1 (2) — 0.63
rsnr_bit2 (3)
rsnr_bit3 (4)
rsnr_bit4 (5)
rsnr_bit5 (6)
rsnr_bit6 (7)
scon_bit1 (8) — 0: no connection; 1: initialisation; 2: connection valid
scon_bit2 (9) 3: connection valid with acknowledge request
ssnr_bit1 (10) — 0.63
ssnr_bit2 (11)
ssnr_bit3 (12)
ssnr_bit4 (13)
ssnr_bit5 (14)
ssnr_bit6 (15)
}
reserved16
}
4.3.5.3 CommandLayer
CommandLayer ::= SEQUENCE {
SDOCommandHeader SEQUENCE {
reserved8
invoke-ID
segmentation_abort_response
command-ID
segment-size
reserved16
}
SDO-command CHOICE {
write-by-index-request [1h] IMPLICIT WriteByIndex-RequestPDU
read-by-index-request [2h] IMPLICIT ReadByIndex-RequestPDU
write-all-by-index-request [3h] IMPLICIT WriteAllByIndex-RequestPDU
read-all-by-index-request [4h] IMPLICIT ReadAllByIndex-RequestPDU
write-multiple-by-index-request [31h] IMPLICIT WriteMultipleByIndex-RequestPDU
read-multiple-by-index-request [32h] IMPLICIT ReadMultipleByIndex-RequestPDU
abort IMPLICIT AbortPDU
write-by-index-response [1h] IMPLICIT WriteByIndex-ResponsePDU
read-by-index-response [2h] IMPLICIT ReadByIndex-ResponsePDU
write-all-by-index-response [3h] IMPLICIT WriteAllByIndex-ResponsePDU
read-all-by-index-response [4h] IMPLICIT ReadAllByIndex-ResponsePDU
write-multiple-by-index-response [31h] IMPLICIT WriteMultipleByIndex-ResponsePDU
read-multiple-by-index-response [32h] IMPLICIT ReadMultipleByIndex-ResponsePDU
}
}
4.3.5.4 Invoke ID
invoke-ID ::= Unsigned8
4.3.5.5 Segmentation_abort_response
segmentation_abort_response ::= BitString {
reserved (0)
reserved (1)
reserved (2)
reserved (3)
segmentation_bit1 (4) — 0: Expedited transfer; 1: initiate segment transfer
segmentation_bit2 (5) 2: segment; 3: segment transfer complete
abort (6) — 0: transfer ok; 1: abort
response (7) — 0: request; 1: response
}
4.3.5.6 Command-ID
command-ID ::= Unsigned8 — Contains context specific tag for SDO-command
61158-6-13 © IEC:2007(E) – 19 –
4.3.5.7 Segment-size
segment-size::= Unsigned16 — Length of segment data. Counting from the beginning of the
"SDO-command". Valid value range: 0…1458
4.3.5.8 WriteByIndex services
WriteByIndex-RequestPDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
index
sub-index
reserved8
payload-data
}
WriteByIndex-ResponsePDU ::= NULL
4.3.5.9 ReadByIndex services
ReadByIndex-RequestPDU ::= SEQUENCE {
index
sub-index
reserved16
}
ReadByIndex-ResponsePDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
payload-data
}
4.3.5.10 WriteAllByIndex services
WriteAllByIndex-RequestPDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
index
reserved16
payload-data
}
WriteAllByIndex-ResponsePDU ::= NULL
4.3.5.11 ReadAllByIndex services
ReadAllByIndex-RequestPDU ::= SEQUENCE {
index
reserved16
}
ReadAllByIndex-ResponsePDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
payload-data
}
WriteByName-ResponsePDU ::= NULL
– 20 – 61158-6-13 © IEC:2007(E)
4.3.5.12 WriteMultipleByIndex services
WriteMultipleByIndex-RequestPDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
offset (k) — Byte offset of next payload data set
index
sub-index
padding-length
payload-data
offset (m) — Byte offset of next payload data set
index
sub-index
padding-length
payload-data
… — (further write requests)
}
WriteMultipleByIndex-ResponsePDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
index
sub-index
sub-abort
sub-abort-code
index
sub-index
sub-abort
sub-abort-code
… — (further write responses)
}
4.3.5.13 ReadMultipleByIndex services
ReadMultipleByIndex-RequestPDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
index
sub-index
reserved8
index
sub-index
reserved8
… — (further read requests)
}
ReadMultipleByIndex-ResponsePDU ::= SEQUENCE {
data-size — only present if in SDOCommandHeader segmentation = "initiate"
offset (k) — offset of the next payload data set
index
sub-index
sub-abort -padding-length
payload-data / sub-abort-code
offset (m) — offset of the next payload data set
index
sub-index
sub-abort-padding-length
payload-data / sub-abort-code
… — (further read requests)
}
4.3.5.14 AbortPDU
AbortPDU ::= {
abort-code Unsigned32 — see A.
...








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