+ All Categories
Home > Documents > IOL-Interface-Spec 10002 V11 Nov10

IOL-Interface-Spec 10002 V11 Nov10

Date post: 01-Dec-2014
Category:
Upload: helmo2004
View: 94 times
Download: 12 times
Share this document with a friend
253
IO-Link Interface and System Specification Version 1.1 November 2010 Order No: 10.002
Transcript
Page 1: IOL-Interface-Spec 10002 V11 Nov10

IO-Link Interface and

System

Specification

Version 1.1 November 2010

Order No: 10.002

Page 2: IOL-Interface-Spec 10002 V11 Nov10

IO-Link Interface and System Specification Version 1.1 _________________________________________________________________________________________________________

_________________________________________________________________________________________________________ © Copyright IO-Link Consortium 2010 - All Rights Reserved Page 2 of 253

File name: IOL-Interface-Spec_10002_V11_Nov10

Prepared, approved and released by the IO-Link Consortium. The IO-Link technology is currently going to be standardized as IEC 61131-9. The IO-Link Consortium is a D-Liaison member in the corresponding working group.

Any comments, proposals, requests on this document are appreciated. Please use www.io-link-projects.com for your entries and provide name and email address. Login: IO-Link-V11 Password: Report

Important notes:

NOTE 1 The IO-Link Consortium Rules shall be observed prior to the development and marketing of IO-Link products. The document can be downloaded from the www.io-link.com portal.

NOTE 2 Any IO-Link device shall provide an associated IODD file. Easy access to the file and potential updates shall be possible. It is the responsibility of the IO-Link device manufacturer to test the IODD file with the help of the IODD-Checker tool available per download from www.io-link.com.

NOTE 3 Any IO-Link devices shall provide an associated manufacturer declaration on the conformity of the device with this specification, its related IODD, and test documents, available per download from www.io-link.com.

Disclaimer:

The attention of adopters is directed to the possibility that compliance with or adoption of IO-Link Consortium specifications may require use of an invention covered by patent rights. The IO-Link Consortium shall not be responsible for identifying patents for which a license may be required by any IO-Link Consortium specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. IO-Link Consortium specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.

The information contained in this document is subject to change without notice. The material in this document details an IO-Link Consortium specification in accordance with the license and notices set forth on this page. This document does not represent a commitment to implement any portion of this specification in any company's products.

WHILE THE INFORMATION IN THIS PUBLICATION IS BELIEVED TO BE ACCURATE, THE IO-LINK CONSORTIUM MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR PARTICULAR PURPOSE OR USE.

In no event shall the IO-Link Consortium be liable for errors contained herein or for indirect, incidental, special, consequential, reliance or cover damages, including loss of profits, revenue, data or use, incurred by any user or any third party. Compliance with this specification does not absolve manufacturers of IO-Link equipment, from the requirements of safety and regulatory agencies (TÜV, BIA, UL, CSA, etc.).

® is registered trade mark. The use is restricted for members of the IO-Link Consortium. More detailed terms for the use can be found in the IO-Link Consortium Rules on www.io-link.com.

Conventions:

In this specification the following key words (in bold text) will be used: may: indicates flexibility of choice with no implied preference. should: indicates flexibility of choice with a strongly preferred implementation. shall: indicates a mandatory requirement. Designers shall implement such mandatory requirements to ensure

interoperability and to claim conformity with this specification. Publisher: IO-Link Consortium Haid-und-Neu-Str. 7 76131 Karlsruhe Germany Phone: +49 721 / 96 58 590 Fax: +49 721 / 96 58 589 E-mail: [email protected] Web site: www.io-link.com © 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 the publisher.

Page 3: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 3 – Working Draft

CONTENTS

FOREWORD.......................................................................................................................15 0 Introduction ..................................................................................................................17

0.1 General ...............................................................................................................17 0.2 Patent declaration ...............................................................................................18

1 Scope ..........................................................................................................................19 2 Normative references ...................................................................................................19 3 Terms, definitions, symbols, abbreviated terms and conventions ...................................20 4 Overview of SDCI (IO-LinkTM) .......................................................................................28 5 Physical Layer (PL) ......................................................................................................34 6 Standard Input and Output (SIO)...................................................................................48 7 Data link layer ..............................................................................................................48 8 Application layer ...........................................................................................................92 9 System management (SM) ..........................................................................................111 10 Device........................................................................................................................139 11 Master........................................................................................................................156 Annex A (normative) Codings, timing constraints, and errors .............................................182 A.1 General structure and encoding of F-sequences..........................................................182

A.1.1 Overview ...........................................................................................................182 A.1.2 F-sequence control (FC) ....................................................................................182 A.1.3 Checksum / F-sequence type (CKT) ...................................................................183 A.1.4 User data (PD or OD) ........................................................................................183 A.1.5 Checksum / status (CKS) ...................................................................................184 A.1.6 Calculation of the checksum ..............................................................................184

A.2 F-sequence types .......................................................................................................185 A.2.1 Overview ...........................................................................................................185 A.2.2 F-sequence TYPE_0..........................................................................................185 A.2.3 F-sequence TYPE_1_x ......................................................................................186 A.2.4 F-sequence TYPE_2_x ......................................................................................187 A.2.5 F-sequence type 3 .............................................................................................190 A.2.6 F-sequence type usage for STARTUP, PREOPERATE and OPERATE modes.....190

A.3 Timing constraints ......................................................................................................192 A.3.1 General .............................................................................................................192 A.3.2 Bit time..............................................................................................................192 A.3.3 Character transmission delay of Master (ports)...................................................192 A.3.4 Character transmission delay of Devices ............................................................192 A.3.5 Response time of Devices..................................................................................192 A.3.6 F-sequence time................................................................................................192 A.3.7 Cycle time .........................................................................................................193 A.3.8 Idle time ............................................................................................................193

A.4 Errors and remedies ...................................................................................................194 A.4.1 UART errors ......................................................................................................194 A.4.2 Wake-up errors..................................................................................................194 A.4.3 Transmission errors ...........................................................................................194

Page 4: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 4 – 61131-9/WD V0.5 IEC

A.4.4 Protocol errors...................................................................................................194 A.5 General structure and encoding of ISDUs....................................................................195

A.5.1 Overview ...........................................................................................................195 A.5.2 Service..............................................................................................................195 A.5.3 Extended length (ExtLength) ..............................................................................196 A.5.4 Index and Subindex ...........................................................................................196 A.5.5 Data ..................................................................................................................197 A.5.6 Check ISDU (CHKPDU) .....................................................................................197 A.5.7 ISDU examples..................................................................................................197

A.6 General structure and encoding of events ...................................................................199 A.6.1 General .............................................................................................................199 A.6.2 StatusCode type 1 (no details) ...........................................................................200 A.6.3 StatusCode type 2 (with details).........................................................................200 A.6.4 EventQualifier....................................................................................................201 A.6.5 EventCode ........................................................................................................202

Annex B (normative) Parameter and commands ................................................................203 B.1 Direct parameter page 1 and 2....................................................................................203

B.1.1 Overview ...........................................................................................................203 B.1.2 MasterCommand ...............................................................................................204 B.1.3 MasterCycleTime...............................................................................................205 B.1.4 MinCycleTime....................................................................................................205 B.1.5 F-sequence Capability .......................................................................................206 B.1.6 RevisionID (RID) ...............................................................................................206 B.1.7 ProcessDataIn ...................................................................................................207 B.1.8 ProcessDataOut ................................................................................................208 B.1.9 VendorID (VID) ..................................................................................................208 B.1.10 DeviceID (DID).......................................................................................208 B.1.11 FunctionID (FID) ....................................................................................208 B.1.12 SystemCommand ...................................................................................208 B.1.13 Device specific direct parameter page 2 .................................................208

B.2 Predefined Device parameters ....................................................................................208 B.2.1 Overview ...........................................................................................................208 B.2.2 SystemCommand ..............................................................................................211 B.2.3 Data Storage Index............................................................................................212 B.2.4 Device Access Locks .........................................................................................213 B.2.5 Profile Characteristic .........................................................................................214 B.2.6 Vendor Name ....................................................................................................214 B.2.7 Vendor Text.......................................................................................................215 B.2.8 Product Name ...................................................................................................215 B.2.9 Product ID .........................................................................................................215 B.2.10 Product Text ..........................................................................................215 B.2.11 SerialNumber.........................................................................................215 B.2.12 Hardware Revision.................................................................................215 B.2.13 Firmware Revision .................................................................................215 B.2.14 Application Specific Tag .........................................................................215 B.2.15 Error Count ............................................................................................215 B.2.16 Device Status ........................................................................................216 B.2.17 Detailed Device Status ...........................................................................217

Page 5: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 5 – Working Draft

B.2.18 ProcessDataInput ..................................................................................217 B.2.19 ProcessDataOutput ................................................................................217 B.2.20 Offset Time ............................................................................................217 B.2.21 Profile Parameter (reserved) ..................................................................218 B.2.22 Preferred Index ......................................................................................218 B.2.23 Extended Index ......................................................................................218 B.2.24 Profile specific Index (reserved) .............................................................218

Annex C (normative) ErrorTypes (ISDU errors) ..................................................................219 C.1 General ......................................................................................................................219 C.2 Application related ErrorTypes ....................................................................................219

C.2.1 Overview ...........................................................................................................219 C.2.2 Device application error – no details ..................................................................220 C.2.3 Index not available ............................................................................................220 C.2.4 Subindex not available.......................................................................................220 C.2.5 Service temporarily not available .......................................................................220 C.2.6 Service temporarily not available – local control .................................................220 C.2.7 Service temporarily not available – device control ..............................................220 C.2.8 Access denied ...................................................................................................220 C.2.9 Parameter value out of range .............................................................................220 C.2.10 Parameter value above limit ...................................................................221 C.2.11 Parameter value below limit ...................................................................221 C.2.12 Parameter length overrun .......................................................................221 C.2.13 Parameter length underrun.....................................................................221 C.2.14 Function not available ............................................................................221 C.2.15 Function temporarily unavailable ............................................................221 C.2.16 Invalid parameter set .............................................................................221 C.2.17 Inconsistent parameter set .....................................................................221 C.2.18 Application not ready .............................................................................221 C.2.19 Vendor specific ......................................................................................221

C.3 Derived ErrorTypes ....................................................................................................222 C.3.1 Overview ...........................................................................................................222 C.3.2 Communication error .........................................................................................222 C.3.3 Timeout .............................................................................................................222 C.3.4 Device event – ISDU error .................................................................................222 C.3.5 Device event – ISDU illegal service primitive ......................................................222 C.3.6 Master – ISDU checksum error ..........................................................................222 C.3.7 Master – ISDU illegal service primitive ...............................................................223 C.3.8 Device event – ISDU buffer overflow ..................................................................223

Annex D (normative) EventCodes (diagnosis information) ..................................................224 D.1 General ......................................................................................................................224 D.2 EventCodes for Devices .............................................................................................224 Annex E (normative) Data types ........................................................................................227 E.1 General ......................................................................................................................227 E.2 Basic data types .........................................................................................................227

E.2.1 General .............................................................................................................227 E.2.2 BooleanT...........................................................................................................227 E.2.3 UIntegerT ..........................................................................................................227 E.2.4 IntegerT ............................................................................................................228

Page 6: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 6 – 61131-9/WD V0.5 IEC

E.2.5 Float32T............................................................................................................230 E.2.6 StringT ..............................................................................................................231 E.2.7 OctetStringT ......................................................................................................231 E.2.8 TimeT................................................................................................................232 E.2.9 TimeSpanT........................................................................................................233

E.3 Composite data types .................................................................................................234 E.3.1 General .............................................................................................................234 E.3.2 ArrayT ...............................................................................................................234 E.3.3 RecordT ............................................................................................................235

Annex F (normative) Structure of the Data Storage data object ..........................................238 Annex G (normative) Master and Device conformity...........................................................239 G.1 Conformance classes .................................................................................................239

G.1.1 Overview ...........................................................................................................239 G.1.2 Functional requirements for Devices ..................................................................239 G.1.3 Functional requirements for Master ....................................................................239

G.2 Electromagnetic compatibility requirements (EMC) ......................................................239 G.2.1 General .............................................................................................................239 G.2.2 Operating conditions..........................................................................................239 G.2.3 Performance criteria ..........................................................................................239 G.2.4 Required immunity tests ....................................................................................240 G.2.5 Required emission tests.....................................................................................241 G.2.6 Test configurations for Master............................................................................241 G.2.7 Test configurations for Devices ..........................................................................243

G.3 Test strategies for conformity......................................................................................244 G.3.1 General .............................................................................................................244 G.3.2 Test of a Device ................................................................................................244 G.3.3 Test of a Master ................................................................................................244

G.4 Manufacturer declaration ............................................................................................245 Annex H (informative) Residual error probabilities .............................................................246 H.1 Residual error probability of the SDCI data integrity mechanism ..................................246 H.2 Derivation of EMC test conditions ...............................................................................246 Annex I (informative) Example sequence of an ISDU transmission .....................................248 Annex J (informative) Recommended methods for detecting parameter changes ................250 J.1 CRC signature............................................................................................................250 J.2 Revision counter.........................................................................................................250 Annex K (informative) Information on conformity testing of SDCI........................................251 Bibliography .....................................................................................................................252

Table 1 – Service assignments of Master and Device ..........................................................36 Table 2 – PL_Mode.............................................................................................................36 Table 3 – PL_Transfer ........................................................................................................36 Table 4 – Electric characteristics of a receiver .....................................................................39 Table 5 – Electric characteristics of a Master port................................................................39 Table 6 – Electric characteristics of a Device.......................................................................40 Table 7 – Dynamic characteristics of the transmission .........................................................43

Page 7: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 7 – Working Draft

Table 8 – Wake-up request characteristics ..........................................................................44 Table 9 – Power-on timing ..................................................................................................45 Table 10 – Pin assignments ................................................................................................46 Table 11 – Cable characteristics .........................................................................................47 Table 12 – Cable conductor assignments ............................................................................48 Table 13 – Service assignments within Master and Device...................................................50 Table 14 – DL_ReadParam .................................................................................................50 Table 15 – DL_WriteParam .................................................................................................51 Table 16 – DL_Read ...........................................................................................................52 Table 17 – DL_Write ...........................................................................................................53 Table 18 – DL_ISDUTransport ............................................................................................53 Table 19 – DL_PDOutputUpdate .........................................................................................54 Table 20 – DL_PDOutputTransport......................................................................................55 Table 21 – DL_PDInputUpdate ............................................................................................56 Table 22 – DL_PDInputTransport ........................................................................................56 Table 23 – DL_SetMode .....................................................................................................57 Table 24 – DL_Mode...........................................................................................................58 Table 25 – DL_Event ..........................................................................................................58 Table 26 – DL_Control ........................................................................................................59 Table 27 – DL-A services within Master and Device.............................................................60 Table 28 – CMD..................................................................................................................60 Table 29 – PD ....................................................................................................................61 Table 30 – PDValid .............................................................................................................63 Table 31 – FHInfo ...............................................................................................................63 Table 32 – ComTrig ............................................................................................................63 Table 33 – PDTrig...............................................................................................................64 Table 34 – Wake-up procedure and retry characteristics ......................................................66 Table 35 – Fallback timing characteristics ...........................................................................67 Table 36 – State transition tables of the Master DL-mode handler ........................................69 Table 37 – State transition tables of the Device DL-mode handler ........................................71 Table 38 – State transition table of the Master frame handler...............................................75 Table 39 – State transition tables of the Device frame handler .............................................77 Table 40 – State transition tables of the Master process data handler ..................................79 Table 41 – State transition tables of the Device process data handler ..................................80 Table 42 – State transition tables of the Master on-request data handler..............................82 Table 43 – State transition tables of the Device on-request data handler..............................83 Table 44 – FlowCTRL definitions.........................................................................................84 Table 45 – State transition tables of the Master service handler ...........................................85 Table 46 – State transition tables of the Device service handler ...........................................86 Table 47 – Control codes ....................................................................................................87 Table 48 – State transition tables of the Master command handler .......................................88 Table 49 – State transition tables of the Device command handler .......................................89 Table 50 – Event buffer.......................................................................................................89

Page 8: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 8 – 61131-9/WD V0.5 IEC

Table 51 – State transition tables of the Master event handler .............................................90 Table 52 – State transition tables of the Device event handler .............................................91 Table 53 – AL services within Master and Device ................................................................93 Table 54 – AL_Read ...........................................................................................................94 Table 55 – AL_Write ...........................................................................................................95 Table 56 – AL_Abort ...........................................................................................................96 Table 57 – AL_GetInput ......................................................................................................97 Table 58 – AL_NewInput .....................................................................................................97 Table 59 – AL_SetInput ......................................................................................................98 Table 60 – AL_PDCycle ......................................................................................................98 Table 61 – AL_GetOutput ...................................................................................................99 Table 62 – AL_SetOutput ..................................................................................................100 Table 63 – AL_Event ........................................................................................................100 Table 64 – AL_Control ......................................................................................................102 Table 65 – States and transitions for the OD state machine of the Master AL .....................103 Table 66 – States and transitions for the OD state machine of the Device AL .....................105 Table 67 – State and transitions of the Event state machine of the Master AL ....................108 Table 68 – State and transitions of the Event state machine of the Device AL ....................109 Table 69 – SM services within the Master..........................................................................114 Table 70 – SM_SetPortConfig ...........................................................................................114 Table 71 – Definition of the InspectionLevel (IL) ................................................................115 Table 72 – Definitions of the Target Modes .......................................................................115 Table 73 – SM_GetPortConfig...........................................................................................116 Table 74 – SM_PortMode..................................................................................................117 Table 75 – Definition of the port error modes .....................................................................117 Table 76 – SM_Operate ....................................................................................................118 Table 77 – State transition tables of the Master system management.................................119 Table 78 – State transition tables of the Master submachine CheckCompatibility_1 ............121 Table 79 – State transition tables of the Master submachine CheckSerNum_3 ...................124 Table 80 – SM services within the Device..........................................................................128 Table 81 – SM_SetDeviceCom..........................................................................................128 Table 82 – SM_GetDeviceCom .........................................................................................129 Table 83 – SM_SetDeviceIdent .........................................................................................130 Table 84 – SM_GetDeviceIdent .........................................................................................131 Table 85 – SM_SetDeviceMode ........................................................................................132 Table 86 – SM_DeviceMode..............................................................................................132 Table 87 – State transition tables of the Device system management.................................133 Table 88 – State transition tables of the PM state machine ................................................141 Table 89 – Definitions of parameter checks .......................................................................143 Table 90 – State transition table of the Data Storage state machine ...................................147 Table 91 – Overview of the protocol constants for Devices ................................................153 Table 92 – Classification of Device diagnosis incidents......................................................154 Table 93 – Timing for LED indicators.................................................................................155

Page 9: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 9 – Working Draft

Table 94 – Internal variables and events to control the common Master applications ..........158 Table 95 – State transition tables of the Configuration Manager.........................................163 Table 96 – States and transitions of the Data Storage state machines................................168 Table 97 – State transition table of the ODE state machine................................................171 Table 98 – State transitions of the state machine "DIwithSDCI"..........................................180 Table A.1 – Values of communication channel ...................................................................182 Table A.2 – Values of R/W ................................................................................................182 Table A.3 – Values of F-sequence types ...........................................................................183 Table A.4 – Data types for user data .................................................................................183 Table A.5 – Values of PD invalid .......................................................................................184 Table A.6 – Values of the event flag ..................................................................................184 Table A.7 – F-sequence types for the STARTUP mode ......................................................190 Table A.8 – F-sequence types for the PREOPERATE mode...............................................190 Table A.9 – F-sequence types for the OPERATE mode (V1.0) ...........................................191 Table A.10 – F-sequence types for the OPERATE mode....................................................191 Table A.11 – Recommended MinCycleTimes .....................................................................193 Table A.12 – Definition of the nibble "Service" ...................................................................195 Table A.13 – ISDU syntax .................................................................................................196 Table A.14 – Definition of nibble Length and octet ExtLength.............................................196 Table A.15 – Use of Index formats ....................................................................................197 Table A.16 – Mapping of EventCodes (type 1) ...................................................................200 Table A.17 – Values of INSTANCE....................................................................................201 Table A.18 – Values of SOURCE ......................................................................................202 Table A.19 – Values of TYPE ............................................................................................202 Table A.20 – Values of MODE...........................................................................................202 Table B.1 – Direct parameter page 1 and 2 .......................................................................204 Table B.2 – Types of MasterCommands ............................................................................205 Table B.3 – Possible values of MinCycleTime....................................................................206 Table B.4 – Values of ISDU ..............................................................................................206 Table B.5 – Values of SIO.................................................................................................207 Table B.6 – Permitted combinations of BYTE and Length...................................................207 Table B.7 – Index assignment of data objects (Device parameter)......................................209 Table B.8 – Coding of SystemCommand (ISDU) ................................................................211 Table B.9 – Data Storage Index assignments ....................................................................212 Table B.10 – Structure of Index_List..................................................................................213 Table B.11 – Device locking possibilities ...........................................................................214 Table B.12 – Device status parameter ...............................................................................216 Table B.13 – Detailed Device Status (Index 0x0025)..........................................................217 Table B.14 – Time base coding and values of Offset Time .................................................218 Table C.1 – ErrorTypes.....................................................................................................219 Table C.2 – Derived ErrorTypes ........................................................................................222 Table D.1 – EventCodes ...................................................................................................224 Table D.2 – Exemplary SDCI specific EventCodes.............................................................225

Page 10: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 10 – 61131-9/WD V0.5 IEC

Table E.1 – BooleanT .......................................................................................................227 Table E.2 – BooleanT coding ............................................................................................227 Table E.3 – UIntegerT.......................................................................................................228 Table E.4 – IntegerT .........................................................................................................228 Table E.5 – IntegerT coding (8 octets)...............................................................................229 Table E.6 – IntegerT coding (4 octets)...............................................................................229 Table E.7 – IntegerT coding (2 octets)...............................................................................229 Table E.8 – IntegerT coding (1 octet) ................................................................................229 Table E.9 – Float32T ........................................................................................................230 Table E.10 – Coding of Float32T .......................................................................................230 Table E.11 – StringT .........................................................................................................231 Table E.12 – OctetStringT.................................................................................................232 Table E.13 – TimeT ..........................................................................................................232 Table E.14 – Coding of TimeT...........................................................................................233 Table E.15 – TimeSpanT ..................................................................................................233 Table E.16 – Coding of TimeSpanT ...................................................................................233 Table E.17 – Example for the access of an ArrayT.............................................................234 Table E.18 – Example 1 for the access of a RecordT .........................................................235 Table E.19 – Example 2 for the access of a RecordT .........................................................235 Table E.20 – Example 3 for the access of a RecordT .........................................................236 Table F.1 – Structure of the stored DS data object.............................................................238 Table F.2 – Associated header information for stored DS data objects ...............................238 Table G.1 – EMC test conditions for SDCI .........................................................................240 Table G.2 – EMC test levels..............................................................................................240 Table J.1 – Proper CRC generator polynomials .................................................................250

Figure 1 – Memory and transmission octet order..................................................................28 Figure 2 – SDCI compatibility with IEC 61131-2...................................................................29 Figure 3 – Domain of the SDCI technology within the automation hierarchy..........................29 Figure 4 – Generic Device model for SDCI (Master's view) ..................................................30 Figure 5 – Relationship between nature of data and transmission types ...............................31 Figure 6 – Object transfer at the application layer level (AL) ................................................32 Figure 7 – Logical structure of Master and Device ...............................................................33 Figure 8 – Three wire connection system PHY-3W...............................................................34 Figure 9 – Topology of SDCI ...............................................................................................34 Figure 10 – Physical layer (Master) .....................................................................................35 Figure 11 – Physical layer (Device) .....................................................................................35 Figure 12 – Line driver reference schematics ......................................................................37 Figure 13 – Receiver reference schematics .........................................................................37 Figure 14 – Master and Device reference schematics for PHY-3W .......................................38 Figure 15 – Voltage level definitions ....................................................................................38 Figure 16 – Switching thresholds.........................................................................................39

Page 11: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 11 – Working Draft

Figure 17 – Format of an SDCI UART frame ........................................................................41 Figure 18 – Eye diagram for the 'H' and 'L' detection ...........................................................42 Figure 19 – Eye diagram for the correct detection of a UART frame .....................................42 Figure 20 – Wake-up request ..............................................................................................44 Figure 21 – Power-on timing ...............................................................................................45 Figure 22 – Pin layout front view .........................................................................................46 Figure 23 – Class A and B port definitions ...........................................................................47 Figure 24 – Reference schematic for effective line capacitance and loop resistance .............47 Figure 25 – Structure and services of the data link layer (Master) ........................................49 Figure 26 – Structure and services of the data link layer (Device) ........................................49 Figure 27 – State machines of the data link layer.................................................................64 Figure 28 – Example of an attempt to establish communication............................................65 Figure 29 – Failed attempt to establish communication ........................................................66 Figure 30 – Retry strategy to establish communication ........................................................66 Figure 31 – Fallback procedure ...........................................................................................67 Figure 32 – Master state machine of the DL-mode handler...................................................68 Figure 33 – Submachine to establish communication ...........................................................69 Figure 34 – Device state machine of the DL-mode handler...................................................71 Figure 35 – SDCI F-sequences ...........................................................................................72 Figure 36 – Overview of F-sequence types ..........................................................................73 Figure 37 – Master state machine of the frame handler........................................................74 Figure 38 – Submachine "Response 4" of the frame handler ................................................75 Figure 39 – Submachine "Response 11" of the frame handler ..............................................75 Figure 40 – Device state machine of the frame handler........................................................77 Figure 41 – Interleave mode for the segmented transmission of process data ......................78 Figure 42 – Master state machine of the process data handler .............................................79 Figure 43 – Device state machine of the process data handler .............................................80 Figure 44 – Master state machine of the on-request data handler ........................................81 Figure 45 – Device state machine of the on-request data handler ........................................83 Figure 46 – Structure of the ISDU .......................................................................................84 Figure 47 – Master state machine of the service handler......................................................85 Figure 48 – Device state machine of the service handler......................................................86 Figure 49 – Master state machine of the command handler..................................................88 Figure 50 – Device state machine of the command handler..................................................88 Figure 51 – Master state machine of the event handler ........................................................90 Figure 52 – Device state machine of the event handler ........................................................91 Figure 53 – Structure and services of the application layer (Master).....................................92 Figure 54 – Structure and services of the application layer (Device).....................................93 Figure 55 – OD state machine of the Master AL.................................................................103 Figure 56 – OD state machine of the Device AL.................................................................104 Figure 57 – Sequence diagram for the transmission of On-request Data.............................106 Figure 58 – Sequence diagram for On-request Data in case of errors.................................107 Figure 59 – Sequence diagram for On-request Data in case of timeout ..............................107

Page 12: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 12 – 61131-9/WD V0.5 IEC

Figure 60 – Event state machine of the Master AL .............................................................108 Figure 61 – Event state machine of the Device AL .............................................................109 Figure 62 – Sequence diagram for output Process Data.....................................................110 Figure 63 – Sequence diagram for input Process Data.......................................................111 Figure 64 – Structure and services of the Master system management...............................112 Figure 65 – Sequence chart of the use case "port x setup" ................................................113 Figure 66 – Main Master state machine of the System Management...................................119 Figure 67 – SM Master submachine CheckCompatibility_1 ................................................121 Figure 68 – Activity (check revision) for state "CheckVxy" ..................................................122 Figure 69 – Activity (check comp V10) for state "CheckCompV10" .....................................123 Figure 70 – Activity (check comp) for state "CheckComp" ..................................................123 Figure 71 – Activity (write parameter) in state "RestartDevice" ...........................................124 Figure 72 – SM Master submachine CheckSerNum_3 ........................................................124 Figure 73 – Activity (check SerialNumber) for state CheckSerNum_3 .................................125 Figure 74 – Structure and services of the system management (Device) ............................126 Figure 75 – Sequence chart of the use case "INACTIVE – SIO – SDCI – SIO"....................127 Figure 76 – State machine of the Device system management ...........................................133 Figure 77 – Sequence chart of a regular Device startup .....................................................136 Figure 78 – Sequence chart of a Device startup in compatibility mode................................137 Figure 79 – Sequence chart of a Device startup when compatibility fails ............................138 Figure 80 – Structure and services of a Device..................................................................139 Figure 81 – The Parameter Manager (PM) state machine ..................................................141 Figure 82 – Positive and negative parameter checking result .............................................143 Figure 83 – Positive block parameter download with Data Storage request.........................144 Figure 84 – Negative block parameter download................................................................145 Figure 85 – The Data Storage (DS) state machine .............................................................147 Figure 86 – Data Storage request message sequence .......................................................148 Figure 87 – Cycle timing ...................................................................................................151 Figure 88 – Device LED indicator timing ............................................................................155 Figure 89 – Generic relationship of SDCI technology and fieldbus technology ....................156 Figure 90 – Structure and services of a Master ..................................................................157 Figure 91 – Relationship of the common Master applications .............................................158 Figure 92 – Sequence diagram of Configuration Manager actions ......................................159 Figure 93 – Ports in MessageSync mode...........................................................................161 Figure 94 – State machine of the Configuration Manager ...................................................163 Figure 95 – Main state machine of the Data Storage mechanism........................................165 Figure 96 – Submachine "UpDownload_2" of the Data Storage mechanism........................166 Figure 97 – Data Storage submachine "Upload_7".............................................................167 Figure 98 – Data Storage upload sequence diagram..........................................................167 Figure 99 – Data Storage submachine "Download_10".......................................................168 Figure 100 – Data Storage download sequence diagram....................................................168 Figure 101 – State machine of the On-request Data Exchange...........................................171 Figure 102 – System overview of SDCI diagnosis information propagation via Events ........173

Page 13: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 13 – Working Draft

Figure 103 – Event scheduling ..........................................................................................174 Figure 104 – Event scheduling (multi event transport)........................................................175 Figure 105 – Process Data mapping from ports to the gateway data stream .......................176 Figure 106 – Propagation of PD_Invalid from Master to Device ..........................................177 Figure 107 – Example 1 of a PDCT display layout .............................................................178 Figure 108 – Example 2 of a PDCT display layout .............................................................178 Figure 109 – Virtual port mode "DIwithSDCI" .....................................................................180 Figure A.1 – F-sequence control .......................................................................................182 Figure A.2 – Checksum/F-sequence type octet ..................................................................183 Figure A.3 – Checksum/status octet ..................................................................................184 Figure A.4 – Principle of the checksum calculation and compression..................................185 Figure A.5 – F-sequence TYPE_0 .....................................................................................186 Figure A.6 – F-sequence TYPE_1_1 .................................................................................186 Figure A.7 – F-sequence TYPE_1_2 .................................................................................187 Figure A.8 – F-sequence TYPE_1_V .................................................................................187 Figure A.9 – F-sequence TYPE_2_1 .................................................................................188 Figure A.10 – F-sequence TYPE_2_2................................................................................188 Figure A.11 – F-sequence TYPE_2_3................................................................................188 Figure A.12 – F-sequence TYPE_2_4................................................................................189 Figure A.13 – F-sequence TYPE_2_5................................................................................189 Figure A.14 – F-sequence TYPE_2_6................................................................................189 Figure A.15 – F-sequence TYPE_2_V ...............................................................................190 Figure A.16 – F-sequence timing.......................................................................................193 Figure A.17 – Service octet ...............................................................................................195 Figure A.18 – Check of ISDU integrity via CHKPDU...........................................................197 Figure A.19 – Examples of request formats for ISDUs........................................................198 Figure A.20 – Examples of response ISDUs ......................................................................198 Figure A.21 – Examples of read and write request ISDUs ..................................................199 Figure A.22 – Structure of StatusCode type 1 ....................................................................200 Figure A.23 – Structure of StatusCode type 2 ....................................................................200 Figure A.24 – Indication of activated events ......................................................................201 Figure A.25 – Structure of the EventQualifier.....................................................................201 Figure B.1 – Classification and mapping of direct parameters ............................................203 Figure B.2 – MinCycleTime ...............................................................................................205 Figure B.3 – F-sequence Capability...................................................................................206 Figure B.4 – RevisionID ....................................................................................................207 Figure B.5 – ProcessDataIn ..............................................................................................207 Figure B.6 – Index space for ISDU data objects.................................................................209 Figure B.7 – Implementation rules for parameters and commands......................................209 Figure B.8 – Structure of the Offset Time ..........................................................................218 Figure E.1 – Coding examples of UIntegerT ......................................................................228 Figure E.2 – Coding examples of IntegerT .........................................................................230 Figure E.3 – Singular access of StringT.............................................................................231

Page 14: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 14 – 61131-9/WD V0.5 IEC

Figure E.4 – Coding example of OctetStringT ....................................................................232 Figure E.5 – New definition of NetworkTime in IEC 61158-6:2003 ......................................232 Figure E.6 – Structuring rules for ArrayT ...........................................................................234 Figure E.7 – Example of an ArrayT data structure..............................................................234 Figure E.8 – Structuring rules for RecordT.........................................................................235 Figure E.9 – Example 2 of a RecordT structure..................................................................236 Figure E.10 – Example 3 of a RecordT structure................................................................236 Figure E.11 – Write requests for example 3 .......................................................................237 Figure G.1 – Test setup for electrostatic discharge (Master) ..............................................241 Figure G.2 – Test setup for RF electromagnetic field (Master)............................................242 Figure G.3 – Test setup for fast transients (Master) ...........................................................242 Figure G.4 – Test setup for RF common mode (Master) .....................................................242 Figure G.5 – Test setup for electrostatic discharges (Device).............................................243 Figure G.6 – Test setup for RF electromagnetic field (Device)............................................243 Figure G.7 – Test setup for fast transients (Device) ...........................................................244 Figure G.8 – Test setup for RF common mode (Device) .....................................................244 Figure G.9 – Layout proposal for a manufacturer's declaration ...........................................245 Figure H.1 – Residual error probability for the SDCI data integrity mechanism ...................246 Figure I.1 – Example for ISDU transmissions.....................................................................248 Figure I.2 – Example for ISDU transmissions (continued)...................................................249

Page 15: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 15 – Working Draft

INTERNATIONAL ELECTROTECHNICAL COMMISSION

____________

PROGRAMMABLE CONTROLLERS —

Part 9: Single-drop digital communication interface for small sensors and

actuators (SDCI)

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.

International Standard IEC 61131-9 to be prepared by a Joint Working Group of subcommittee 65B: Devices & process analysis, and subcommittee 65C: Industrial networks, of IEC technical committee 65: Industrial process measurement, control and automation.

The text of this standard is based on the following documents:

NP Report on voting

XX/XX/NP XX/XX/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 the ISO/IEC Directives, Part 2.

Page 16: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 16 – 61131-9/WD V0.5 IEC

The committee has decided that the contents of this publication will remain unchanged until the maintenance result date1 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.

The list of all parts of the IEC 61131 series, under the general title Programmable Controllers, can be found on the IEC website.

IMPORTANT – The 'colour inside' logo on the cover page of this publication indicates that it contains colours which are considered to be useful for the correct understanding of its contents. Users should therefore print this document using a colour printer.

————————— 1 The National Committees are requested to note that for this publication the maintenance result date is 20??.

Page 17: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 17 – Working Draft

0 Introduction

0.1 General

IEC 61131-9 is part of a series of standards on programmable controllers and the associated peripherals and should be read in conjunction with the other parts of the series.

Where a conflict exists between this and other IEC standards (except basic safety standards), the provisions of this standard should be considered to govern in the area of programmable controllers and their associated peripherals.

The increased use of micro-controllers embedded in low-cost digital/analog sensors and actuators has provided opportunities for adding diagnosis and configuration data to support increasing application requirements.

The driving force for the SDCI (IO-Link™2)) technology is the need of these low-cost digital/analog sensors and actuators to exchange this diagnosis and configuration data with a controller (PC or PLC) using a low-cost, digital communication technology while maintaining backward compatibility with the current DI/DO signals.

In fieldbus concepts, the SDCI technology defines a generic interface for connecting digital/analog sensors and actuators to a master unit, which may be combined with gateway capabilities to become a fieldbus remote I/O node.

Any SDCI compliant device can be attached to any available interface port. SDCI compliant devices perform physical to digital conversion in the device, and then communicate the result directly in a standard 24 V I/O digital format, thus removing the need for different DI, DO, AI, AO modules and a variety of cables.

Physical topology is point-to-point from each device to the master using 3 wires over distances up to 20 m. The SDCI physical interface is backward compatible with the usual 24 V I/O signalling specified in IEC 61131-2. Transmission rates of 4,8 kbit/s, 38,4 kbit/s and 230,4 kbit/s are supported.

The master of the SDCI interface detects, identifies and manages devices plugged into its ports.

Tools allow the association of devices with their corresponding electronic I/O device descriptions and their subsequent configuration to match the application requirements.

The SDCI technology specifies three different levels of diagnostic capabilities: for immediate response by automated needs during the production phase, for medium response by operator intervention, or for longer term commissioning and maintenance via extended diagnosis information.

The structure of this document is described in 4.8.

Conformity with IEC 61131-9 cannot be claimed unless the requirements of Annex G are met.

Terms of general use are defined in IEC 61131-1 or in [1]. More specific terms are defined in each part.

————————— 2 IO-LinkTM is a trade name of the "IO-Link Consortium". This information is given for the convenience of users of

this international Standard and does not constitute an endorsement by IEC of the trade name holder or any of its products. Compliance to this standard does not require use of the registered logos for IO-LinkTM. Use of the registered logos for IO-LinkTM requires permission of the "IO-Link Consortium".

Page 18: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 18 – 61131-9/WD V0.5 IEC

0.2 Patent declaration

The International Electrotechnical Commission (IEC) draws attention to the fact that it is claimed that compliance with this document may involve the use of patents concerning the point-to-point serial communication interface for small sensors and actuators as follows, where the [xx] notation indicates the holder of the patent right:

DE 10030845A1 EP 1168271A2 US 6889282B2

[AB] Fieldbus connecting system for actuators or sensors

DE 100 54 288 A1 [FE] Sensoranordnung zur Erfassung wenigstens eines Messwerts

DE 102005 014783 A1 [SI] Verfahren und Vorrichtungen zum Übertragen von Daten auf einer Datenleitung zwischen einem Steuergerät und zumindest einem dezentralen Datenverarbeitungsgerät

DE 102004 035831 A1 [SI] Verfahren und Vorrichtung zur Inbetriebnahme eines Geräts

DE 102 119 39 A1 US 2003/0200323 A1

[SK] Coupling apparatus for the coupling of devices to a bus system

IEC takes no position concerning the evidence, validity and scope of these patent rights.

The holders of these patents 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 statements of the holders of these patent rights are registered with IEC.

Information may be obtained from:

[AB] ABB AG Heidelberg Germany

[FE] Festo AG Esslingen Germany

[SI] Siemens AG I IA AS FA TC Karlsruhe Germany

[SK] Sick AG Waldkirch Germany

Attention is drawn to the possibility that some of the elements of this document 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.

Page 19: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 19 – Working Draft

PROGRAMMABLE CONTROLLERS — 1 2 3 4 5 6

8 9

10 11 12 13 14 15 16 17 18 19 20

21 22 23 24

25 26

28 29 30

31 32

33 34

35 36

37 38

39 40

41 42

Part 9: Single-drop digital communication interface for small sensors and

actuators (SDCI)

1 Scope 7

The single-drop digital communication interface (SDCI) technology described in this part 9 of the IEC 61131 series focuses on simple sensors and actuators in factory automation, which are nowadays using small and cost-effective microcontrollers. With the help of the SDCI technology, the existing limitations of traditional signal connection technologies such as switching 0/24 V, analog 0 V to 10 V, etc. can be turned into a smooth migration. Classic sensors and actuators are usually connected to a fieldbus system via input/output modules in so-called remote I/O peripherals. The (SDCI) Master function enables these peripherals to map SDCI Devices onto a fieldbus system or build up direct gateways. Thus, parameter data can be transferred from the PLC level down to the sensor/actuator level and diagnosis data transferred back in turn by means of the SDCI communication. This is a contribution to consistent parameter storage and maintenance support within a distributed automation system. SDCI is compatible to classic signal switching technology according to part 2 of the IEC 61131 series.

This part describes the SDCI communication, comprising the specifications of the physical layer, the data link layer and the application layer for SDCI Masters and SDCI Devices following the ISO/OSI reference model. Communication interfaces or systems incorporating multiple point or multiple drop linkages are not covered by this standard.

This version also includes EMC test requirements, and a template for the manufacturer's conformity declaration.

2 Normative references 27

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 60947-5-2, Low-voltage switchgear and controlgear – Part 5-2: Control circuit devices and switching elements – Proximity switches

IEC 61000-4-2, Electromagnetic compatibility (EMC) – Part 4-2: Testing and measurement techniques – Electrostatic discharge immunity test

IEC 61000-4-3, Electromagnetic compatibility (EMC) – Part 4-3: Testing and measurement techniques – Radiated, radio-frequency, electromagnetic field immunity test

IEC 61000-4-4, Electromagnetic compatibility (EMC) – Part 4-4: Testing and measurement techniques – Electrical fast transient/burst immunity test

IEC 61000-4-5, Electromagnetic compatibility (EMC) – Part 4-5: Testing and measurement techniques – Surge immunity test

IEC 61000-4-6, Electromagnetic compatibility (EMC) – Part 4-6: Testing and measurement techniques – Immunity to conducted disturbances, induced by radio-frequency fields

Page 20: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 20 – 61131-9/WD V0.5 IEC

IEC 61000-6-4, Electromagnetic compatibility (EMC) – Part 6: Generic standards – Section 4: Emission standard for industrial environments

43 44

45 46

47

48 49

50 51

52 53

54 55

56 57

58 59

60 61

62 63

64

67 68

70 71 72

74 75 76

78 79

IEC 61076-2-101, Connectors for electronic equipment – Product requirements – Part 2-101: Circular connectors - Detail specification for M12 connectors with screw-locking

IEC 61131-2, Programmable controllers – Part 2: Equipment requirements and tests

IEC 61158-2, Digital data communications for measurement and control – Fieldbus for use in industrial control systems – Part 2: Physical layer specification and service definition

IEC 61158-3, Digital data communications for measurement and control – Fieldbus for use in industrial control systems – Part 3: Data link layer service definition

IEC 61158-4, Digital data communications for measurement and control – Fieldbus for use in industrial control systems – Part 4: Data link layer protocol specification

IEC 61158-5, Digital data communications for measurement and control – Fieldbus for use in industrial control systems – Part 5: Application layer service definition

IEC 61158-6, Digital data communications for measurement and control – Fieldbus for use in industrial control systems – Part 6: Application layer protocol specification

IEC 61784-1, Digital data communications for measurement and control – Part 1: Profile sets for continuous and discrete manufacturing relative to fieldbus use in industrial control systems

ISO/IEC 10731, Information technology – Open Systems Interconnection – Basic Reference Model – Conventions for the definition of OSI services

ISO/IEC 7498-1, Information technology – Open Systems Interconnection – Basic Reference Model – Part 1: The Basic Model

3 Terms, definitions, symbols, abbreviated terms and conventions 65

3.1 Terms and definitions 66

For the purposes of this document, the following terms and definitions in addition to those given in IEC 61131-1 and IEC 61131-2 apply.

3.1.1 69 address part of the F-sequence control to reference data within data categories of a communication channel

3.1.2 73 application layer (AL) <SDCI> part of the protocol responsible for the transmission of Process Data objects and On-Request Data objects

3.1.3 77 block parameter consistent parameter access via multiple Indices or Subindices

Page 21: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 21 – Working Draft

3.1.4 80 checksum 81

82 83

85 86 87

89 90

92 93

95 96

98 99

101 102

104 105

107 108 109

111 112

113 114

116 117

118

120 121 122

<SDCI> complementary part of the overall data integrity measures in the data link layer in addition to the UART parity bit

3.1.5 84 CHKPDU integrity protection data within an ISDU communication channel generated through XOR processing the octets of a request or response

3.1.6 88 coded switching SDCI communication, based on the standard binary signal levels of IEC 61131-2

3.1.7 91 COM1 transmission rate of 4,8 kbit/s

3.1.8 94 COM2 transmission rate of 38,4 kbit/s

3.1.9 97 COM3 transmission rate of 230,4 kbit/s

3.1.10 100 COMx one out of three possible transmission rates COM1, COM2, or COM3

3.1.11 103 communication error unexpected disturbance of the SDCI transmission protocol

3.1.12 106 cycle time time to transmit an F-sequence between a Master and its Device including the following idle time

3.1.13 110 communication channel logical connection between Master and Device

NOTE Four communication channels are defined: process channel, page and ISDU channel (for parameters) and diagnosis channel.

3.1.14 115 Device single passive peer to a Master such as a sensor or actuator

NOTE Uppercase "Device" is used for SDCI equipment, while lowercase "device" is used in a generic manner.

3.1.15 119 direct parameters directly (page) addressed parameters transferred acyclically via the page communication channel without acknowledgement

Page 22: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 22 – 61131-9/WD V0.5 IEC

3.1.16 123 dynamic parameter 124

125 126

128 129

130 131

132

134 135

137 138 139

141 142 143

145 146

148 149

151 152

153

155 156

158 159 160

162 163 164

part of a Device's parameter set defined by on-board user interfaces such as teach-in buttons or control panels in addition to the static parameters

3.1.17 127 event an instance of a change of conditions

NOTE An event is indicated via the event flag within the Device's status cyclic information, then acyclic transfer of event data (typically diagnosis information) is conveyed through the diagnosis communication channel.

[IEC 61158-5-x, modified]

3.1.18 133 fallback transition of a port from coded switching to switching signal mode

3.1.19 136 F-sequence sequence of two messages (frames) comprising a Master message and its subsequent Device message

3.1.20 140 F-sequence control first octet in a Master message indicating the read/write operation, the type of the communication channel, and the address, for example offset or flow control

3.1.21 144 F-sequence error unexpected or wrong frame content, or no response

3.1.22 147 F-sequence type one particular F-sequence format out of a set of specified F-sequence formats

3.1.23 150 frame denigrated synonym for data-link PDU

[IEC 61158-3-x]

3.1.24 154 framing error perturbed UART frames (physical layer)

3.1.25 157 interleave segmented cyclic data exchange for process data with more than 2 octets through subsequent cycles

3.1.26 161 ISDU indexed service data unit used for acyclic acknowledged transmission of parameters that can be segmented in a number of F-sequences

Page 23: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 23 – Working Draft

3.1.27 165 Master 166

167 168

169

171 172 173

175 176 177

179 180 181

183 184 185 186

187

188

190 191

193 194

196 197 198 199

201 202 203

205 206

208 209 210

active peer connected through ports to one up to n Devices and which provides an interface to the gateway to the upper level communication systems or PLCs

NOTE Uppercase "Master" is used for SDCI equipment, while lowercase "master" is used in a generic manner.

3.1.28 170 message <SDCI> coherent set of UART frames transferred either from a Master to its Device or vice versa following the rules of the SDCI protocol

3.1.29 174 on-request data acyclically transmitted data upon request of the Master application consisting of parameters or event data

3.1.30 178 PHY-3W three wire connection to Devices for power, ground, communication and/or switching signals defined in IEC 60947-5-2

3.1.31 182 physical layer first layer of the ISO-OSI reference model, which provides the mechanical, electrical, functional and procedural means to activate, maintain, and de-activate physical connections for bit transmission between data-link entities

NOTE Physical layer provides means for wake-up and fallback procedures.

[ISO/IEC 7498-1, modified]

3.1.32 189 port communication medium interface of the Master to one Device

3.1.33 192 port operating mode state of a Master's port that can be either INACTIVE, DO, DI, SDCI, or ScanMode

3.1.34 195 process data input or output values from or to a discrete or continuous automation process cyclically transferred with high priority and in a configured schedule automatically after start-up of a Master

3.1.35 200 process data cycle complete transfer of all process data from or to an individual Device that may comprise several cycles in case of segmentation (interleave)

3.1.36 204 single parameter independent parameter access via one single Index or Subindex

3.1.37 207 SIO port operation mode in accordance with digital input and output defined in IEC 61131-2 that is established after power-up or fallback or unsuccessful communication attempts

Page 24: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 24 – 61131-9/WD V0.5 IEC

3.1.38 211 static parameter 212

213 214

216 217 218

220 221 222

224 225 226

228 229

231 232 233

part of a Device's parameter set to be saved in a Master for the case of replacement without engineering tools

3.1.39 215 switching signal binary signal from or to a Device when in SIO mode (as opposed to the "coded switching" SDCI communication)

3.1.40 219 system management (SM) <SDCI> means to control and coordinate the internal communication layers and the exceptions within the Master and its ports, and within each Device

3.1.41 223 UART frame <SDCI> bit sequence starting with a start bit, followed by eight bits to carry a data octet, followed by an even parity bit and ending with one stop bit

3.1.42 227 wake-up procedure for causing a Device to change its mode from SIO to SDCI

3.1.43 230 wake-up request (WURQ) physical layer service used by the Master to initiate wake-up of a Device, and put it in a receive ready state

3.2 Symbols and abbreviated terms 234

fDTR Permissible deviation from data transfer rate, measured in %

PS Power supply ripple, measured in V

AL Application Layer

BEP Bit error probability

C/Q Connection for communication (C) or switching (Q) signal (SIO)

CLeff Effective total cable capacity, measured in nF

CQ Input capacity at C/Q connection, measured in nF

DI Digital input

DL Data Link Layer

DO Digital output

fDTR Data transfer rate, measured in bit/s

H/L High/low signal at receiver output

I/O Input / output

ILL Input load current at input C/Q to V0, measured in A

IQ Driver current in saturated operating status ON, measured in A

IQH Driver current on high-side driver in saturated operating status ON, measured in A

IQL Driver current on low-side driver in saturated operating status ON, measured in A

IQPK Maximum driver current in unsaturated operating status ON, measured in A

IQPKH Maximum driver current on high-side driver in unsaturated operating status ON, measured in A

IQPKL Maximum driver current on low-side driver in unsaturated operating status ON,

Page 25: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 25 – Working Draft

measured in A

IQQ Quiescent current at input C/Q to V0 with inactive output drivers, measured in A

IQWU Amplitude of Master’s wake-up request current, measured in A

IS Supply current at V+, measured in A

ISIR Current pulse supply capability at V+, measured in A

LED Light emitting diode

L- Ground connection

L+ Power supply connection

nWU Wake-up retry count

On/Off Driver’s ON/OFF switching signal

ON-REQ On-request data

OVD Signal Overload Detect

PDCT Port and Device configuration tool

PL Physical layer

PLC Programmable logic controller

PS Power supply, measured in V

r Time to reach a stable level with reference to the beginning of the start bit, measured in TBIT

RLeff Loop resistance of cable, measured in Ω

s Time to exit a stable level with reference to the beginning of the start bit, measured in TBIT

SDCI Single-drop digital communication interface

SIO Standard Input Output (digital switching mode) [IEC 61131-2]

SM System Management

t1 Character transfer delay on Master, measured in TBIT

t2 Character transfer delay on Device, measured in TBIT

tA Response delay on Device, measured in TBIT

TBIT Bit time, measured in s

tCYC Cycle time on F-sequence level, measured in s

tDF Fall time, measured in s

TDMT Delay time while establishing Master port communication, measured in TBIT

tDR Rise time, measured in s

TDSIO Delay time on Device for transition to SIO mode following wake-up request, measured in s

TDWU Wake-up retry delay, measured in s

tF-sequence F-sequence duration, measured in TBIT

tidle Idle time between two F-sequences, measured in s

tH Detection time for high level, measured in s

tL Detection time for low level, measured in s

tND Noise suppression time, measured in s

TOFS Temporal offset for process data processing on the Device with reference to start of cycle, measured in s

TRDL Wake-up readiness following power ON, measured in s

TREN Receive enable, measured in s

Page 26: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 26 – 61131-9/WD V0.5 IEC

TSD Device detect time, measured in s

TWU Pulse duration of wake-up request, measured in s

UART Universal asynchronous receiver transmitter

UML Unified modelling language

V+ Voltage at L+

V0 Voltage at L-

VD- Voltage drop on the line between the L- connections on Master and Device, measured in V

VD+ Voltage drop on the line between the L+ connections on Master and Device, measured in V

VDQ Voltage drop on the line between the C/Q connections on Master and Device, measured in V

VHYS Hysteresis of receiver threshold voltage, measured in V

VI Input voltage at connection C/Q with reference to V0, measured in V

VIH Input voltage range at connection C/Q for high signal, measured in V

VIL Input voltage range at connection C/Q for low signal, measured in V

VRQ Residual voltage on driver in saturated operating status ON, measured in V

VRQH Residual voltage on high-side driver in operating status ON, measured in V

VRQL Residual voltage on low-side driver in saturated operating status ON, measured in V

VTH Threshold voltage of receiver with reference to V0, measured in V

VTHH Threshold voltage of receiver for safe detection of a high signal, measured in V

VTHL Threshold voltage of receiver for safe detection of a low signal, measured in V

WURQ Wake-up request pulse

235

238 239

241 242 243 244

245 246 247

248

249

250

251

252

3.3 Conventions 236

3.3.1 General 237

The service model, service primitives, and the diagrams shown in this document are entirely abstract descriptions. They do not represent a complete specification for implementation.

3.3.2 Service parameters 240

Service primitives are used to represent service provider/consumer interactions (ISO/IEC 10731). They convey parameters which indicate the information available in the provider/ consumer interaction. In any particular interface, not each and every parameter needs to be explicitly stated.

The service specification in this document uses a tabular format to describe the component parameters of the service primitives. The parameters which apply to each group of service primitives are set out in tables. Each table consists of up to five columns for the

1) parameter name,

2) request primitive (.req),

3) indication primitive (.ind),

4) response primitive (.rsp), and

5) confirmation primitive (.cnf).

Page 27: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 27 – Working Draft

One parameter (or component of it) is listed in each row of each table. Under the appropriate service primitive columns, a code is used to specify the type of usage of the parameter on the primitive specified in the column.

253 254 255

256

257 258 259

260 261

262

263

264

266

268

270

271 272

273 274

275 276

278 279

280

281

283 284

M Parameter is mandatory for the primitive.

U Parameter is a user option, and can or cannot be provided depending on dynamic usage of the service user. When not provided, a default value for the parameter is assumed.

C Parameter is conditional upon other parameters or upon the environment of the service user.

– Parameter is never present.

S Parameter is a selected item.

Some entries are further qualified by items in brackets. These may be

a) a parameter-specific constraint "(=)" indicates that the parameter is semantically equiva-265 lent to the parameter in the service primitive to its immediate left in the table;

b) an indication that some note applies to the entry "(n)" indicates that the following note "n" 267 contains additional information related to the parameter and its use.

3.3.3 Service procedures 269

The procedures are defined in terms of

the interactions between application entities through the exchange of protocol data units, and

the interactions between a communication layer service provider and a communication layer service consumer in the same system through the invocation of service primitives.

These procedures are applicable to instances of communication between systems which support time-constrained communications services within the communication layers.

3.3.4 Service attributes 277

The nature of the different (Master and Device) services is characterized by attributes. All services are defined from the view of the affected layer towards the layer above.

I Initiator of a service (towards the layer above)

R Receiver (responder) of a service (from the layer above)

3.3.5 Memory and transmission octet order 282

Figure 1 demonstrates the order that shall be used when transferring WORD based data types from memory to transmission and vice versa (7.3.3.2).

Page 28: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 28 – 61131-9/WD V0.5 IEC

Memory

0 Transmission time t

MSO

LSO

MSO LSO

n+4

n+3

n+2

n+1

n

20215

Transmission

285

286

288 289 290

291 292 293 294 295 296

297

300 301 302 303 304 305 306 307

—————————

Figure 1 – Memory and transmission octet order

3.3.6 Behavioral descriptions 287

For the behavioral descriptions, the notations of UML 2 [5] are used, mainly state, sequence, activity, and timing diagrams. The layout of the associated state-transition tables is following IEC 62390 [4].

Due to design tool restrictions the following exceptions apply. For state diagrams, a service parameter (in capital letters) is attached to the service name via an underscore character, such as for example in DL_SetMode_INACTIVE. For sequence diagrams, the service primitive is attached via an underscore character instead of a dot, and the service parameter is added in parenthesis, such as for example in DL_Event_ind (OPERATE). Timing constraints are labelled "tm(time in ms)".

Asynchronously received service calls are not modelled in detail within state diagrams.

4 Overview of SDCI (IO-LinkTM3) 298

4.1 Purpose of technology 299

The single-drop digital communication interface technology for small sensors and actuators SDCI (commonly known as IO-LinkTM) defines a migration path from the existing digital input and digital output interfaces for switching 24 V Devices as defined in IEC 61131-2 towards a point-to-point communication link. Thus, for example, digital I/O modules in existing fieldbus peripherals can be replaced by SDCI Master modules providing both classic DI/DO interfaces and SDCI. Analog transmission technology can be replaced by SDCI combining its robustness, parameterization, and diagnostic features with the saving of digital/analog and analog/digital conversion efforts. Figure 2 shows the basic concept of SDCI.

3 IO-LinkTM is a trade name of the "IO-Link Consortium". This information is given for the convenience of users of this international Standard and does not constitute an endorsement by IEC of the trade name holder or any of its products. Compliance to this standard does not require use of the registered logos for IO-LinkTM. Use of the registered logos for IO-LinkTM requires permission of the "IO-Link Consortium".

Page 29: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 29 – Working Draft

14

3

2

L-

C/Q

L+

IEC 60947-5-2

SIO

SDCI 4,8 / 38,4 / 230,4 kbit/s

IEC 61131-9"Coded switching" (SDCI)

C

IEC 61131-2"Switching signal" DI, DO(SIO)

Q4

IEC 61131-20 VL-3

IEC 61131-2Not connected, DI, or DOI/Q2

IEC 61131-224 VL+1

StandardDefinitionSignalPin

IEC 61131-9"Coded switching" (SDCI)

C

IEC 61131-2"Switching signal" DI, DO(SIO)

Q4

IEC 61131-20 VL-3

IEC 61131-2Not connected, DI, or DOI/Q2

IEC 61131-224 VL+1

StandardDefinitionSignalPin

308

309

311

Figure 2 – SDCI compatibility with IEC 61131-2

4.2 Positioning within the automation hierarchy 310

Figure 3 shows the domain of the SDCI technology within the automation hierarchy.

DeviceDevice

ApplicationApplication

DeviceDevice

ApplicationApplication

DeviceDevice

ApplicationApplication

Fieldbus interfaceFieldbus interface

Data storage

Parameter server

SDCI

PLC / HostPLC / Host

Fieldbusintegration

Device description

Port 2

Engineering:configuration,parameterization,diagnosis,identification &maintenance

Port 1 Port n

Fieldbus controllerFieldbus controller

Gateway applicationGateway application

MasterMaster

312

313

314 315 316

317 318 319 320

321 322 323 324 325 326 327 328

Figure 3 – Domain of the SDCI technology within the automation hierarchy

The SDCI technology defines a generic interface for connecting digital/analog sensors and actuators to a master unit, which may be combined with gateway capabilities to become a fieldbus remote I/O node.

Starting point for the design of SDCI is the classic 24 V digital input and output interface (DI/DO) defined in IEC 61131-2. Thus, SDCI offers connectivity of classic 24 V sensors ("switching signals") as a default operational mode and connectivity of actuators after configuration to a port ("single-drop").

Many sensors and actuators nowadays are already equipped with microcontrollers offering a UART interface that easily can be complemented to an SDCI with the help of a few hardware components and protocol software. This leads to a second operational mode, communication via "coded switching". After a corresponding start-up, SDCI allows for parameterization, cyclic data exchange, diagnosis reporting, external parameter storage for fast replacement, and identification & maintenance information. Sensors and actuators with these capabilities are simply called "Devices" in this document. For start-up performance reasons these Devices usually provide non-volatile parameter storage.

Page 30: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 30 – 61131-9/WD V0.5 IEC

Configuration and parameterization of Devices is supported through an XML-based device description

329 330

332 333 334 335 336 337

339

[3], which is not part of this document.

4.3 Wiring, connectors and power 331

The default connection (port class A) wiring complies with IEC 60947-5-2 using three wires for 24 V, 0 V, and a signal line. Four wire connections are specified using an additional wire on a port class A to interface with a separate digital input or, after appropriate configuration, a digital output. Five wire connections (port class B) are specified for Devices requiring additional power from an independant 24 V power supply. Maximum length of cables is 20 m, shielding is not required.

4.4 Communication features of SDCI 338

The generic Device model is shown in Figure 4 and explained in the following section.

Process data

0...32 octetsout

0...32 octetsin 0232

Index 0...65535,232 octets/indexmaximum

0232

Subindex 0 entire record

Parameter andcommands

0...32 octets

Event buffer(diagnosis)

...

...

0x00

Subindex 1...255 selective

0x00

0xFFFF

0xFF

Direct parameterpage 1+2

015 340

341

342 343 344 345 346 347 348 349 350 351

352 353 354

355 356 357

Figure 4 – Generic Device model for SDCI (Master's view)

A Device may receive process data (out) to control a discrete or continuous automation process or send process data (in) representing its current state or measurement values. The Device usually provides parameters enabling the user to adjust its functions to particular needs. In this case a large parameter space is defined in principle via an Index (0 to 65 535; see B.2.1 for constraints) and a Subindex (0 to 255) thus allowing easy access without administrative overhead. The space in Index 0 and 1 is reserved for the direct parameter page 1 and 2 with a maximum of 16 octets each. Parameter page 1 is mainly dedicated to Master commands for the Device to start, to fallback, etc., and Device specific operational and identification information. Parameter page 2 allows for a maximum of 16 Device specific so-called anonymous parameters (Table 91).

The other indices >1 allow for 232 octets. A Subindex 0 indicates transmission of the complete content addressed by the Index, whereas the other subindices allow for selective access to data items within a record.

Any change of device condition requiring reporting or intervention are stored within an event buffer before transmission. An event flag in the cyclic data exchange indicates the existence of an event.

Page 31: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 31 – Working Draft

Communication between a Master and a Device is point-to-point and is based on the principle of a Master first sending a request message and then a Device sending a response message (

358 359 360 361

362 363 364 365

Figure 35). Both messages together are called an F-sequence. For all kinds of user data transmission several F-sequence types are defined to choose from (Figure 36).

User data such as process data (in, out), parameter data (read/write objects), and events with diagnosis data are identified as data categories and transmitted through communication channels within the data link layer (Figure 5). The diagnosis data is subdivided into the 3 severity levels error, warning, and notification.

Cyclic (default)Cyclic (default)

On-request (acyclic)On-request (acyclic)

Nature of Data

OperationOperation ProcessProcess

CommunicationChannel

Configuration/maintenance

Configuration/maintenance

EventsEvents

ErrorsErrors

WarningsWarnings

NotificationsNotifications

Direct parameter page(Page 1 or 2)

Direct parameter page(Page 1 or 2)

Transmission Type

PagePage

DiagnosisDiagnosis

Parameter(Index >1)

Parameter(Index >1) ISDUISDU

Data Categories

Input, OutputInput, Output

Valid, InvalidValid, Invalid

Cyclic (default)Cyclic (default)

On-request (acyclic)On-request (acyclic)

Nature of Data

OperationOperation ProcessProcess

CommunicationChannel

Configuration/maintenance

Configuration/maintenance

EventsEvents

ErrorsErrors

WarningsWarnings

NotificationsNotifications

Direct parameter page(Page 1 or 2)

Direct parameter page(Page 1 or 2)

Transmission Type

PagePage

DiagnosisDiagnosis

Parameter(Index >1)

Parameter(Index >1) ISDUISDU

Data Categories

Input, OutputInput, Output

Valid, InvalidValid, Invalid

366

367

368 369

370 371 372 373 374 375

376 377 378

Figure 5 – Relationship between nature of data and transmission types

The first octet of a Master message controls the data transfer direction (read/write) and the type of communication channel.

Figure 6 shows how the data link layer is associated with each port of a Master. On the application layer level, the particular services of the data link layer are translated into the process data objects, the read/write of on-request data objects, and the event handling. Master applications accommodate a Configuration Manager (CM), Data Storage mechanism (DS), Diagnosis Unit (DU), On-request Data Exchange (ODE), and a Process Data Exchange (PDE).

System management adjusts the ports according to the chosen configuration while considering the properties of the connected Devices. It controls the state machines in the application (AL) and data link layers (DL), for example at start-up.

Page 32: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 32 – 61131-9/WD V0.5 IEC

Sys

tem

man

agem

ent

Sys

tem

man

agem

ent

DLDL

Input

Output

Read Write

Event n+5Event n+4

Event n ...

Device technologyDevice technology

Cyclic communicationchannel(process data)

Acyclic communication

channels(on-request)

Sys

tem

man

agem

ent

Sys

tem

man

agem

ent

... ...

Input

Output

Read Write

Event n+5Event n+4

Event n ...

DLDL

PortPort

DLDL

PortPort

DLDL

PortPort

Applicationlayer (AL)

Data linklayer (DL)

Physicallayer (PL)

Master applications

Process data objectsOn-request data objects

Process data objectsOn-request data objects

379

380

382 383 384 385 386 387

388 389 390

391 392

393 394 395 396 397

398 399

400 401 402 403

Figure 6 – Object transfer at the application layer level (AL)

4.5 Role of a Master 381

A Master accommodates 1 to n ports and the associated data link layers. During start-up it changes the ports to the user-selected port modes, which can be INACTIVE, DI, DO, SDCI, and ScanMode. In case of SDCI mode, a special wake-up current pulse initiates communication with the Device while auto-adjusting the transmission rate to COM1, COM2, or COM3 (Table 7) and checks the "personality" of the connected Device, i.e. its Vendor-ID, Device-ID, and communication properties.

If there is a mismatch between the Device parameters and the stored parameter set within the Master, the parameters in the Device are overwritten (11.3) or the stored parameters within the master are updated depending on configuration.

It is also possible to start with SDCI communication and after parameterization intentionally switch to DI mode via a fallback command (11.8.5).

Coordination of the ports is also a task of the Master which the user can configure through the selection of port cycle modes. In FreeRunning mode, each port defines its own cycle based on the properties of the connected Device. In MessageSync mode, messages (frames) sent on the connected ports start at the same time or in a defined staggered manner. In FixedValue mode, each port uses a user-defined fixed cycle time (11.2.2.2).

The Master is responsible for the assembling and disassembling of all data from or to the Devices (see Clause 11).

The Master provides a data storage of at least 2 048 octets for each Device connected to a port for Device backup (see 11.3). The Master combines this Device data together with all other relevant data for its own operation, and builds-up bulk data to make it available for higher level applications for Master backup purpose or recipe control (see 11.8.3).

Page 33: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 33 – Working Draft

4.6 Engineering for SDCI 404

Engineering for a Master is usually provided by a port and Device configuration tool (PDCT). The PDCT is not only dealing with port properties but also with the Device properties as shown in

405 406 407 408 409 410 411

413 414 415 416 417

419 420 421 422 423

Figure 4. It combines both an interpreter of the XML-based device description (IODD) and a configurator (11.7). The IODD provides all the necessary properties to establish communication and the necessary parameters and their boundaries to establish the desired function of a sensor or actuator. The PDCT also supports the compilation of the process data for propagation on the fieldbus and vice versa.

4.7 Mapping to fieldbuses 412

Integration of a Master, i.e. the mapping of the Process Data exchange, the realization of program-controlled parameterization or a remote parameter server and the propagation of diagnosis information to a particular fieldbus is not within the responsibility of this document. The integration of a PDCT into engineering tools of a particular fieldbus is not within the responsibility of this document.

4.8 Document structure 418

Figure 7 shows the logical structure of the Master and Device. Clause 5 specifies the Physical Layer (PL) of SDCI, Clause 6 specifies details of the SIO mode. Clause 7 specifies Data Link Layer (DL) services, protocol, wake-up, F-sequences, and the DL layer handlers. Clause 8 specifies the services and the protocol of the Application Layer (AL) and Clause 9 the System Management responsibilities (SM).

Master Device

AL

DL

PL

DL

PL

DL

PL

...

...

DL

PL

DL

PL

DL

PL

DL

PL

DL

PL

DL

PL

...

...

...

...

SM

AL

DL

PL

AL

DL

PL

DL

PL

SIO

Medium

SIO SM

CM DS ODE DU PDE PM DS ED PDEPM DS ED PDE

424

425

426 427 428 429

430 431 432 433 434

435 436 437 438 439 440 441 442 443 444

Figure 7 – Logical structure of Master and Device

Clause 10 concerns the different Process Data (PDE) the Device is exchanging with the Master, the Parameter Management (PM) and Data Storage (DS) aspects and the diagnosis propagation to the Master via an Event Dispatcher (ED). Technology specific applications are not part of this document. They may be described in profiles for particular Device families.

Clause 11 covers the Master applications Process Data Exchange (PDE), On-request Data Exchange (ODE), Configuration Management (CM), and Data Storage (DS) for parameters of connected Devices. A Diagnosis Unit (DU) takes care of the processing and propagation of Events (diagnosis information) to other Master applications, or into a fieldbus or other higher level system the Master is embedded in.

Several normative and informative annexes are included. Annex A defines the available F-sequence types. Annex B describes the parameters of the direct parameter page and the fixed Device parameters. Annex C lists the error types in case of acyclic transmissions and Annex D the Event codes (diagnosis information of Devices). Annex E specifies the available basic and composite data types. Annex F defines the structure of data storage objects. Annex G deals with conformity and electromagnetic compatibility test requirements and Annex H provides graphs of residual error probabilities, demonstrating the level of SDCI's data integrity. The informative Annex I provides an example of the sequence of acyclic data transmissions. The informative Annex J explains two recommended methods for detecting parameter changes in the context of Data Storage.

Page 34: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 34 – 61131-9/WD V0.5 IEC

445 446

450 451 452 453

Annex K provides contact details for organizations, which support the SDCI technology and offer help with design, conformity testing, device description and fieldbus integration.

5 Physical Layer (PL) 447

5.1 General 448

5.1.1 Basics 449

The 3-wire connection system of SDCI (called PHY-3W) is based on the specifications in IEC 60947-5-2. The three lines are used as follows: (L+) for the 24 V power supply, (L-) for the ground line, and (C/Q) for the switching signal (Q) or SDCI communication (C), as shown in Figure 8.

Master Device

L+

C/Q

L-

454

455

456 457

458 459

460 461

462 463

465 466 467

Figure 8 – Three wire connection system PHY-3W

NOTE Binary sensors compliant with IEC 60947-5-2 are compatible with the PHY-3W interface (including from a power consumption point of view).

Support of PHY-3W is mandatory for Master. Ports with this characteristic are called port class A.

Four wire connections are specified using an additional wire on a port class A to interface with a separate digital input or, after appropriate configuration, a digital output (10.10).

Five wire connections (port class B) are specified for Devices requiring additional power from an independant 24 V power supply (see 5.5.1).

5.1.2 Topology 464

The SDCI system topology uses point-to-point links between a Master and its Devices as shown in Figure 9. The Master may have multiple ports for the connection of Devices. Only one Device shall be connected to each port.

Master

1 2 3 ... n

1 2 3 n

SDCI links

Devices

Ports

468

469

472

Figure 9 – Topology of SDCI

5.2 Physical layer services 470

5.2.1 Overview 471

Figure 10 presents an overview of the Master's physical layer and its services.

Page 35: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 35 – Working Draft

System Management

PL-Transfer.req PL-Transfer.indPL-WakeUp.req

DI / DO

PL-Mode.req

Port x handlerMaster

DL-mode handler Frame handler

Wake-up Switching signalCoded switchingInactive

Data Link Layer

Mode switch

Physical Layer (port) 473

474

475 476 477 478

479 480 481 482 483 484

485

Figure 10 – Physical layer (Master)

The physical layer specifies the operation of the C/Q line in Figure 2 and the associated line driver (transmitter) and receiver of a particular port. The Master operates this line in three different modes (see Figure 10): inactive, SDCI ("Coded switching"), and SIO ("Switching signal"). The service PL-Mode.req is responsible for switching into one of these modes.

If the port is in inactive mode, the C/Q line shall be high impedance (floating). In SIO mode, the port can be used as a standard input or output interface according to the definitions of IEC 61131-2. The communication layers of SDCI are bypassed as shown in Figure 10; the signals are directly processed within the Master application. In SDCI mode, the service PL_WakeUp.req creates a special signal pattern (current pulse) that can be detected by an SDCI enabled Device connected to this port (5.3.3.3).

Figure 11 presents an overview of the Device's physical layer and its services.

System Management

PL-Transfer.ind PL-Transfer.reqPL-WakeUp.ind

DI / DO

PL-Mode.req

Line handlerDevice

DL-mode handler Frame handler

Wake-up Switching signalCoded switching

Data Link Layer

Physical Layer

Mode switch

486

487

488 489 490 491 492 493

494 495

496 497 498 499

500

Figure 11 – Physical layer (Device)

The physical layer of a Device according to Figure 11 follows the same principle, except that there is no inactive state. By default at power on or cable reconnection, the Device shall operate in the SIO mode, as a digital input. The Device shall always be able to detect a wake-up current pulse (wake-up request). The service PL_WakeUp.ind reports successful detection of the wake-up request (usually a microcontroller interrupt), which is required for the Device to switch to the SDCI mode.

A special MasterCommand (fallback) sent via SDCI causes the Device to switch back to SIO mode.

Subsequently, the services are defined that are provided by the PL to System Management and to the Data Link Layer (see Figure 80 and Figure 90 for a complete overview of all the services). Table 1 lists the assignments of Master and Device to their roles as initiator or receiver for the individual PL services.

Page 36: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 36 – 61131-9/WD V0.5 IEC

Table 1 – Service assignments of Master and Device 501

Service name Master Device

PL-Mode R R

PL-WakeUp R I

PL-Transfer I / R R / I

Key (see 3.3.4) I Initiator of service R Receiver (Responder) of service

502

505 506

507

5.2.2 PL services 503

5.2.2.1 PL_Mode 504

The PL-Mode service is used to setup the electrical characteristics and configurations of the Physical Layer. The parameters of the service primitives are listed in Table 2.

Table 2 – PL_Mode

Parameter name .req

Argument M

TargetMode M

508 509 510

511 512

513

514

516 517

519 520

521

Argument The service specific parameters of the service request are transmitted in the argument.

TargetMode This parameter specifies the requested operation mode

Permitted values : INACTIVE, DI, DO, COM1, COM2, COM3

5.2.2.2 PL_WakeUp 515

The PL-WakeUp service initates or indicates a specific sequence which prepares the Physical Layer to send and receive communication requests (5.3.3.3). This service has no parameters.

5.2.2.3 PL_Transfer 518

The PL-Transfer service is used to exchange the SDCI data between Data Link Layer and Physical Layer. The parameters of the service primitives are listed in Table 3.

Table 3 – PL_Transfer

Parameter name .req ind.

Argument

Data M M

Status M

522 523 524

525 526

527

Argument The service specific parameters of the service request are transmitted in the argument.

Data This parameter specifies the data value which is transferred over the SDCI interface.

Permitted values: 0…255

Page 37: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 37 – Working Draft

Status 528 529

530

531

534 535 536 537

540 541 542 543 544

545 546 547

This parameter specifies supplementary information on the transfer status.

Permitted values: PARITY_ERROR, FRAMING_ERROR, OVERRUN

5.3 Transmitter/Receiver 532

5.3.1 Description method 533

The physical layer is specified by means of electrical and timing requirements. Electrical requirements specify signal levels and currents separately for Master and Device in the form of reference schematics. Timing requirements specify the signal transmission process (specifically the receiver) and a special signal detection function.

5.3.2 Electrical requirements 538

5.3.2.1 General 539

The line driver is described by a reference schematic corresponding to Figure 12. On the Master side, a transmitter comprises a combination of two line drivers and one current sink. On the Device side, in its simplest form, the transmitter takes the form of a p-switching driver. As an option there can be an additional n-switching or non-switching driver (this also allows the option of push-pull output operation).

In operating status ON the descriptive variables are the residual voltage VRQ, the standard driver current IQ, and the peak current IQPK. The source is controlled by the On/Off signal. An overload current event is indicated at the “Overload” output (OVD).

VRQIQIQPK

On/Off

Overload

VRQIQIQPK

On/Off

Overload 548

549

550 551 552 553

Figure 12 – Line driver reference schematics

The receiver is described by a reference schematic according to Figure 13. It performs the function of a comparator and is described by its switching thresholds VTH and a hysteresis VHYS between the switching thresholds. The output indicates the logic level (High or Low) at the receiver input.

V0

VTHVHYS

VIH/L

V0

VTHVHYS

VIH/L

554

555

556 557

Figure 13 – Receiver reference schematics

Figure 14 shows the reference schematics for the interconnection of Master and Device for PHY-3W.

Page 38: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 38 – 61131-9/WD V0.5 IEC

Master

VSM

VID

V+M

V0M

VRQLMIQLM

IQPKLM

VRQHM

IQHM

IQPKHM

ILLM

L+

L-

C/Q

Line

ISM

VD+L

VDQL

VD0L

VIM

OVD

VRQHD

IQHD

IQPKHD

On/Off

On/Off

On/Off

OVD

VRQLDIQLD

IQPKLD

On/Off

CQD

H/LH/L

VSD

L-

C/Q

L+

Device

Note 1) optional: low -side driver (push-pull only)

optional 1)

ISD

V+D

V0D

CQM

558

559

560 561 562 563

Figure 14 – Master and Device reference schematics for PHY-3W

The subsequent illustrations and parameter tables refer to the voltage level definitions in Figure 15. The parameter indices refer to the Master (M), Device (D) or line (L). The voltage drops on the line VD+L, VDQL and VD0L are implicitely specified in 5.5 through cable parameters.

Device MasterLine

VRQHD

VRQLD

VSD VSM

VRQHM

VRQLM

VIM

VID

VD+L

VDQL

VD0L

V+M

V0M

V+D

V0DOutput Input

OutputInput 564

565

567 568

Figure 15 – Voltage level definitions

5.3.2.2 Receiver 566

The voltage range and switching threshold definitions are the same for Master and Device. The definitions in Table 4 apply.

Page 39: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 39 – Working Draft

Table 4 – Electric characteristics of a receiver 569

Property Designation Minimum Typical Maximum Unit Remark

VTHHD,M Input threshold 'H' 10,5 n/a 13 V See NOTE 1

VTHLD,M Input threshold 'L' 8 n/a 11,5 V See NOTE 1

VHYSD,M Hysteresis between input thresholds 'H' and 'L'

0 n/a n/a V Shall not be negative

See NOTE 2

VILD,M

Permissible voltage range 'L'

V0D,M -1,0 n/a n/a V With reference to relevant negative supply voltage

VIHD,M

Permissible voltage range 'H'

n/a n/a V+D,M + 1,0 V With reference to relevant positive supply voltage.

NOTE 1 Thresholds are compatible with the definitions of type 1 digital inputs in IEC 61131-2.

NOTE 2 Hysteresis voltage VHYS = VTHH-VTHL

570

571

Figure 16 illustrates the switching thresholds for the detection of Low and High signals.

VID,M

V0

V+

VTHHMIN

VTHHMAX

Voltage range'H'

Voltage range'L'

Threshold 'L'Threshold 'H'

VTHLMAX

VTHLMIN

572

573

575

576

Figure 16 – Switching thresholds

5.3.2.3 Master port 574

The definitions in Table 5 are valid for the electric characteristics of a Master port.

Table 5 – Electric characteristics of a Master port

Property Designation Minimum Typical Maximum Unit Remark

VSM Supply voltage for Devices

20 24 30 V

ISM Supply current for Devices

200 n/a n/a mA External supply required for > 200 mA

ISIRM Current pulse capability for Devices

400 n/a n/a mA Master supply current capability for a minimum of 50 ms at 18 V after power-on of the port supply

ILLM Load or discharge current for 0 V < VIM < 5 V

0

5

n/a

n/a

15

15

mA

mA

See NOTE 1

Page 40: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 40 – 61131-9/WD V0.5 IEC

Property Designation Minimum Typical Maximum Unit Remark

5 V < VIM < 15 V

15 V< VIM < 30 V 5 n/a 15 mA

VRQHM

Residual voltage 'H'

n/a n/a 3 V Voltage drop relating to V+M

at maximum driver current IQHM

VRQLM

Residual voltage 'L' n/a n/a 3 V Voltage drop relating to V0M at

maximum driver current IQLM

IQHM DC driver current 'H'

100 n/a n/a mA

IQPKHM Output peak current 'H'

500 n/a n/a mA Absolute value See NOTE 2

IQLM DC driver current 'L'

100 n/a n/a mA

IQPKLM Output peak current 'L'

500 n/a n/a mA Absolute value See NOTE 2

CQM Input capacitance n/a n/a 1,0 nF f=0 MHz to 4 MHz

NOTE 1 Currents are compatible with the definition of type 1 digital inputs in IEC 61131-2

NOTE 2 Wake-up request current (5.3.3.3).

577

579

580

5.3.2.4 Device 578

The definitions in Table 6 are valid for the electric characteristics of a Device.

Table 6 – Electric characteristics of a Device

Property Designation Minimum Typical Maximum Unit Remark

VSD Supply voltage 18 24 30 V

VSD Ripple n/a n/a 1,3 Vpp Peak-to-peak absolute value limits shall not be exceeded. fripple =

DC to 100 kHz

VRQHD Residual voltage 'H'

n/a n/a 3 V Voltage drop compared with V+D

(IEC 60947-5-2)

VRQLD Residual voltage 'L'

n/a n/a 3 V Voltage drop compared with V0D

IQHD

DC driver current

P-switching output ("On" state)

50 n/a minimum (IQPKLM)

mA Minimum value due to fallback to digital input in accordance with IEC 61131-2, type 2

IQLD

DC driver current

N-switching output ("On" state)

0 n/a minimum (IQPKHM)

mA Only for push-pull output stages

IQQD Quiescent current to VOD ("Off" state)

0 n/a 15 mA Pull-down or residual current with deactivated output driver stages

CQD Input capacitance 0 n/a 1,0 nF Effective capacitance between C/Q and L+ or L- of Device in receive state

Page 41: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 41 – Working Draft

Property Designation Minimum Typical Maximum Unit Remark

(see NOTE)

NOTE Maximum of 10 nF capacitive load permissible for push-pull stages in the Device. In this case the limits are defined by the dynamic parameters (via the transmission rates supported by the Device). The value of 1 nF is applicable for a transmission rate of 230,4 kbit/s.

581

584 585 586

587 588

589 590

5.3.3 Timing requirements 582

5.3.3.1 Transmission method 583

The “Non Return to Zero” (NRZ) modulation is used for the bit-by-bit coding. A logic value “1” corresponds to a voltage difference of 0 V between the C/Q line and L- line. A logic value "0" corresponds to a voltage difference of +24 V between the C/Q line and L- line.

The open-circuit level on the C/Q line is 0 V with reference to L-. A start bit has logic value “0”, i.e. +24 V with reference to L-.

A UART frame is used for the character-by-character coding. The format of the SDCI UART frame is a bit string structured as shown in Figure 17.

Data octet

Transmittedbit sequence 1st 2 3 4 5 6 7 8 9 10 11th

Significance ofinformation bits

20

lsb27

msb

Start bit (ST)

Parity bit (even)

One stop bit (SP)

b0 b1 b2 b3 b4 b5 b6 b70 P 1

Key:lsb least significant bitmsb most significant bit 591

592

593 594

596 597 598

599 600

601 602

603

Figure 17 – Format of an SDCI UART frame

The definition of the UART frame format is based on ISO/IEC 1177:1985 and ISO/IEC 2022:1986.

5.3.3.2 Transmission characteristics 595

The timing characteristics of transmission are illustrated in the form of an eye diagram with the permissible signal ranges (see Figure 18). These ranges are applicable for receiver in both the Master and the Device.

Regardless of boundary conditions, the transmitter shall generate a voltage characteristic on the receiver's C/Q connection that is within the permissible range of the eye diagram.

The receiver shall detect bits as a valid signal shape within the permissible range of the eye diagram on the C/Q connection. Signal shapes in the “no detection” areas (below VTHLMAX or

above VTHHMIN and within tND) shall not lead to invalid bits.

Page 42: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 42 – 61131-9/WD V0.5 IEC

VTHHMAX

V0D,M

VTHLMIN

tDR tDF

TBIT TBIT

VIHD,M MAX

Detection 'L'

VTHLMAX

VTHHMIN

tND tND

V+D,M

VILD,M MIN

b)

tH

a)

tL

a) no detection 'L'b) no detection 'H'

Detection 'H' VTHHMAX

V0D,M

VTHLMIN

tDR tDF

TBIT TBIT

VIHD,M MAX

Detection 'L'

VTHLMAX

VTHHMIN

tND tND

V+D,M

VILD,M MIN

b)

tH

a)

tL

a) no detection 'L'b) no detection 'H'

Detection 'H'

604

605

606 607 608

Figure 18 – Eye diagram for the 'H' and 'L' detection

In order for a UART frame to be detected correctly, a signal characteristic as illustrated in Figure 19 is required on the receiver side. The signal delay time between the C/Q signal and the UART input shall be taken into account. Time TBIT always indicates the receiver's bit rate.

Bit n=1 Bit n=2

(1-s)TBIT

Bit n=11Bit n=10Bit n=3 Bit n=9

Start Stop

VTHH

VTHL

TBIT

(2-s)TBIT (3-s)TBIT (10-s)TBIT (11-s)TBIT

(2-r)TBIT (3-r)TBIT (10-r)TBIT (11-r)TBIT

TBIT

609

610

611

612 613

614 615 616

617 618

619

620

Figure 19 – Eye diagram for the correct detection of a UART frame

For every bit n in the bit sequence (n =1…11) of a UART frame, the time (n-r)TBIT (see Table

7 for values of r) designates the time at the end of which a correct level shall be reached in the 'H' or 'L' ranges as illustrated in the eye diagram in Figure 18. The time (n-s) TBIT (see

Table 7 for values of s) describes the time, which shall elapse before the level changes. Reference shall always be made to the eye diagram in Figure 18, where signal characteristics within a bit time are concerned.

This representation permits a variable weighting of the influence parameters "transmission rate accuracy", "bit-width distortion", and "slew rate" of the receiver.

Table 7 specifies the dynamic characteristics of the transmission.

Page 43: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 43 – Working Draft

Table 7 – Dynamic characteristics of the transmission 621

Property Designation Minimum Typical Maximum Unit Remark

fDTR transmission rate n/a 4,8 38,4 230,4

n/a kbit/s COM1 COM2 COM3

TBIT Bit time at 4,8 kbit/s at 38,4 kbit/s at 230,4 kbit/s

208,33 26,04 4,34

μs µs µs

ΔfDTRM Master transmis-sion rate accuracy at 4,8 kbit/s at 38,4 kbit/s at 230,4 kbit/s

-0,1 -0,1 -0,1

n/a n/a n/a

+0,1 +0,1 +0,1

% % %

Tolerance of the transmission rate of the Master

TBIT/TBIT

r Start of detection time within a bit with reference to the raising edge of the start bit

0,65

n/a

n/a - Calculated in each case from the end of a bit at a UART sampling rate of 8 (see NOTE)

s End of detection time within a bit with reference to the raising edge of the start bit

n/a

n/a

0,22

- Calculated in each case from the end of a bit at a UART sampling rate of 8 (see NOTE)

TDR Rise time

at 4,8 kbit/s at 38,4 kbit/s at 230,4 kbit/s

0

0 0 0

n/a

n/a n/a n/a

0,20

41,7 5,2 869

TBIT

μs μs ns

With reference to the bit time unit

TDF Fall time

at 4,8 kbit/s at 38,4 kbit/s at 230,4 kbit/s

0

0 0 0

n/a

n/a n/a n/a

0,20

41,7 5,2 869

TBIT

μs μs ns

With reference to the bit time unit

tND Noise suppression time

n/a

n/a

1/16

TBIT Permissible duration of a receive signal above/below the detection threshold without detection taking place

tH Detection time High

1/16

n/a

n/a TBIT Duration of a receive signal above the detection threshold for 'H' level

tL Detection time Low

1/16

n/a

n/a TBIT Duration of a receive signal below the detection threshold for 'H' level

NOTE The parameters ‘r’ and ‘s’ apply to the respective Master or Device receiver side. This definition allows for a more flexible definition of oscillator accuracy, bit distortion and slewrate on the Device side. The over-all bit-width distortion on the last bit of the UART frame shall provide a correct level in the range of Figure 19.

622

624

625

626 627

5.3.3.3 Wake-up current pulse 623

The wake-up feature initiates the changeover of a Device to a ready-to-receive state.

A service call (PL_WakeUp.req) from the DL initiates the wake up process (see 5.2.2.2).

The wake-up request (WURQ) starts with a current pulse induced by the Master (port) for a time TWU. The wake-up request comprises the following phases (Figure 20):

Page 44: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 44 – 61131-9/WD V0.5 IEC

a) Injection of a current IQWU by the Master depending on the level of the C/Q connection. 628

For an input signal equivalent to logic “1” this is a current source; for an input signal equivalent to logic “0” this is a current sink.

629 630

632 633

634

b) Delay time of the Device until it is ready to receive. 631

The wake-up request pulse can be detected by the Device through a voltage change on the C/Q line or evaluation of the current of the respective driver element within the time TWU.

Figure 20 shows examples for Devices with low output power.

TWU

TREN

T

undefined

SIO Mode

Device output

Wake-up request

Q = low

Q = high

a) b)

Receiver enabled

High impedance, low level

High impedance, low levelundefined

V

635

636

637 638

639

Figure 20 – Wake-up request

Table 8 specifies the current and timing properties associated with the wake-up request. See Table 5 for values of IQPKLM and IQPKHM.

Table 8 – Wake-up request characteristics

Property Designation Minimum Typical Maximum Unit Remark

IQWU Amplitude of Master’s wake-up current pulse

IQPKLM or

IQPKHM

n/a n/a mA Current pulse followed by switching status of Device

TWU Duration of Master's wake-up current pulse

75 n/a 85 μs Master property

TREN Receive enable delay

n/a n/a 500 μs Device property

640

643 644

5.4 Power supply 641

5.4.1 Power-on requirements 642

Figure 21 illustrates how the power-on behavior of a Device is defined by the ramp-up time of the power supply and by the Device internal time to get ready for the wake-up operation.

Page 45: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 45 – Working Draft

VS

VSD,M min

TRDL

Ready for wake-up

t 645

646

647 648

649

Figure 21 – Power-on timing

Upon power-on it is mandatory for a Device to reach the wake-up ready state within the time limits defined in Table 9.

Table 9 – Power-on timing

Property Designation Minimum Typical Maximum Unit Remark

TRDL

Wake-up readiness following power-on

n/a n/a 300 ms Device ramp-up time until it is ready for wake-up signal detection See NOTE

NOTE Equivalent to the time delay before availability in IEC 60947-5-2.

650

652 653 654

656 657

660 661 662

663

664 665

666 667 668 669

5.4.2 Master powered Device 651

The 3-wire cable connection allows for a power supply independent from the communication line. The maximum supply current for a Device is defined by the maximum driver current per port of the Master as defined in Table 5.

5.4.3 External power supply 655

The Device may be separately and additionally supplied with power. The communication section of the Device (PHY-3W) shall always be Master powered.

5.5 Medium 658

5.5.1 Connector 659

The Master and Device pin assignment is based on the specifications in IEC 60947-5-2, with extensions specified in the paragraphs below. For a Master, two port classes are defined, port class A and port class B. Port class B is mainly intended for power Devices (see Figure 23).

NOTE Port class A and port class B are not compatible.

Port class A uses M5, M8, and M12 connectors, with a maximum of four pins. Port class B only uses M12 connectors with 5 pins.

Female connectors are assigned to the Master and male connectors to the Device. Table 10 lists the pin assignments and Figure 22 illustrates the layout and mechanical coding for M12, M8 and M5 connections. M12 connectors are mechanically "A"-coded according to IEC 61076-2-101.

Page 46: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 46 – 61131-9/WD V0.5 IEC

Table 10 – Pin assignments 670

Pin Signal Designation Remark

1 L+ Power supply (+) See Table 6

2 I/Q P24

NC/DI/DO (port class A) P24 (port class B)

Option 1: NC (not connected) Option 2: DI Option 3: DI, then configured DO Option 4: Extra power supply for power Devices (port class B)

3 L- Power supply (-) See Table 6

4 C/Q SIO/SDCI Standard I/O mode or SDCI

5 NC N24

NC (port class A) N24 (port class B)

Option 1: Shall not be connected on the Master side (port class A).Option 2: Reference to the extra power supply (port class B)

NOTE M12 is always a 5 pin version on the Master side (female).

671

Male

(Device)

Female

(Master)

Class A Class A Class A

1

2

3

4

51

2

3

4

12

3 4

1

2

3

4

1

2

3

4

1 2

34

Class B

1

2

3

4

5

1

2

3

4

5

M12-4 M12-5

M12-5 M12-5

M12 connectors are "A"-coded according to IEC 61076-2-101

M8

M8

M5

M5

Male

(Device)

Female

(Master)

Class A Class A Class A

1

2

3

4

51

2

3

4

12

3 4

1

2

3

4

1

2

3

4

1 2

34

Class B

1

2

3

4

5

1

2

3

4

5

M12-4 M12-5

M12-5 M12-5

M12 connectors are "A"-coded according to IEC 61076-2-101

M8

M8

M5

M5

672

673

674 675

676 677

Figure 22 – Pin layout front view

Figure 23 shows the layout of the two port classes A and B. Class B ports shall be marked unambiguously due to the incompatibilities.

Port class A allows power consumption of ≤ 200 mA, the extra power supply of port class B allows ≤ 3,5 A for M12 or more with wire connections.

Page 47: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 47 – Working Draft

1

2

4

3

5

1

2

4

3

5

I/Q

Power 1SDCIpower supply

Port Class A (M12)

Port Class B (M12)

Power 1SDCIpower supply

Power 2Power Devicepowersupply

P24 (Act)

N24 (Act)

PIN 2:

PIN 5:

PIN 4:

PIN 2:

PIN 5:

PIN 4:

Option 1: NC (not connected)

Option 2: DI

Option 3: DI configured DO

NC

DI; SDCI/SIO; DO

Option 1: NC (not connected)

Option 2: DI

Option 3: DI configured DO

NC

DI; SDCI/SIO; DO

Protection

PIN 2:

PIN 5:

PIN 4:

PIN 2:

PIN 5:

PIN 4:

P24 (extra power supply forpower Devices, current ismanufacturer dependent)

N24 (0 V, power Device)

DI; SDCI/SIO; DO

P24 (extra power supply forpower Devices, current ismanufacturer dependent)

N24 (0 V, power Device)

DI; SDCI/SIO; DO

C/Q

C/Q

1

2

4

3

5

1

2

4

3

5

I/Q

Power 1SDCIpower supply

Port Class A (M12)

Port Class B (M12)

Power 1SDCIpower supply

Power 2Power Devicepowersupply

P24 (Act)

N24 (Act)

PIN 2:

PIN 5:

PIN 4:

PIN 2:

PIN 5:

PIN 4:

Option 1: NC (not connected)

Option 2: DI

Option 3: DI configured DO

NC

DI; SDCI/SIO; DO

Option 1: NC (not connected)

Option 2: DI

Option 3: DI configured DO

NC

DI; SDCI/SIO; DO

Protection

PIN 2:

PIN 5:

PIN 4:

PIN 2:

PIN 5:

PIN 4:

P24 (extra power supply forpower Devices, current ismanufacturer dependent)

N24 (0 V, power Device)

DI; SDCI/SIO; DO

P24 (extra power supply forpower Devices, current ismanufacturer dependent)

N24 (0 V, power Device)

DI; SDCI/SIO; DO

C/Q

C/Q

678

679

681 682 683 684

685

Figure 23 – Class A and B port definitions

5.5.2 Cable 680

The transmission medium for SDCI communication is a multi-wired cable with 3 or more wires. The definitions in the following section implicitly cover the static voltage definitions in Table 4 and Figure 15. To ensure functional reliability, the cable properties shall comply with Table 11.

Table 11 – Cable characteristics

Property Minimum Typical Maximum Unit

Length 0 n/a 20 m

Overall loop resistance RLeff n/a n/a 6,0 Ω

Effective line capacitance CLeff n/a n/a 3,0 nF (<1 MHz)

686

687

688

The loop resistance RLeff and the effective line capacitance CLeff may be measured as

illustrated in Figure 24.

L+

L-

C/QRLeff

CLeff

L 689

690

691

Figure 24 – Reference schematic for effective line capacitance and loop resistance

Table 12 shows the cable conductors and their assigned color codes.

Page 48: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 48 – 61131-9/WD V0.5 IEC

Table 12 – Cable conductor assignments 692

Signal Designation Color Remark

L- Power supply (-) Blue PHY-3W

C/Q Communication signal Black PHY-3W

L+ Power supply (+) Brown PHY-3W

I/Q DI or DO White Optional

P24 Extra power supply (+) Any other Optional

N24 Extra power supply (-) Any other Optional

NOTE Corresponding to IEC 60947-5-2

693

695 696 697 698 699 700 701

704 705 706 707 708 709

6 Standard Input and Output (SIO) 694

Figure 80 and Figure 90 demonstrate how the SIO mode allows a Device to bypass the SDCI communication layers and to map the DI or DO signal directly into the data exchange mes-sage of the higher level fieldbus or system. Changing between the SDCI and SIO mode is defined by the user configuration or implicitly by the services of the Master applications. The system management takes care of the corresponding initialization or deactivation of the SDCI communication layers and the physical layer (mode switch). The characteristics of the interfaces for the DI and DO signals are derived from IEC 61131-2, type 1.

7 Data link layer 702

7.1 General 703

The data link layers of SDCI are concerned with the delivery of frames between a Master and a Device across the physical link. It uses several F-sequence ("frame sequence") types for different data categories. A set of DL-Services is offered to the application layers and PL-Services are used to control the physical layer. The data link layer takes care of the error detection of messages and the appropriate remedial measures (e.g. retry). Figure 25 represents the structure and the services of the Master's data link layer.

Page 49: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 49 – Working Draft

MasterDL-modehandler Frame

handler

DL_SetMode

DL_Mode

DL_Read

DL_Write

SystemManage-ment

Application Layer

On-request datahandler

Process datahandler

DL-B

DL-A

PL_Transfer.req PL_Transfer.ind

PD

.req

PD

.cnf

DL_

Eve

nt

DL

_PD

Out

-p

utU

pda

te

DL

_PD

Inp

ut-

Tra

nsp

ort

DL_

Re

ad-

Pa

ram

DL_

Writ

e-

Par

am

DL_

ISD

U-

Tra

nspo

rt

DL

_Co

ntro

l

DL_

PD

Cyc

le

PL_WakeUp.req

CMD.req

CMD.cnf

Port xhandler

Physical Layer (port)

(Wake-up) (Switching signal)(Coded switching)Inactive

PL_Mode.req

CM

D.r

eq

CM

D.c

nf

Eve

ntF

lag.

ind

DI / DO

Mode switch

PD

Va

lid

DL_

Eve

ntC

onf

DL_

ISD

U-

Abo

rt

FHInfo

Com

Tri

g

PD

Trig

710

711

712

Figure 25 – Structure and services of the data link layer (Master)

Figure 26 represents the structure and the services of the Device's data link layer.

DeviceDL-modehandler Frame

handler

DL_Mode

SystemManage-ment

Application Layer

On-request datahandler

Process datahandler

DL-B

DL-A

PD

.req

PD

.rsp

DL

_Eve

nt

DL

_PD

Inp

ut-

Up

date

DL_

PD

Out

put

-T

rans

port

DL_

Rea

d-P

aram

DL_

Writ

e-P

ara

m

DL

_IS

DU

-T

rans

port

DL_

Co

ntr

ol

DL_

PD

Cyc

le

DL_

Eve

nt-

Trig

ger

CMD.ind

CMD.rsp

DL_Read

DL_Write

Physical Layer

PL_Transfer.ind PL_Transfer.reqPL_WakeUp.indPL_Mode.req

(Wake-up) (Coded switching)

DI/DO

CM

D.r

sp

CM

D.in

d

Eve

ntF

lag

(Switching signal)

Mode switch

Linehandler

PD

Val

id

DL

_IS

DU

-A

bort

FHInfo

713

714

715 716 717 718 719 720 721

Figure 26 – Structure and services of the data link layer (Device)

The data link layers are structured due to the nature of the data categories into process data handlers and on-request data handlers which are in turn using a frame handler to deal with the requested transmission frames. The special modes of Master ports such as Wake-up, SDCI, SIO (disable communication) require a dedicated DL-mode handler within the Master data link layer. The special wake-up signal modulation requires signal detection on the Device side and thus a DL-mode handler within the Device data link layer. Each handler comprises its own state machine if appropriate.

Page 50: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 50 – 61131-9/WD V0.5 IEC

The data link layer is subdivided in a DL-A with its own internal services and a DL-B with the external services.

722 723

727 728 729 730

731

7.2 Data link layer services 724

7.2.1 DL-B services 725

7.2.1.1 Overview of services within Master and Device 726

This clause defines the services of the data link layer to be provided to the application layer and system management via its external interfaces. Table 13 lists the assignments of Master and Device to their roles as initiator or receiver for the individual DL services. Empty fields indicate no availability of this service on Master or Device.

Table 13 – Service assignments within Master and Device

Service name Master Device

DL_ReadParam R I

DL_WriteParam R I

DL_ISDUTransport R I

DL_ISDUAbort R I

DL_PDOutputUpdate R

DL_PDOutputTransport I

DL_PDInputUpdate R

DL_PDInputTransport I

DL_PDCycle I I

DL_SetMode R

DL_Mode I I

DL_Event I R

DL_EventConf R

DL_EventTrigger R

DL_Control I / R R / I

DL_Read R I

DL_Write R I

Key (see 3.3.4) I Initiator of service R Receiver (responder) of service

732

733

735 736

737

See 3.3 for conventions and how to read the following service descriptions in this document.

7.2.1.2 DL_ReadParam 734

The DL_ReadParam service is used to read a parameter value from the Device via the page communication channel. The parameters of the service primitives are listed in Table 14.

Table 14 – DL_ReadParam

Parameter name .req .cnf .ind

Argument M M

Address M M

Result (+) S

Page 51: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 51 – Working Draft

Parameter name .req .cnf .ind

Value M

Result (-) S

ErrorInfo M

738 739 740

741 742 743

744

745 746

747 748

749 750

751 752

753

754

756 757

758

Argument The service-specific parameters of the service request are transmitted in the argument.

Address This parameter specifies the address of the requested parameter, i.e. the parameter addresses within the page communication channel.

Permitted values: 0 to 31

Result (+): This selection parameter indicates that the service request has been executed successfully.

Value This parameter specifies read parameter values.

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.1.3 DL_WriteParam 755

The DL_WriteParam service is used to write a parameter value to the Device via the page communication channel. The parameters of the service primitives are listed in Table 15.

Table 15 – DL_WriteParam

Parameter name .req .cnf .ind

Argument M M

Address M M

Value M M

Result (+) S

Result (-) S

ErrorInfo M

759 760 761

762 763 764

765

766

Argument The service-specific parameters of the service request are transmitted in the argument.

Address This parameter specifies the address of the requested parameter, i.e. the parameter addresses within the page communication channel.

Permitted values: 16 to 31, in accordance with parameter access rights

Value

Page 52: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 52 – 61131-9/WD V0.5 IEC

This parameter specifies the parameter value to be written. 767

768 769

770 771

772 773

774

775

777 778

779

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.1.4 DL_Read 776

The DL_Read service is used to read a parameter value from the Device via the page communication channel. The parameters of the service primitives are listed in Table 16.

Table 16 – DL_Read

Parameter name .req .cnf .ind

Argument M M

Address M M

Result (+) S

Value M

Result (-) S

ErrorInfo M

780 781 782

783 784 785

786

787 788

789 790

791 792

793 794

795

796

798 799

Argument The service-specific parameters of the service request are transmitted in the argument.

Address This parameter specifies the address of the requested parameter, i.e. the parameter addresses within the page communication channel.

Permitted values: 0 to 15, in accordance with parameter access rights

Result (+): This selection parameter indicates that the service request has been executed successfully.

Value This parameter specifies specifies read parameter values.

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.1.5 DL_Write 797

The DL_Write service is used to write a parameter value to the Device via the page communication channel. The parameters of the service primitives are listed in Table 17.

Page 53: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 53 – Working Draft

Table 17 – DL_Write 800

Parameter name .req .cnf .ind

Argument M M

Address M M

Value M M

Result (+) S

Result (-) S

ErrorInfo M

801 802 803

804 805 806

807

808 809

810 811

812 813

814 815

816

817

819 820 821 822

823

Argument The service-specific parameters of the service request are transmitted in the argument.

Address This parameter specifies the address of the requested parameter, i.e. the parameter addresses within the page communication channel.

Permitted values: 0 to 15, in accordance with parameter access rights

Value This parameter specifies the parameter value to be written.

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.1.6 DL_ISDUTransport 818

The DL_ISDUTransport service is used to transport an ISDU. This service is used by the Master to send a service request from the Master application layer to the Device. It is used by the Device to send a service response to the Master from the Device application layer. The parameters of the service primitives are listed in Table 18.

Table 18 – DL_ISDUTransport

Parameter name .req .ind .cnf .res

Argument M M

ValueList M M

Result (+) S S

Data C C

Result (-) S S

ErrorInfo M M

Page 54: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 54 – 61131-9/WD V0.5 IEC

824 825 826

827 828

829

830 831 832 833 834 835 836 837 838 839 840 841 842 843

844 845 846 847 848

849 850

851 852

853

855 856

857

858

860 861 862

863

Argument The service-specific parameters of the service request are transmitted in the argument.

ValueList This parameter specifies the relevant operating parameters

Parameter type: Record

Index Permitted values: 2 to 65 535 (See B.2.1 for constraints) Subindex Permitted values: 0 to 255 Data Parameter type: Octet string Direction Permitted values: READ, WRITE

Result (+): This selection parameter indicates that the service request has been executed successfully.

Data Parameter type: Octet string

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the result parameter.

Permitted values: NO_COMM, STATE_CONFLICT, TIMEOUT, NO_ISDU_SUPPORTED, VALUE_OUT_OF_RANGE

7.2.1.7 DL_ISDUAbort 854

The DL_ISDUAbort service aborts the actual ISDU transmission. This service has no parameters.

The service returns with the confirmation after abortion of the ISDU transmission.

7.2.1.8 DL_PDOutputUpdate 859

The Master’s application layer uses the DL_PDOutputUpdate service to update the output data (process data from Master to Device) on the data link layer. The parameters of the service primitives are listed in Table 19.

Table 19 – DL_PDOutputUpdate

Parameter name .req .cnf

Argument M

OutputData M

Result (+) S

TransportStatus M

Page 55: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 55 – Working Draft

Parameter name .req .cnf

Result (-) S

ErrorInfo M

864 865 866

867 868

869

870 871

872 873 874

875

876 877

878 879

880

881

883 884 885

886

Argument The service-specific parameters of the service request are transmitted in the argument.

OutputData This argument specifies the process data provided by the application layer.

Parameter type: Octet string

Result (+): This selection parameter indicates that the service request has been executed successfully.

TransportStatus This parameter indicates whether the data link layer is in a state permitting data to be transferred to the communication partner(s).

Permitted values: YES, NO

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.1.9 DL_PDOutputTransport 882

The data link layer on the Device uses the DL_PDOutputTransport service to transfer to the application layer the content of output data (process data from Master to Device). The parameters of the service primitives are listed in Table 20.

Table 20 – DL_PDOutputTransport

Parameter name .ind

Argument M

OutputData M

887 888 889

890 891

892

893

895 896 897

Argument The service-specific parameters of the service request are transmitted in the argument.

OutputData This argument specifies the process data to be transmitted to the application layer.

Parameter type: Octet string

7.2.1.10 DL_PDInputUpdate 894

The Device's application layer uses the DL_PDInputUpdate service to update the input data (process data from Device to Master) on the data link layer. The parameters of the service primitives are listed in Table 21.

Page 56: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 56 – 61131-9/WD V0.5 IEC

Table 21 – DL_PDInputUpdate 898

Parameter name .req .cnf

Argument M

InputData M

Result (+) S

TransportStatus M

Result (-) S

ErrorInfo M

899 900 901

902 903

904 905

906 907 908

909

910 911

912 913

914

915

917 918 919

920

Argument The service-specific parameters of the service request are transmitted in the argument.

InputData This argument specifies the process data provided by the application layer.

Result (+): This selection parameter indicates that the service request has been executed successfully.

TransportStatus This parameter indicates whether the data link layer is in a state permitting data to be transferred to the communication partner(s).

Permitted values: YES, NO

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.1.11 DL_PDInputTransport 916

The data link layer on the Master uses the DL_PDInputTransport service to transfer to the application layer the content of input data (process data from Device to Master). The parameters of the service primitives are listed Table 22.

Table 22 – DL_PDInputTransport

Parameter name .ind

Argument M

InputData M

921 922 923

924 925

926

927

Argument The service-specific parameters of the service request are transmitted in the argument.

InputData This argument specifies the process data to be transmitted to the application layer.

Parameter type: Octet string

Page 57: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 57 – Working Draft

7.2.1.12 DL_PDCycle 928

The data link layer uses the DL_PDCycle service to indicate the end of a process data cycle to the application layer. This service has no parameters.

929 930

931

933 934 935

936

7.2.1.13 DL_SetMode 932

The DL_SetMode service is used to trigger the data link layer's state machine. In addition, system management sends the characteristic values required for operation to the data link layer. The parameters of the service primitives are listed in Table 23.

Table 23 – DL_SetMode

Parameter name .req .cnf

Argument M

Mode M

ValueList U

Result (+) S

Result (-) S

ErrorInfo M

937 938 939

940 941

942

943 944

945

946 947 948 949 950

951 952 953 954 955 956 957 958

959 960

961 962

963

Argument The service-specific parameters of the service request are transmitted in the argument.

Mode This parameter specifies the requested mode of the Master's DL on an individual port.

Permitted values: INACTIVE, STARTUP, PREOPERATE, OPERATE

ValueList This parameter specifies the relevant operating parameters.

Data structure: record

F-sequenceTime: (to be propagated to frame handler) F-sequenceType: (to be propagated to frame handler) Permitted values: TYPE_0, TYPE_1_1, TYPE_1_2, TYPE_1_V, TYPE_2_1, TYPE_2_2, TYPE_2_3, TYPE_2_4, TYPE_2_5, TYPE_2_6, TYPE_2_V

PDInputLength: (to be propagated to frame handler) PDOutputLength: (to be propagated to frame handler) OnReqDataLengthPerFrame: (to be propagated to frame handler)

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the result parameter.

Permitted values: NOT_CONNECTED, STATE_CONFLICT, PARAMETER_CONFLICT

Page 58: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 58 – 61131-9/WD V0.5 IEC

NOTE TYPE_1_1 forces interleave mode of process and on-request data transmission, see 7.3.4.2 964

965

967 968

969

7.2.1.14 DL_Mode 966

The DL uses the DL_Mode local service to report to system management that an operating status has been reached. The parameters of the service primitives are listed in Table 24.

Table 24 – DL_Mode

Parameter name .ind

Argument M

RealMode M

970 971 972

973 974

975 976

977

979 980 981

982

Argument The service-specific parameters of the service request are transmitted in the argument.

RealMode Indicates the status of the DL-mode handler.

Permitted values: INACTIVE, COM1, COM2, COM3, COMMLOSS, STARTUP, PREOPE-RATE, OPERATE

7.2.1.15 DL_Event 978

The service DL_Event indicates a pending status or error information. The source of the event is remote (Device). The event is triggered by a Device application. The parameters of the service primitives are listed in Table 25.

Table 25 – DL_Event

Parameter name .req .ind

Argument M M

Instance M M

Type M M

Mode M M

EventCode M M

EventsLeft M

983 984 985

986 987

988

989 990

991

992 993

994

Argument The service-specific parameters of the service request are transmitted in the argument.

Instance This parameter specifies the Event source.

Permitted values: DL, AL, APP

Type This parameter specifies the Event category.

Permitted values: ERROR, WARNING, MESSAGE

Mode This parameter specifies the Event type.

Permitted values: SINGLESHOT, APPEARS, DISAPPEARS

Page 59: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 59 – Working Draft

EventCode 995 996

997

998 999

1000

1002 1003

1004

1006 1007 1008

1009

1010

1012 1013 1014

1015

This parameter contains a code identifying the event.

Parameter type: 16 bit unsigned integer

EventsLeft This parameter contains a code indicating the number of unprocessed events.

7.2.1.16 DL_EventConf 1001

The DL_EventConf service confirms the transmitted events via the event handler. This service has no parameters.

7.2.1.17 DL_EventTrigger 1005

The DL_EventTrigger service starts the event signaling and freezes the event buffer. After release of the event buffer the service returns and unfreezes the event buffer. This service has no parameters.

The service returns with the confirmation after release of the event buffer.

7.2.1.18 DL_Control 1011

The Master uses the DL_Control service to convey control information to and from the corres-ponding technology specific Device application. The parameters of the service primitives are listed in Table 26.

Table 26 – DL_Control

Parameter name .req .ind

Argument M M

ControlCode M M(=)

1016 1017 1018

1019 1020

1021

1022

1025 1026

1027 1028 1029 1030

Argument The service-specific parameters are transmitted in the argument.

ControlCode This parameter contains a code identifying the event.

Permitted values: PD_VALID, PD_INVALID

7.2.2 DL-A services 1023

7.2.2.1 Overview 1024

According to 7.1 the data link layer is split into the upper layer DL-B and the lower layer DL-A. The layer DL-A comprises the frame handler as shown in Figure 25 and Figure 26.

The frame handler encodes commands and data into messages and sends these to the connected Device via the physical layer. It receives messages from the Device via the physical layer and forwards their content to the corresponding handlers in the form of a confirmation. When the event flag is set, the cyclic frame handler generates an event.

Page 60: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 60 – 61131-9/WD V0.5 IEC

The Master frame handler shall employ a retry strategy following a corrupted message, i.e. upon receiving an incorrect checksum from a Device, or no checksum at all. In case of a perturbed message the Master shall repeat the Master message two times (

1031 1032 1033 1034 1035

1036 1037

1038 1039

1040

Table 91). If the retries are not successful, a negative confirmation shall be provided and the Master shall re-initiate the communication via the Port-x handler beginning with Wake-up.

The frame handler performs cyclic operation with the F-sequence type and cycle time provided by the DL_SetMode service.

Table 27 lists the assignment of Master and Device to their roles as initiator or receiver in the context of the execution of their individual DL-A services.

Table 27 – DL-A services within Master and Device

Service name Master Device

CMD R I

PD R I

EventFlag I R

PDValid I R

FHInfo I I

ComTrig I

PDTrig I

1041

1043 1044 1045

1046

7.2.2.2 CMD 1042

The CMD service is used to set-up the on-request data for the next message to be sent. In turn, the confirmation of the service contains the data from the receiver. The parameters of the service primitives are listed in Table 28.

Table 28 – CMD

Parameter name .req .ind .rsp .cnf

Argument M M M M

RWDirection M M

ComChannel M M

AddressCtrl M M

Length M M M

Data C C C

Result (+) S

Data C

Length M

Result (-) S

ErrorInfo M

1047 1048 1049

1050 1051

Argument The service-specific parameters of the service request are transmitted in the argument.

RWDirection This parameter specifies the read or write direction.

Page 61: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 61 – Working Draft

Permitted values: READ, WRITE 1052

1053 1054

1055

1056 1057

1058

1059 1060

1061

1062 1063

1064

1065 1066

1067 1068

1069 1070

1071

1072 1073

1074 1075

1076

1077

1079 1080 1081

1082

ComChannel This parameter specifies the selected communication channel for the transmission.

Permitted values: DIAGNOSIS, PAGE, ISDU

AddressCtrl This parameter specifies the address or flow control value.

Permitted values: 0 to 31

Length This parameter specifies the data length to transmit.

Permitted values: 0 to 32

Data This parameter specifies the data to transmit.

Data type: Octet string

Result (+): This selection parameter indicates that the service request has been executed successfully.

Data This parameter contains the read data values.

Length This parameter contains the length of the received data package.

Permitted values: 0 to 32

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.2.3 PD 1078

The PD service is used to set-up the data to be sent through the process communication channel. The confirmation of the service contains the data from the receiver. The parameters of the service primitives are listed in Table 29.

Table 29 – PD

Parameter name .req .ind .rsp .cnf

Argument M M

PDInAddress C C(=)

PDInLength C C(=)

PDOut C C(=)

PDOutAddress C C(=)

PDOutLength C C(=)

Result (+) S S

PDIn C C(=)

Page 62: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 62 – 61131-9/WD V0.5 IEC

Parameter name .req .ind .rsp .cnf

Result (-) S S

ErrorInfo M M(=)

1083 1084 1085

1086 1087

1088 1089

1090

1091 1092

1093

1094 1095

1096 1097

1098

1099

1100

1101 1102

1103

1104

1105

1106 1107

1108

1109

1111 1112

1113

1115 1116

1117

Argument The service-specific parameters of the service request are transmitted in the argument.

PDInAddress This parameter contains the address of the requested process data.

PDInLength This parameter contains the length of the requested process data.

Permitted values: 0 to 32

PDOut This parameter contains the process data to be transferred from Master to Device.

Data type: Octet string

PDOutAddress This parameter contains the address of the transmitted process data PDOut.

PDOutLength This parameter contains the length of the transmitted process data PDOut.

Permitted values: 0 to 32

Result (+)

This selection parameter indicates that the service request has been executed successfully.

PDIn This parameter contains the process data to be transferred from Device to Master.

Data type: Octet string

Result (-)

This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information supplementing the result parameter.

Permitted values: NO_COMM, STATE_CONFLICT

7.2.2.4 EventFlag 1110

The EventFlag service signals the occurrence of the event flag during cyclic communication within the Device's response. This service has no parameters.

7.2.2.5 PDValid 1114

The service PDValid changes the state of the validity qualifier of the PDIn process data. The parameters of the service primitives are listed in Table 30.

Page 63: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 63 – Working Draft

Table 30 – PDValid 1118

Parameter name .req .ind

Argument

PDState M M

1119 1120 1121

1122 1123

1124

1125

1127 1128

1129

Argument The service-specific parameters are transmitted in the argument.

PDState This parameter indicates the validity of the transmitted PDIn process data.

Permitted values: PD_VALID, PD_INVALID

7.2.2.6 FHInfo 1126

The service FHInfo signals an exceptional operation within the frame handler. The parameters of the service are listed in Table 31.

Table 31 – FHInfo

Parameter name .ind

Argument

FHInfo M

1130 1131 1132

1133 1134

1135

1136

1138 1139 1140

1141

1142

Argument The service-specific parameters are transmitted in the argument.

FHInfo This parameter indicates the exception within the frame handler.

Permitted values: COMMLOST, ILLEGAL_FRAME_TYPE

7.2.2.7 ComTrig 1137

The service ComTrig is only available on the Master. The service triggers an immediate call of the CMD.req service to provide the on-request data for the next Master message. The parameters of the service are listed in Table 32.

Table 32 – ComTrig

Parameter name .ind

Argument

DataLength M

1143 1144 1145

1146 1147

Argument The service-specific parameters are transmitted in the argument.

DataLength This parameter contains the available amount of on-request data per message.

Page 64: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 64 – 61131-9/WD V0.5 IEC

7.2.2.8 PDTrig 1148

1149 1150

1151

1152

The service PDTrig is only available on the Master. The service triggers an immediate call of the PD.req service to provide the on-request data for the next Master message.

The parameters of the service are listed in Table 33.

Table 33 – PDTrig

Parameter name .ind

Argument

DataLength M

1153 1154 1155

1156 1157

1158

1161 1162 1163 1164

1165 1166 1167 1168

1169 1170 1171

Argument The service-specific parameters are transmitted in the argument.

DataLength This parameter contains the available amount of on-request data per message.

7.3 Data link layer protocol 1159

7.3.1 Overview 1160

Figure 25 and Figure 26 are showing the structure of the data link layer and its components; a DL-mode handler, a frame handler, a process data handler, and an on-request data handler to provide the described services. The following sections define the behaviour (dynamics) of these handlers by means of UML state machines and transition tables.

The on-request handler supports three independent types of data: service, command and event. Therefore, three additional state machines are working together with the on-request handler state machine as shown in Figure 27. Supplementary sequence or activity diagrams are illustrating certain use cases. See [4] and [5].

The elements each handler is dealing with, such as frames, wake-up procedures, interleave mode, ISDU (Indexed Service Data Units), and events are defined within the context of the respective handler.

State machine:

Frame handler

State machine:

Frame handlerState machine:

DL-mode handler

State machine:

DL-mode handler

State machine:

On-request handler

State machine:

On-request handler

State machine:

Service handler

State machine:

Service handlerState machine:

Command handler

State machine:

Command handlerState machine:

Event handler

State machine:

Event handlerState machine:

Process data handler

State machine:

Process data handler

1172

1173 Figure 27 – State machines of the data link layer

Page 65: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 65 – Working Draft

7.3.2 DL-mode handler 1174

7.3.2.1 General 1175

The Master DL-mode handler shown in Figure 25 is responsible to setup the SDCI communication using services of the Physical Layer (PL) and the CMD service (

1176 1177 1178

1179 1180

1182 1183

1184 1185 1186

7.2.2.2) to control and monitor the frame handler.

The Device DL-mode handler shown in Figure 26 is responsible to detect a wake-up request and to establish communication using the CMD service.

7.3.2.2 Wake-up procedures and Device conformity rules 1181

System Management triggers the following actions on the data link layer with the help of the DL_SetMode service (Mode = STARTUP).

The Master DL-mode handler tries to establish communication via a wake-up request (PL_WakeUp.req) followed by a message with read F-sequence TYPE_0 (MinCycleTime) according to the sequence presented in Figure 28.

TREN

TDMT TDMT

1 2 3

SIO

4COM3 COM2 COM1

Masterstart-up

Devicestart-up

WURQ

Master

Device

TDMT

1187

1188

1189 1190

1191 1192

1193

1194

1195

1196

1197

1198

1199

1200

1201 1202

1203

Figure 28 – Example of an attempt to establish communication

After the wake-up request (WURQ), defined in 5.3.3.3, the DL-mode handler requests the frame handler to send the first read message after a time TREN (Table 8) and TDMT (Table

34). The defined transmission rates COM1, COM2, COM3 are used in descending order until a response is obtained, as shown in the example of Figure 28:

Step : Master message with COM3 (Table 7).

Step : Master message with COM2 (Table 7).

Step : Master message with COM1 (Table 7).

Step : Device response message with COM1.

Before initiating a (new) message, the DL-mode handler shall wait at least for a time of TDMT.

TDMT is defined in Table 34.

The following conformity rule applies for Devices regarding support of transmission rates:

A Device shall support one of the transmission rates COM1, COM2, and COM3.

If an attempt to establish communication fails, the Master DL-mode handler shall not start a new retry wake-up procedure until after a time TDWU as shown in Figure 29 and defined in

Table 34.

Page 66: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 66 – 61131-9/WD V0.5 IEC

SIO

COM3 COM2 COM1

No response

WURQ

Master

Device

WURQ

TDWU 1204

1205

1206

1207 1208

1209

Figure 29 – Failed attempt to establish communication

The Master shall make up to nWU+1 successive wake-up requests as shown in Figure 30. If

this initial wake-up retry sequence fails, the Device shall reset its C/Q line to SIO mode after a time TDSIO (TDSIO is retrigged in the Device after each detected WURQ). The Master shall not

trigger a new wake-up retry sequence until after a time TSD.

SIO

Master

TSD

TDSIO

Wake-up retry sequence

TDSIO

TDSIO

Device

1210

1211

1212 1213

1214 1215

1216

Figure 30 – Retry strategy to establish communication

The DL of the Master shall request the PL to go to DI mode after a failed wake-up retry sequence.

The values for the timings of the wake-up procedures and retries are defined in Table 8 and the following Table 34. They are defined from a Master's point of view.

Table 34 – Wake-up procedure and retry characteristics

Property Designation Minimum Typical Maximum Unit Remark

TDMT Master message delay

27 n/a 37 TBIT Bit time of subsequent data transmission rate

TDSIO Standard IO delay

60 n/a 300 ms After TDSIO the Device falls

back to SIO mode (if supported)

TDWU Wake-up retry delay

30 n/a 50 ms After TDWU the Master

repeats the wake-up request

nWU Wake-up retry count

2 2 2 Number of wake-up request retries

TSD Device detection time

0,5 n/a 1 s Time between 2 wake-up request sequences. See NOTE

NOTE Characteristic of the Master

Page 67: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 67 – Working Draft

1217 1218 1219

1221 1222

1223

1224 1225 1226

1227

The Master’s data link layer shall stop the establishing communication procedure once it finds a communicating Device, and reports the detected COM-Mode using a DL_Mode indication. If the procedure fails, a corresponding error is reported using the same service.

7.3.2.3 Fallback procedure 1220

System Management induces the following actions on the data link layer with the help of the DL_SetMode service (Mode = INACTIVE):

A MasterCommand "Fallback" (Table B.2) forces the Device to switch into the SIO mode.

The Devce shall accomplish the transition to the SIO mode after 3 MasterCycleTimes and/or within 500 ms after the MasterCommand "Fallback". This allows for possible retries if the MasterCommand failed indicated through a negative Device response.

Figure 31 shows the fallback procedure and its retry and timing constraints.

Master

TFBD

MasterCommand "Fallback"

SIO

Device

MasterCycleTime

Possible retries

1228

1229

1230

1231

Figure 31 – Fallback procedure

Table 35 shows the fallback timing characteristics. See A.2.6 for details.

Table 35 – Fallback timing characteristics

Property Designation Minimum Typical Maximum Unit Remark

TFBD Fallback delay

3 MasterCycle-Times (operate state)

or

3 Tinitcyc

(preoperate state)

n/a 500 ms After a time TFBD the

Device shall be switched to SIO mode (see Figure 31)

1232

1234

7.3.2.4 Master state machine of the DL-mode handler 1233

Figure 32 shows the Master state machine of the DL-mode handler.

Page 68: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 68 – 61131-9/WD V0.5 IEC

Idle_0

/Initialization

DL_SetMode_STARTUP/T1

EstablishCom_1

Submachine 1"WakeUp"

enex_3enex_2enex_1

enex_4

[Retry = 3]/T5DL_SetMode_STARTUP/

T1

[Retry = 3]/T5

Startup_2

[Response COM3]/T2

[Response COM2]/T3

[Response COM1]/T4

[Response COM3]/T2

[Response COM2]/T3

[Response COM1]/T4

DL_SetMode_STARTUP/T7

PreOperate_3

DL_SetMode_PREOPERATE/T6

FHInfo_COMLOST/T9

DL_SetMode_INACTIVE/T8

DL_SetMode_STARTUP/T7

DL_SetMode_PREOPERATE/T6

FHInfo_COMLOST/T9

DL_SetMode_INACTIVE/T8

DL_SetMode_OPERATE/T10

Operate_4

DL_SetMode_OPERATE/T10

DL_SetMode_OPERATE/T11

DL_SetMode_STARTUP/T12

FHInfo_COMLOST/T14

DL_SetMode_INACTIVE/T13

DL_SetMode_OPERATE/T11

DL_SetMode_STARTUP/T12

FHInfo_COMLOST/T14

DL_SetMode_INACTIVE/T13

1235

1236

1237

1238 1239

1240 1241 1242

1243 1244 1245

1246 1247

Figure 32 – Master state machine of the DL-mode handler

NOTE The conventions of the UML diagram types are defined in 3.3.6.

The DL-mode handler shall first establish communication via a "WakeupRequest" command. This procedure is specified by submachine 1 in Figure 33.

The purpose of state "Startup_2" is to check a Device's identity via the data of the direct parameter page (Figure 4). In state "PreOperate_3", the Master assigns parameters to the Device using ISDUs.

Cyclic exchange of process data is performed in state "Operate". Within this state additional on-request data such as ISDUs, commands, and events can be communicated using appropriate F-sequence types (Figure 36).

The states 3 and 4 provide no explicit functionality, but show different availabilities of subsidiary state machines.

Page 69: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 69 – Working Draft

EstablishCom_1

WURQ_5

ComRequestCOM3_6

tm(Tdmt)/T15

ComRequestCOM2_7

tm(Tdmt)[NoResponse]/T16

ComRequestCOM1_8

tm(Tdmt)[NoResponse]/T17

Retry_9

tm(Tdmt)[NoResponse]/T18

tm(Tdwu)[Retries < 3]/T19

enex_3

[Response COM1]/T4

enex_2

[Response COM2]/T3

enex_1

[Response COM3]/T2

enex_4

[Retry =3]/T5

tm(Tdmt)/T15

tm(Tdmt)[NoResponse]/T16

tm(Tdmt)[NoResponse]/T17

tm(Tdmt)[NoResponse]/T18

tm(Tdwu)[Retries < 3]/T19

[Response COM1]/T4

[Response COM2]/T3

[Response COM3]/T2

[Retry =3]/T5

1248

1249

1250

1251

Figure 33 – Submachine to establish communication

Table 36 shows the state transition tables of the Master DL-mode handler.

Table 36 – State transition tables of the Master DL-mode handler

STATE NAME STATE DESCRIPTION

Idle_0 Waiting on wakeup request: DL_SetMode (STARTUP)

EstablishComm_1 Perform wakeup procedure (submachine)

Startup_2 System management uses this state for Device identification, check, and communication configuration

Preoperate_3 On-request data (parameter, commands, events) exchange without process data

Operate_4 Process data exchange and on-request data (parameter, commands, events) exchange

SM: WURQ_5 Create wakeup current pulse (5.3.3.3). Wait TDMT (Table 34).

SM: ComRequestCOM3_6 Try test message with COM3 transmission rate with the help of the frame handler. Wait TDMT (Table 34).

SM: ComRequestCOM2_7 Try test message with COM2 transmission rate with the help of the frame handler. Wait TDMT (Table 34).

SM: ComRequestCOM1_8 Try test message with COM1 transmission rate with the help of the frame handler. Wait TDMT (Table 34).

SM: Retry_9 Check number of retries 1252

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 Activate frame handler. Retry = 0.

Page 70: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 70 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T2 1 2 Activate command handler. Return DL_Mode.ind(STARTUP) and DL_Mode.ind(COM3). Comment: COM3 established.

T3 1 2 Activate command handler. Return DL_Mode.ind(STARTUP) and DL_Mode.ind(COM2). Comment: COM2 established.

T4 1 2 Activate command handler. Return DL_Mode.ind(STARTUP) and DL_Mode.ind(COM1). Comment: COM1 established.

T5 1 0 Deactivate frame handler. Return DL_Mode.ind(STOP).

T6 2 3 Activate on-request data, service, and event handler. Send Master-Command ("DevicePreoperate"), Return DL_Mode.ind(PREOPERATE).

T7 3 2 Deactivate on-request data, service, command, and event handler. Send MasterCommand("DeviceStartup"), Return DL_Mode.ind(STARTUP).

T8 3 0 Send MasterCommand ("Fallback"), deactivate all handlers. Return DL_Mode.ind(INACTIVE).

T9 3 0 Deactivate all handlers. Return DL_Mode.ind(COMMLOSS).

T10 3 4 Activate process data handler. Send MasterCommand("ProcessData-OutputOperate"), Return DL_Mode.ind(OPERATE).

T11 2 4 Activate process data handler. Activate on-request data, service, and event handler. Send MasterCommand("ProcessDataOutputOperate"). Return DL_Mode.ind(OPERATE).

T12 4 2 Deactivate process data, on-request data, service, and event handler. Send MasterCommand("DeviceStartup"). Return DL_Mode.ind(STARTUP).

T13 4 0 Send MasterCommand ("Fallback"), Deactivate all handlers. Return DL_Mode.ind(INACTIVE).

T14 4 0 Deactivate all handlers. Return DL_Mode.ind(COMMLOSS).

T15 5 6 Set transmission rate COM3.

T16 6 7 Set transmission rate COM2.

T17 7 8 Set transmission rate COM1.

T18 8 9 Increment Retry

T19 9 5 - 1253

INTERNAL ITEMS TYPE DEFINITION

NoResponse Bool No valid Device message received

Retry Variable Number of retries to establish communication

1254

1256

1257 1258

7.3.2.5 Device state machine of the DL-mode handler 1255

Figure 34 shows the Device state machine of the DL-mode handler.

The states 3 and 4 provide no explicit functionality, but show different availabilities of subsidiary state machines.

Page 71: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 71 – Working Draft

Idle_0

/Initialization

DL_Mode_STARTUP/T1

EstablishCom_1

DL_Mode_STARTUP/T1

tm(Tdsio)/T10tm(Tdsio)/T10

ComTrig/T2

Startup_2

ComTrig/T2

MC_PREOPERATE/T3

PreOperate_3

MC_PREOPERATE/T3

MC_STARTUP/T6

DL_Mode_INACTIVE/T8

FHInfo_ILLEGAL_FRAMETYPE/T12

MC_STARTUP/T6

DL_Mode_INACTIVE/T8

FHInfo_ILLEGAL_FRAMETYPE/T12

MC_OPERATE/T4

Operate_4

MC_OPERATE/T4

MC_OPERATE/T5

MC_STARTUP/T7

DL_Mode_INACTIVE/T9

FHInfo_ILLEGAL_FRAMETYPE/T11

MC_OPERATE/T5

MC_STARTUP/T7

DL_Mode_INACTIVE/T9

FHInfo_ILLEGAL_FRAMETYPE/T11

1259

1260

1261

1262

Figure 34 – Device state machine of the DL-mode handler

Table 37 shows the state transition tables of the Device DL-mode handler.

Table 37 – State transition tables of the Device DL-mode handler

STATE NAME STATE DESCRIPTION

Idle_0 Waiting on wakeup current pulse (PL_WakeUp.ind).

EstablishComm_1 Frame handler activated and waiting for the next transmission

Startup_2 Compatibility check (see 9.2.3.3)

Preoperate_3 On-request data (parameter, commands, events) exchange without process data

Operate_4 Process data exchange and on-request data (parameter, commands, events) exchange 1263

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 Activate frame handler.

T2 1 2 Activate command handler. Cast DL_Mode.ind(STARTUP).

T3 2 3 Activate on-request data, service, and event handler. Cast DL_Mode.ind(PREOPERATE).

T4 3 4 Activate process data handler. Cast DL_Mode.ind(OPERATE).

T5 2 4 Activate process data handler. Activate on-request data, service, and event handler. Cast DL_Mode.ind(OPERATE).

T6 3 2 Deactivate on-request data, service, and event handler. Cast DL_Mode.ind(STARTUP).

T7 4 2 Deactivate process data handler. Deactivate on-request data, service, and event handler. Cast DL_Mode.ind(STARTUP).

T8 3 0 Wait until TFBD elapsed, then deactivate all handlers and return

DL_Mode.ind(INACTIVE).

T9 4 0 Wait until TFBD elapsed, then deactivate all handlers and return

DL_Mode.ind(INACTIVE).

T10 1 0 Deactivate frame handler. Return DL_Mode.ind(INACTIVE).

Page 72: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 72 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T11 4 2 Deactivate process data handler. Deactivate on-request data, service, and event handler. Cast DL_Mode.ind(STARTUP).

T12 3 2 Deactivate on-request data, service, and event handler. Cast DL_Mode.ind(STARTUP).

1264

INTERNAL ITEMS TYPE DEFINITION

TFBD Time See Table 35.

MC_xxxx Variable Decoded MasterCommand (see Figure 50, state "CommandHandler_2")

1265

1268 1269 1270

1272 1273 1274

7.3.3 Frame handler 1266

7.3.3.1 General 1267

The general role of the frame handler has been described in 7.1 and 7.2.2.1. This subclause specifies the structure and types of F-sequences, and the behaviour (dynamics) of the frame handler.

7.3.3.2 F-sequences 1271

A Master and its Device exchange data by means of frames. An F-sequence comprises a message of the Master followed by a message of the Device as shown in Figure 35. Each message consists of UART frames.

F-sequence ("frame sequence")

...

...F-sequence type

UARTframe

UARTframe

UARTframe

Master message (frame)

Device message (frame)

UARTframe

UARTframe

F-sequence ("frame sequence")

...

...F-sequence type

UARTframe

UARTframe

UARTframe

Master message (frame)

Device message (frame)

UARTframe

UARTframe

1275

1276

1277 1278 1279 1280 1281

1282 1283 1284

1285 1286

Figure 35 – SDCI F-sequences

The Master message starts with the "F-sequence Control" (FC) octet, followed by the "CHECK/TYPE" (CKT) octet, and optionally followed by either "Process Data" (PD) and/or "On-request Data" (OD) octets. The Device message in turn starts optionally with "Process Data" (PD) octets and/or "On-request Data" (OD) octets, followed by the "CHECK/STAT" (CKS) octet.

Various F-sequence types can be selected to meet the particular needs of an actuator or sensor (scan rate, amount of process data). The length of Master and Device messages may vary depending on the type of messages and the data transmission direction, see Figure 35.

Figure 36 presents an overview of the defined F-sequence types. Parts within dotted lines depend on the read or write direction within the F-sequence control octet.

Page 73: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 73 – Working Draft

1287 1288

1289 1290 1291

1292 1293 1294

The fixed F-sequence types consist of TYPE_0, TYPE_1_1, TYPE_1_2, and TYPE_2_1 through TYPE_2_6. The variable F-sequence types consist of TYPE_1_V and TYPE_2_V.

The different F-sequence types meet the various requirements of sensors and actuators regarding their process data width and respective conditions. See A.2 for details of F-sequence types. See A.3 for the timing constraints with F-sequences.

As a general rule, all the octets of data types > 1 octet are "big endian" coded for trans-mission, i.e. the most significant octet (MSO) is sent first, followed by the least significant octet (LSO) as shown in Figure 1.

FC CKTOD

CKS

FC CKTPD0 PD1

CKS

FC CKTOD0 OD1

CKS

FC CKTOD

PD CKS

FC CKTOD

PD0 PD1 CKS

TYPE_0

TYPE_1_1

TYPE_1_2

TYPE_2_1

TYPE_2_2

FC CKT PD

CKS

FC CKT PD0 PD1OD

CKS

TYPE_2_3

TYPE_2_4

TYPE_2_5

OD

FC CKT PDOD

PD CKS

WR

RD

FC CKTOD0 ODn

CKS

TYPE_1_V

TYPE_2_6

FC CKTOD0 ODm-1

PD0

TYPE_2_V

FC CKT PD0 PD1OD

PD0 PD1 CKS

PD0 PDn-1

PDk-1 CKS 1295

1296

1298 1299 1300 1301

1302 1303 1304

Figure 36 – Overview of F-sequence types

7.3.3.3 MasterCycleTime constraints 1297

Upon completion of startup a Device is able to communicate. In order to detect the disconnecting of Devices it is highly recommended for the Master to perform from this point on a periodic communication ("keep-alive message") via acyclic F-sequences by the data link layer. The minimum cycle times specified in A.2.6 shall be considered.

After this phase, cyclic process data communication can be started by the Master via the DL_SetMode(OPERATE) service. F-sequence types for the cyclic data exchange shall be used in this communication phase to address a Device.

Page 74: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 74 – 61131-9/WD V0.5 IEC

The Master shall use the time indicated in the parameter MasterCycleTime (Table B.1) after sending the MasterCommand "DeviceOperate" (

1305 1306 1307

1308 1309

1311 1312

1313 1314 1315 1316 1317

1318 1319

Table B.2) for the first time. The tolerance of this time shall be within 0 % to +10 % (including jitter).

In cases, where a Device has to be switched back to SIO mode after parameterization, the Master shall send a command "Fallback" (Table B.2) followed by a confirmation of the Device.

7.3.3.4 Master state machine of the frame handler 1310

Figure 37 shows the Master state machine of the frame handler. Two submachines describing reactions on communication errors are shown in Figure 38 and Figure 39.

The frame handler takes care of the special communication requirements within the states "EstablishCom", "Startup", "PreOperate", and "Operate" of the DL-Mode handler. A special FH_Config(COMREQUEST) command in state "Inactive_0" causes the frame handler to send "test" messages with F-sequence TYPE_0 and different transmission rates during the establish communication sequence.

The state "StartupPreop_2" is the checkpoint for all On-request Data activities such as ISDUs, parameters, commands, and events.

/Initialization

Inactive_0Operate_8

FH_Config_OPERATE/T1 FH_Config_INACTIVE/

T27

FH_Config_OPERATE/T1 FH_Config_INACTIVE/

T27

tm(Tcyc)/T16

GetPD_9

tm(Tcyc)/T16

Response_11

enex_3 [Retry = MaxRetry]/T23enex_4[Retry = MaxRetry]/T23

SetOD_15

[NoError]/T25[NoError]/T25

FH_Config_COMREQUEST/T2

AwaitReply_1

FH_Config_COMREQUEST/T2

tm(TF-sequence)/T4

[ReceivedOK]/T3

[ReceivedNotOK]/T5

tm(TF-sequence)/T4

[ReceivedOK]/T3

[ReceivedNotOK]/T5

GetOD_10

[ReadyToSend]/T18

[Ready]/T17

[ReadyToSend]/T18

[Ready]/T17

GetOD_3

[Ready]/T24

SetPD_14

[Ready]/T24

[ReceivedOK]/T22[ReceivedOK]/T22

FH_Config_STARTUP/T6

StartupPreop_2

tm(Tinitcyc)/T7

FH_Config_OPERATE/T15

FH_Config_INACTIVE/T26

FH_Config_STARTUP/T6

tm(Tinitcyc)/T7

FH_Config_OPERATE/T15

FH_Config_INACTIVE/T26

[ReadyToSend]/T8

Response_4

enex_1

[Retry = MaxRetry]/T13

enex_2

[ReadyToSend]/T8

[Retry = MaxRetry]/T13

[ReceivedOK]/T12

SetOD_7

[ReceivedOK]/T12

[Ready]/T14[Ready]/T14

1320

1321

1322 1323

Figure 37 – Master state machine of the frame handler

The state "Operate_8" is the checkpoint for cyclic process data exchange. Depending on the F-sequence type the frame handler generates Master messages with Process Data acquired

Page 75: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 75 – Working Draft

1324 1325

1326

from the Process Data handler and optionally On-request Data acquired from the on-request data handler.

Figure 38 shows the submachine of state "Response 4".

Response_4

AwaitReply_5 Errorhandling_6

tm(TF-sequence)/T9

[ReceivedNotOK]/T10

tm(Tinitcyc)[Retry < MaxRetry]/T11 (Re-send)

enex_2

/T12

enex_1

/T13

/T8/T8

tm(TF-sequence)/T9

[ReceivedNotOK]/T10

tm(Tinitcyc)[Retry < MaxRetry]/T11 (Re-send)

/T12/T13

1327

1328

1329

Figure 38 – Submachine "Response 4" of the frame handler

Figure 39 shows the submachine of state "Response 11".

Response_11

AwaitReply_12 ErrorHandling_13

tm(TF-sequence)/T19

[ReceivedNotOK]/T20

tm(Tcyc)[Retry < MaxRetry]/T21 (Re-send)

enex_3

/T23

enex_4

/T22

/T18/T18tm(TF-sequence)/T19

[ReceivedNotOK]/T20

tm(Tcyc)[Retry < MaxRetry]/T21 (Re-send)

/T23

/T22

1330

1331

1332

1333 1334

Figure 39 – Submachine "Response 11" of the frame handler

Table 38 shows the state transition tables of the Master frame handler.

Table 38 – State transition table of the Master frame handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on ComRequest or Startup

AwaitReply_1 Waiting on ComRequest response

StartupPreop_2 Checkpoint: Wait until Tinitcyc from last cycle elapsed

GetOD_3 Collect on-request data from on-request handler (ISDU, parameter/command, event)

Response_4 Device response and error check

SM: AwaitReply_5 Waiting on Device response

SM: ErrorHandling_6 Error check and reaction (retry, etc.)

SetOD_7 Distribute on-request data

Operate_8 Checkpoint: Wait until Tcyc from last cycle elapsed

GetPD_9 Collect process data from PD handler

GetOD_10 Collect on-request data from on-request handler (ISDU, parameter/command, event)

Page 76: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 76 – 61131-9/WD V0.5 IEC

STATE NAME STATE DESCRIPTION

Response_11 Device response and error check

SM: AwaitReply_12 Waiting on Device response

SM: ErrorHandling_13 Error check and reaction (Retry, etc.)

SetPD_14 Distribute process data

SetOD_15 Distribute on-request data 1335 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 8 -

T2 0 1 Read octet 3 (MinCycleTime) in direct parameter page with F-sequence TYPE_0

T3 1 0 Return value of MinCycleTime

T4 1 0 Timeout: negative response

T5 1 0 Other error: negative response

T6 0 2 -

T7 2 3 Cast ComTrig to on-request handler

T8 3 4 Create message from CMD.req and send it to Device. Start F-sequence LengthTimer

T9 5 6 -

T10 5 6 -

T11 6 5 Re-send message

T12 4 7 -

T13 4 0 Error indication: FHInfo.ind(COMMLOST)

T14 7 2 -

T15 2 8 -

T16 8 9 Cast PDTrig to process data handler

T17 9 10 Cast ComTrig to on-request handler

T18 10 11 Create message from CMD.req and PD.req and send it to Device

T19 12 13 -

T20 12 13 -

T21 13 12 Re-send message

T22 11 14 -

T23 11 0 Error indication: FHInfo.ind(COMMLOST)

T24 14 15 -

T25 15 8 -

T26 2 0 Stop communication

T27 8 0 Stop communication 1336

INTERNAL ITEMS TYPE DEFINITION

Retry Variable Retry counter

MaxRetry Number MaxRetry = 2, see Table 91

ReceivedOK Bool Error checking of Device message successful

ReceivedNotOK Bool Error checking of Device message not successful due to detected errors

F-sequence LengthTimer Timer Measurement of Device response time

tF-sequence Time See equation (A.6)

tcyc Time See equation (A.7)

Page 77: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 77 – Working Draft

INTERNAL ITEMS TYPE DEFINITION

tinitcyc Time See A.2.6

1337

1339

7.3.3.5 Device state machine of the frame handler 1338

Figure 40 shows the Device state machine of the frame handler.

Idle_1

tm(ComTimeout)/T9tm(ComTimeout)/T9

[FirstOctet]/T2

GetMessage_2

tm(MessageTimeout)/T8

[NextOctet]/T3

[FirstOctet]/T2

tm(MessageTimeout)/T8

[NextOctet]/T3

CheckMessage_3

[Error]/T7

[Completed]/T4

[Error]/T7

[Completed]/T4

CreateMessage_4

[Ready]/T6 (send)

[No error]/T5

[Ready]/T6 (send)

[No error]/T5

Inactive_0

/Initialization

FH_Config_ACTIVE/T1

FH_Config_INACTIVE/T10

FH_Config_ACTIVE/T1

FH_Config_INACTIVE/T10

1340

1341

1342

1343

Figure 40 – Device state machine of the frame handler

Table 39 shows the state transition tables of the Device frame handler.

Table 39 – State transition tables of the Device frame handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting for activation

Idle_1 Waiting on first octet of Master message

GetMessage_2 Receive Master message octet by octet

CheckMessage_3 Check F-sequence type, checksum, length, consistency

CreateMessage_4 Create message from CMD.rsp, PD.rsp, EventFlag State and PD Valid State 1344

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 2 Start message timer

T3 2 2 Check message length

T4 2 3 Stop message timer

T5 3 4 Create CMD.ind and/or PD.ind

T6 4 1 Create PL_Transfer.rsp

T7 3 1 Indicate error via FHInfo(ILLEGAL_FRAME_TYPE) only in case of a detected illegal F-sequence type. No indication of other errors e.g. CHECKSUM_MISMATCH.

T8 2 1 -

T9 1 1 Create FHInfo.ind(COMMLOST). Actuators shall observe this information and take corresponding actions.

T10 1 0 - 1345

INTERNAL ITEMS TYPE DEFINITION

MessageTimeout Time Observation of the message transmission time for the purpose of resynchronization of communication ("first octet detection")

Page 78: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 78 – 61131-9/WD V0.5 IEC

INTERNAL ITEMS TYPE DEFINITION

ComTimeout Time Observation of the Device specific maximum cycle time. This is important especially for actuators. See 10.2.

MessageTimeout Time Maximum "length" of Master message of the actual F-sequence type

FirstOctet Service PL_Transfer.ind with the first octet of the Master message

NextOctet Service PL_Transfer.ind with subsequent octets of the Master message

Error Bool One of the possible errors detected: ILLEGAL_FRAME_TYPE, CHECKSUM_MISMATCH

1346

1349 1350 1351 1352

1353 1354 1355

1357 1358 1359 1360 1361

7.3.4 Process data handler 1347

7.3.4.1 General 1348

The transport of process data for output data is performed using the DL_OutputUpdate services and for input data using the DL_InputTransport services (Figure 25). A process data cycle is completed when the whole set of process data has been transferred between Master and Device. Such a cycle can last for more than one F-sequence.

All process data are transmitted within one F-sequence when using F-sequences of TYPE_2_x (Figure 36). In this case the execution time of a process data cycle is equal to the cycle time (see Figure 41).

7.3.4.2 Interleave mode 1356

All Process Data and On-request Data are transmitted with multiple alternating F-sequences TYPE_1_1 (process data) and TYPE_1_2 (on-request data) as shown in Figure 41. It illustrates the Master messages writing output process data to a Device. Within a process data cycle all input data shall be read first followed by all output data to be written. A process data cycle comprises all cycle times required to transmit the complete process data.

FC CKT PD0 PD1

FC CKT OD0 OD1

FC CKT PD2 PD3

FC CKT OD0 OD1

FC CKT PDx-1 PDx

FC CKT OD0 OD1

FC CKT PD0 PD1

FC CKT OD0 OD1

Process datacycle n

Process datacycle n+1

Cycletime

t (time)

Not recommendedfor new developmentsof Devices

1362

1363

1365

Figure 41 – Interleave mode for the segmented transmission of process data

7.3.4.3 Master state machine of the process data handler 1364

Figure 42 shows the Master state machine of the process data handler.

Page 79: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 79 – Working Draft

/initialization

Inactive_0

PDComTrig/T1PDComTrig/T1

PD_Config_SINGLE/T2

PDSingle_1

PDComTrig/T3

PD_Config_INACTIVE/T9

PD_Config_SINGLE/T2

PDComTrig/T3

PD_Config_INACTIVE/T9

PD_Config_INTERLEAVE/T4

PDInInterleave_2

PD_Config_INTERLEAVE/T4

PD_Config_INACTIVE/T10

PDComTrig/T5

PD_Config_INACTIVE/T10

PDComTrig/T5

[Input Data Completed]/T6 PDOutInterleave_3

[Input Data Completed]/T6

[Output Data Completed]/T8

PDComTrig/T7

PD_Config_INACTIVE/T11

[Output Data Completed]/T8

PDComTrig/T7

PD_Config_INACTIVE/T11

1366

1367

1368

1369

Figure 42 – Master state machine of the process data handler

Table 40 shows the state transition tables of the Master process data handler.

Table 40 – State transition tables of the Master process data handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting for activation

PDSingle_1 Process data communication via single F-sequences

PDInInterleave_2 Input ProcessDataIn interleave mode

PDOutInterleave_3 Output ProcessDataOut interleave mode 1370

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 0 Create PD.req with no process data

T2 0 1 -

T3 1 1 Create DL_PDInputTransport.ind, DL_PDCycle.ind and PD.req with input and output data

T4 0 2 -

T5 2 2 Create PD.req for input data

T6 2 3 Create DL_PDInputTransport.ind (see 7.2.1.11)

T7 3 3 Create PD.req with output data

T8 3 2 Create DL_PDCycle.ind (see 7.2.1.12)

T9 1 0 -

T10 2 0 -

T11 3 0 - 1371

INTERNAL ITEMS TYPE DEFINITION

None

1372

1374

7.3.4.4 Device state machine of the process data handler 1373

Figure 43 shows the Device state machine of the process data handler.

Page 80: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 80 – 61131-9/WD V0.5 IEC

Inactive_0

PDTrig/T1

/initialization

PDTrig/T1

PD_Config_ACTIVE/T2

PDSingle_1

PD_Config_INACTIVE/T7

PD_Config_ACTIVE/T2

PD_Config_INACTIVE/T7

PDTrig/T3

HandlePD_2

[PD incomplete]/T4

[New output complete]/T5

[Cycle complete]/T6

PDTrig/T3

[PD incomplete]/T4

[New output complete]/T5

[Cycle complete]/T6

1375

1376

1377

1378

Figure 43 – Device state machine of the process data handler

Table 41 shows the state transition tables of the Device process data handler.

Table 41 – State transition tables of the Device process data handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

PDActive_1 Handler active and waiting on next message

HandlePD_2 Check process data for completeness 1379

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 0 Ignore Process Data

T2 0 1 -

T3 1 2 Create PD.ind with Process Data (see 7.2.2.3)

T4 2 1 -

T5 2 1 Create DL_PDOutputTransport.ind (see 7.2.1.9)

T6 2 1 Create DL_PDCycle.ind (see 7.2.1.12)

T7 1 0 - 1380

INTERNAL ITEMS TYPE DEFINITION

None

1381

1384 1385 1386 1387

1388 1389

7.3.5 On-request data handler 1382

7.3.5.1 General for Master and Device 1383

The Master on-request data handler is a subordinate state machine active in the "Operate_4" state of the DL-mode handler (Figure 32). It controls 3 other state machines, the so-called service handler, the control handler, and the event handler. It always starts with the service handler first.

Whenever an EventFlag.ind is received, the state machine will switch to the event handler. After the complete readout of the event information it will return to the service handler state.

Page 81: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 81 – Working Draft

1390 1391 1392

1393 1394 1395

1396 1397

1398 1399 1400 1401

1402 1403

1404 1405

1407 1408 1409

Whenever a Control.req is received while in the service handler or in the event handler, the state machine will switch to the control handler. Once the control request has been served, the state machine will return to the previously active state.

The Device on-request data handler obtains information on the communication channel and the memory address via the Cmd.req service. The communication channels are totally independent.

In case of a valid access, the corresponding service, control or event state machine is addressed on the relevant communication channel.

The Device shall respond to read requests to not implemented address ranges with the value "0". It shall ignore write requests to not implemented address ranges. Requests for access sent in F-sequence types without addressing on the process communication channel shall also be ignored.

In case of an ISDU page access in a Device without ISDU support, the Device shall respond with NO_SERVICE. An error message is not created.

NOTE Cmd.ind (R, ISDU, FlowCTRL = IDLE) is the default message if there are no on-request data pending for transmission.

7.3.5.2 Master state machine of the on-request data handler 1406

Figure 44 shows the Master state machine of the on-request data handler. The on-request handler casts the ComTrig.ind for the next message content to the currently active subsidiary handler (service, command, or event).

Startup_1

ComTrig/T12ComTrig/T12

ComTrig/T11

Service_2

ComTrig/T11

[Startup completed]/T2

OH_Config_STARTUP/T13

[Startup completed]/T2

OH_Config_STARTUP/T13

DL_Control/T3

Command_3

[Done & No EventActive]/T4

ComTrig/T9

OH_Config_STARTUP/T14

DL_Control/T3

[Done & No EventActive]/T4

ComTrig/T9

OH_Config_STARTUP/T14

Event_4

EventFlag/T5

[Done]/T6

DL_Control/T7

[Done & EventActive]/T8

ComTrig/T10

OH_Config_STARTUP/T15

EventFlag/T5

[Done]/T6

DL_Control/T7

[Done & EventActive]/T8

ComTrig/T10

OH_Config_STARTUP/T15

/initialization

Inactive_0

OH_Config_ACTIVE/T1

OH_Config_INACTIVE/T16

OH_Config_ACTIVE/T1

OH_Config_INACTIVE/T16

1410

1411 Figure 44 – Master state machine of the on-request data handler

Page 82: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 82 – 61131-9/WD V0.5 IEC

This is performed through one of the ControlComTrig, EventComTrig or ServiceComTrig services.

1412 1413

1414

1415

Table 42 shows the state transition tables of the Master process data handler.

Table 42 – State transition tables of the Master on-request data handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Startup_1 System management uses this state for Device identification, check, and communication configuration while reading and writing the Direct Parameter page with F-sequence TYPE_0 (see Figure 4 and A.2.2).

Service_2 Default state of the on-request handler (lowest priority)

Command_3 State to control the Device via commands with highest priority

Event_4 State to convey event information (errors, warnings, notifications) with higher priority 1416 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 -

T2 1 2 -

T3 2 3 -

T4 3 2 -

T5 2 4 EventActive = TRUE

T6 4 2 EventActive = FALSE

T7 4 3 -

T8 3 4 -

T9 3 3 Cast ControlComTrig.ind (Figure 49)

T10 4 4 Cast EventComTrig.ind (Figure 51)

T11 2 2 Cast ISDUComTrig.ind (Figure 47)

T12 1 1 Read or write direct parameter page via CMD.req

T13 2 1 -

T14 3 1 -

T15 4 1 -

T16 0 4 - 1417

INTERNAL ITEMS TYPE DEFINITION

EventActive Flag to indicate return direction after interruption of event processing by a high priority command request

1418

1420

7.3.5.3 Device state machine of the on-request data handler 1419

Figure 45 shows the Device state machine of the on-request data handler.

Page 83: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 83 – Working Draft

Idle_1

CommandRequest/T2

EventRequest/T5

ParameterRequest/T3

SPDURequest/T4

CommandRequest/T2

EventRequest/T5

ParameterRequest/T3

SPDURequest/T4

/initialization

Inactive_0OH_Config_ACTIVE/T1

OH_Config_INACTIVE/T6

OH_Config_ACTIVE/T1

OH_Config_INACTIVE/T6

1421

1422

1423

1424

Figure 45 – Device state machine of the on-request data handler

Table 43 shows the state transition tables of the Device on-request data handler.

Table 43 – State transition tables of the Device on-request data handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Idle_1 Waiting on messages with on-request data. Decomposition and analysis. 1425

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 1 Trigger command handler

T3 1 1 Trigger service handler (direct parameter page). If DL-Mode = STARTUP then cast DL_Read / DL_Write, otherwise cast DL_ReadParam / DL_WriteParam

T4 1 1 Trigger service handler (ISDU)

T5 1 1 Trigger event handler

T6 1 0 - 1426

INTERNAL ITEMS TYPE DEFINITION

CommandRequest Service CMD.ind(W, PARAMETER, 0, Command)

ParameterRequest Service CMD.ind(R/W, PARAMETER, <> 0, Data)

ISDURequest Service CMD.ind(R/W, ISDU, FlowCtrl, Data)

EventRequest Service CMD.ind(R/W, EVENT, n, Data)

1427

1430 1431 1432

1433 1434

7.3.6 Service handler 1428

7.3.6.1 Indexed Service Data Unit (ISDU) 1429

The general structure of an ISDU is illustrated in Figure 46 and described in detail in A.5. The sequence of the elements corresponds to the transmission sequence. The elements of an ISDU can take various forms depending on the type of service.

The ISDU allows accessing data objects (parameters and commands) to be transmitted (Figure 4). The data objects shall be addressed by the “Index” element.

Page 84: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 84 – 61131-9/WD V0.5 IEC

Service

ExtLength

Index

Subindex

Data 1

...

Length

Data n

CHKPDU = Checksum

Service

ExtLength

Index

Subindex

Data 1

...

Length

Data n

CHKPDU = Checksum 1435

1436

1438 1439 1440 1441

1442 1443 1444 1445 1446

1447

Figure 46 – Structure of the ISDU

7.3.6.2 Transmission of ISDUs 1437

An ISDU is transmitted via the ISDU communication channel (see Figure 6 and A.1.2). A number of messages are typically required to perform this transmission (segmentation). The Master transfers an ISDU by sending a service request to the Device via the ISDU communication channel. It then receives the Device’s response via the same channel.

In the ISDU communication channel the "Address" element within the F-sequence control octet accommodates a counter (= FlowCTRL). FlowCTRL is controlling the segmented data flow (A.1.2) by counting the frames of the ISDU (modulo 16) during transmission. The Master uses the "Length" element of the ISDU and FlowCTRL to check the accomplishment of the complete transmission. Permissible values for FlowCTRL are defined in Table 44.

Table 44 – FlowCTRL definitions

FlowCTRL Definition

0x00 to 0x0F COUNT

Frame counter within an ISDU. Increments beginning with 1 following start with START. Jumps back from 15 to 0 in the event of an overflow.

0x10 START

Start of an ISDU, i.e., start of a request or a response.

For the start of a request, any previously incomplete services may be rejected.

For a start request associated with a response, a Device shall send “No Service” until its application returns response data.

0x11 IDLE 1

No request for ISDU transmission.

0x12 IDLE 2: Reserved for future use (see NOTE)

No request for ISDU transmission.

0x13 to 0x1E Reserved (see NOTE)

0x1F ABORT (see NOTE)

Abort entire service.

The Master responds by rejecting received response data.

The Device responds by rejecting received request data and may generate an abort.

NOTE In state ISDUIdle_1 these values shall not lead to a communication error.

Page 85: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 85 – Working Draft

7.3.6.3 Master state machine of the service handler 1448

1449 Figure 47 shows the Master state machine of the service handler.

Inactive_0

/Initialization

Idle_1

ISDUComTrig[ ParaRequest]/T13

ISDUComTrig/T14

SH_Config_ACTIVE/T1

SH_Config_INACTIVE/T16

ISDUComTrig[ ParaRequest]/T13

ISDUComTrig/T14

SH_Config_ACTIVE/T1

SH_Config_INACTIVE/T16

ISDUComTrig[ DL_ISDUTransport]/T2 ISDURequest_2

ISDUComTrig[ DL_ISDUTransport]/T2

ISDUComTrig/T3ISDUComTrig/T3

ISDUComTrig/T5

ISDUWait_3

ISDUComTrig/T5

[Data written]/T4[Data written]/T4

DL_Mode_COMLOSS/T12

ISDUError_4

DL_Mode_COMLOSS/T12

[Error]/T9

ISDUComTrig/T11

SH_Config_STOP/T15

[Error]/T9

ISDUComTrig/T11

SH_Config_STOP/T15

ISDUResponse_5

[ResponseStart]/T6

[Error]/T10

ISDUComTrig[ Transmission completed]/T8

ISDUComTrig/T7

[ResponseStart]/T6

[Error]/T10

ISDUComTrig[ Transmission completed]/T8

ISDUComTrig/T7

1450

1451

1452

1453

Figure 47 – Master state machine of the service handler

Table 45 shows the state transition tables of the Master service handler.

Table 45 – State transition tables of the Master service handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Idle_1 Waiting on transmission of next on-request data

ISDURequest_2 Transmission of ISDU request data

ISDUWait_3 Waiting on response from Device. Observe ISDUTimer

ISDUError_4 Error handling after detected errors

ISDUResponse_5 Get response data from Device 1454

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 2 Cast CMD.req with ISDU write start condition [CMD.req (W, ISDU, flowCtrl = START, data)]

T3 2 2 Cast CMD.req with ISDU data write and FlowCTRL under conditions of Table 44

T4 2 3 Start ISDUTimer

T5 3 3 Cast CMD.req with ISDU read start condition [CMD.req (R, ISDU, flowCtrl = START)]

T6 3 5 Stop ISDUTimer

T7 5 5 Cast CMD.req with ISDU data read and FlowCTRL under conditions of

Page 86: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 86 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

Table 44

T8 5 1 Cast positive DL_ ISDUTransport confirmation

T9 3 4 -

T10 5 4 -

T11 4 1 Cast CMD.req with ISDU abortion [CMD.req (R, ISDU, flowCtrl = ABORT)]. Cast negative DL_ ISDUTransport confirmation

T12 2 4 -

T13 1 1 Cast DL_CMD.req with appropriate data, cast positive DL_Read/WritePara confirmation

T14 1 1 Cast CMD.req with idle message [CMD.req (R, ISDU, flowCtrl = IDLE)]

T15 4 1 -

T16 1 0 - 1455

INTERNAL ITEMS TYPE DEFINITION

ISDUTimer Variable Measurement of Device response time (watchdog, Table 91)

ResponseStart Service CMD.cnf(data <> ISDU_BUSY)

ParaRequest Service DL_Read or DL_Write

Error Variable Any detectable error within the ISDU transmission or DL_SDPUAbort requests, or any violation of the ISDU acknowledgement time (Table 91)

1456

1458

7.3.6.4 Device state machine of the service handler 1457

Figure 48 shows the Master state machine of the service handler.

ISDUIdle_1 ISDURequest_2

ISDUStart/T2

ISDUAbort/T9

ISDUWrite/T3

ISDUStart/T2

ISDUAbort/T9

ISDUWrite/T3

ISDUResponse_4

ISDURead/T7

ISDUAbort/T11

[ISDUSendComplete]/T8

ISDURead/T7

ISDUAbort/T11

[ISDUSendComplete]/T8

[ISDURecComplete]/T4

ISDUWait_3

[ISDURecComplete]/T4ISDUAbort/

T10

ISDURespStart/T6

ISDURead/T5

ISDUAbort/T10

ISDURespStart/T6

ISDURead/T5

Inactive_0

SH_Config_ACTIVE/T1

SH_Config_INACTIVE/T12

/Initialization

SH_Config_ACTIVE/T1

SH_Config_INACTIVE/T12

1459

1460

1461

1462

Figure 48 – Device state machine of the service handler

Table 46 shows the state transition tables of the Device service handler.

Table 46 – State transition tables of the Device service handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

ISDUIdle_1 Waiting on next ISDU transmission

ISDURequest_2 Reception of ISDU request

Page 87: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 87 – Working Draft

STATE NAME STATE DESCRIPTION

ISDUWait_3 Waiting on data from application layer to transmit (see DL_ISDUTransport)

ISDUResponse_4 Transmission of ISDU response data 1463 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 -

T2 1 2 Start receiving of ISDU request data

T3 2 2 Receive ISDU request data

T4 2 3 Cast DL_ ISDUTransport.ind to application layer (see DL_ ISDUTransport)

T5 3 3 Cast CMD.rsp with "busy" indication (Table A.14)

T6 3 4 -

T7 4 4 Cast CMD.rsp with ISDU response data

T8 4 1 -

T9 2 1 -

T10 3 1 Cast DL_ ISDUAbort

T11 4 1 Cast DL_ ISDUAbort

T12 1 0 - 1464

INTERNAL ITEMS TYPE DEFINITION

ISDUStart Service CMD.ind(W, ISDU, Start, Data)

ISDUWrite Service CMD.ind(W, ISDU, FlowCtrl, Data)

ISDURecComplete Service CMD.ind(R, ISDU, Start, ...)

ISDURespStart Service DL_ ISDUTransport.rsp()

ISDURead Service CMD.ind(R, ISDU, Start or FlowCtrl, ...)

ISDUSendComplete Service CMD.ind(R, ISDU, IDLE, ...)

ISDUAbort Service CMD.ind(R/W, ISDU, Abort, ...)

1465

1468 1469 1470

1471

7.3.7 Command handler 1466

7.3.7.1 General 1467

The command handler passes the control code contained in Control.req to the cyclically operating frame handler by sending CMD.req via the page communication channel. The permissible control codes are listed in Table 47.

Table 47 – Control codes

Control code MasterCommand Description

PDOutValid ProcessDataOutputOperate Process output data valid

PDOutInvalid DeviceOperate Process output data invalid or missing

1472

1474

7.3.7.2 Master state machine of the command handler 1473

Figure 49 shows the Master state machine of the command handler.

Page 88: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 88 – 61131-9/WD V0.5 IEC

Inactive_0

/Initialization

Idle_1

DL_Control_PDVALID/T2

DL_Control_PDINVALID/T3

CH_Config_ACTIVE/T1

CH_Config_INACTIVE/T6

DL_Control_PDVALID/T2

DL_Control_PDINVALID/T3

CH_Config_ACTIVE/T1

CH_Config_INACTIVE/T6

DL_Write_MasterCmd/T4

MasterCommand_2

DL_Write_MasterCmd/T4

ControlComTrig/T5ControlComTrig/T5

1475

1476

1477

1478

Figure 49 – Master state machine of the command handler

Table 48 shows the state transition tables of the Master command handler.

Table 48 – State transition tables of the Master command handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Idle_1 Waiting on new command

MasterCommand_2 Waiting on transmission of command 1479

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 1 Cast DL_Control.ind(PDVALID) to signal valid ProcessDataIn

T3 1 1 Cast DL_Control.ind(PDINVALID) to signal invalid ProcessDataIn

T4 1 2 -

T5 2 1 Transmission of MasterCommand

T6 1 0 - 1480

INTERNAL ITEMS TYPE DEFINITION

DL_Write_MasterCmd Service DL_Write(0, MasterCommand), see Table B.2.

1481

1483

7.3.7.3 Device state machine of the command handler 1482

Figure 50 shows the Device state machine of the control handler.

Idle_1

DL_Control_VALID/T2

DL_Control_INVALID/T3

DL_Control_VALID/T2

DL_Control_INVALID/T3

DL_Write_MasterCmd/T4

CommandHandler_2

[Done]/T5

DL_Write_MasterCmd/T4

[Done]/T5

/Initialization

Inactive_0

CH_Config_ACTIVE/T1

CH_Config_INACTIVE/T6

CH_Config_ACTIVE/T1

CH_Config_INACTIVE/T6

1484

1485 Figure 50 – Device state machine of the command handler

Page 89: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 89 – Working Draft

Table 49 shows the state transition tables of the Device command handler. 1486

1487 Table 49 – State transition tables of the Device command handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Idle_1 Waiting on next MasterCommand

CommandHandler_2 Decompose MasterCommand and cast specific actions (see B.1.2) 1488 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 -

T2 1 1 Cast PD-Valid(PDIN_VALID) to signal process data state to frame handler

T3 1 1 Cast PD-Valid(PDIN_INVALID) to signal process data state to frame handler

T4 1 2 -

T5 2 1 -

T6 1 0 - 1489

INTERNAL ITEMS TYPE DEFINITION

DL_Write_MasterCmd Service CMD.ind(W, PARAMETER, 0, MasterCommand), see Table B.2

1490

1493 1494 1495 1496 1497

1498

7.3.8 Event handler 1491

7.3.8.1 Events 1492

The general structure and coding of events is described in A.6. There are two types of events, one without details, which is not recommended for new developments, and another one with details. Event codes without details are listed in Table A.16. Event codes with details can be found in Annex D. The structure of the event buffer for event codes with details within a Device is illustrated in Table 50.

Table 50 – Event buffer

Address

Parameter Name Description

0x00 StatusCode Summary of status and error information. Also used to control read access for individual messages.

0x01 EventQualifier 1 Type, mode and source of the first event

0x02 16-bit event code of the first event

0x03

EventCode 1

0x04 EventQualifier 2 Type, mode and source of the second event

0x05 16-bit event code of the second event

0x06

EventCode 2

0x10 EventQualifier 6 Type, mode and source of the sixth event

0x11 16-bit event code of the sixth event

0x12

EventCode 6

0x13 …

0x1F

Reserved for future use

1499

Page 90: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 90 – 61131-9/WD V0.5 IEC

7.3.8.2 Event processing 1500

The Device AL writes an event to the event buffer and then sets the event flag, which is sent to the Master in the next frame in the CKS octet (

1501 1502

1503 1504 1505 1506

1507 1508 1509 1510 1511

1512 1513 1514

1515 1516 1517

1519

7.3.3.2 and A.1.5).

If the event flag is set, the Master shall switch from the service handler to the event handler. The event handler starts reading the status code. Once the status code has been read, the Device shall not modify the activated events within the event buffer (Table 50). It may write data to the free fields in the event buffer, but not modify the status code.

If the event detail bit is set (Figure A.23), the Master shall read the event details of the events indicated in the status code from the event buffer. Once it has read an event detail, it shall generate a DL event indication. After reception of DL_EventConf, the Master shall write any data to the status code to reset the event flag. The event handling on the Master shall be completed regardless of the contents of the event data received (event qualifier, event code).

If the Event detail bit is not set (Figure A.22) the Master Event handler shall generate the standardized Events according Table A.16 beginning with the most significant bit in the EventCode.

Write access to the status code indicates the end of event processing to the Device. The Device then resets the event flag and may now change the content of the fields in the event buffer. The Device shall not evaluate the content of the written Master data.

7.3.8.3 Master state machine of the event handler 1518

Figure 51 shows the Master state machine of the event handler.

Inactive_0

/Initialization

Idle_1

EH_Config_ACTIVE/T1

EH_Config_INACTIVE/T9

EH_Config_ACTIVE/T1

EH_Config_INACTIVE/T9

EventComTrig/T2

ReadEvent_2EventComTrig/T2

DL_Mode_COMLOSS/T7

EventComTrig/T3

DL_Mode_COMLOSS/T7

EventComTrig/T3

[Details read]/T4

SignalEvent_3

[Events left]/T5

[Events complete]/T6

[Details read]/T4

[Events left]/T5

[Events complete]/T6

DL_EventConf/T8EventConfirmation_4DL_EventConf/T8

EventComTrig/T9

DL_Mode_COMLOSS/T10

EventComTrig/T9

DL_Mode_COMLOSS/T10

1520

1521

1522

1523

Figure 51 – Master state machine of the event handler

Table 51 shows the state transition tables of the Master event handler.

Table 51 – State transition tables of the Master event handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Idle_1 Waiting on next event indication or event confirmation

ReadEvent_2 Read event data set from Device

SignalEvent_3 Decompose event data and cast DL_Event to application layer (7.2.1.15)

Page 91: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 91 – Working Draft

STATE NAME STATE DESCRIPTION

EventConfirmation_4 Waiting on event confirmation transmission 1524

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 2 Read event status octet

T3 2 2 Read octets from event buffer

T4 2 3 -

T5 3 2 -

T6 3 1 -

T7 2 0 -

T8 1 4 -

T9 4 1 Cast CMD.req with event buffer confirmation by writing to "StatusCode" (Table 50)

T10 4 0 - 1525

INTERNAL ITEMS TYPE DEFINITION

None

1526

1528

7.3.8.4 Device state machine of the event handler 1527

Figure 52 shows the Device state machine of the event handler.

Idle_1

ModifyEventPage/T2

[EventRead]/T6

ModifyEventPage/T2

[EventRead]/T6

DL_EventTrigger/T3 FreezeEventTable_2

EventConf/T5

[EventRead]/T4

DL_EventTrigger/T3

EventConf/T5

[EventRead]/T4

Inactive_0

/Initialization

EH_Config_ACTIVE/T1

EH_Config_INACTIVE/T7

EH_Config_ACTIVE/T1

EH_Config_INACTIVE/T7

1529

1530

1531

1532

Figure 52 – Device state machine of the event handler

Table 52 shows the state transition tables of the Device event handler.

Table 52 – State transition tables of the Device event handler

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on activation

Idle_1 Waiting on firing event flag

FreezeEventTable_2 Reading event buffer and waiting on event buffer confirmation 1533

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 1 Change event table entries

T3 1 2 Indicate activated event flag state to frame handler

T4 2 2 Send event data by casting CMD.rsp with event data

Page 92: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 92 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T5 2 1 Indicate cleared event flag state to frame handler. Mark all events as changeable

T6 1 1 Send event data by casting CMD.rsp with event data

T7 1 0 - 1534

INTERNAL ITEMS TYPE DEFINITION

ModifyEventPage Service Any changes within the event buffer by DL_Event

EventRead Service CMD.ind(R, EVENT, Address, ...)

EventConf Service CMD.ind(W, EVENT, 0, DontCare)

1535

1538 1539

8 Application layer 1536

8.1 General 1537

Figure 53 provides an overview of the structure and services of the Master application layer (AL).

SystemManagement

DL_

Eve

nt

DL_

PD

Out

-pu

tUp

date

DL_

PD

Inp

ut-

Tra

nspo

rt

DL_

Re

ad-

Par

am

DL_

Writ

e-P

aram

DL_

ISD

U-

Tra

nspo

rt

DL_

Co

ntro

l

DL_

PD

Cyc

le

SM

_Set

Por

tCon

fig

SM

_Por

tMo

de

SM

_Get

Por

tCo

nfig

SM

_Op

erat

e

Application Layer

Data Link Layer

SIODI / DO

DL_SetMode

DL_Read

DL_Write

Process dataobjects

On-request dataobjects

AL

AL_

Re

ad

AL_

Writ

e

AL_

Ab

ort

AL_

Co

ntro

l

AL_

Eve

nt

AL_

Get

Inpu

t

AL_

Ne

wIn

put

AL_

Set

Out

put

AL_

PD

Cyc

le

Port xHandler

Coordination On-request data handler Process data handler

Master applications

Gateway application (configuration, parameterization, diagnosis, on-request, and process data)

AL_Read

DL_

ISD

U-

Abo

rt

DL_

Eve

nt-

Con

f

Data Storage Process Data ExchangeConfiguration Manager Diagnosis UnitOn-request Data Exchange

1540

1541

1542 1543

Figure 53 – Structure and services of the application layer (Master)

Figure 54 provides an overview of the structure and services of the Device application layer (AL).

Page 93: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 93 – Working Draft

DL_

Eve

nt

DL_

PD

Inp

ut-

Upd

ate

DL_

PD

Out

put

-T

rans

port

DL_

Re

ad-

Par

am

DL_

Writ

e-P

aram

DL_

ISD

U-

Tra

nspo

rt

DL_

Co

ntro

l

DL_

PD

Cyc

le

DL_

Eve

nt-

Trig

ger

Systemmanage-ment

SM

_Set

Dev

iceI

dent

SM

_Get

De

vice

Com

m

SM

_Dev

iceM

ode

SM

_Set

Dev

iceC

omm

SM

_Get

De

vice

Iden

t

SM

_Set

Dev

iceM

ode

Linehandler

Application LayerProcess data

objectsOn-request data

objectsAL

AL_

Re

ad

AL_

Writ

e

AL_

Ab

ort

AL_

Co

ntro

l

AL_

Eve

nt

AL_

Set

Inpu

t

AL_

Get

Out

put

AL_

Ne

wO

utpu

t

AL_

PD

Cyc

le

SIODI / DOOn-request data handler Process data handler

Data Link Layer

Data Storage (DS)

Device applications

Process Data Exchange (PDE)

Technology specific application (technology parameter, diagnosis, process data)

Parameter Manager (PM) Event Dispatcher (ED)

DL_

ISD

U-

Abo

rt

1544

1545

1546

1549 1550 1551 1552

1553

Figure 54 – Structure and services of the application layer (Device)

8.2 Application layer services 1547

8.2.1 AL services within Master and Device 1548

This clause defines the services of the application layer (AL) to be provided to the Master and Device applications and system management via its external interfaces. Table 53 lists the assignments of Master and Device to their roles as initiator or receiver for the individual AL services. Empty fields indicate no availability of this service on Master or Device.

Table 53 – AL services within Master and Device

Service name Master Device

AL_Read R I

AL_Write R I

AL_Abort R I

AL_GetInput R

AL_NewInput I

AL_SetInput R

AL_PDCycle I I

AL_GetOutput R

AL_NewOutput I

AL_SetOutput R

AL_Event I / R R

AL_Control R

Key (see 3.3.4) I Initiator of service R Receiver (Responder) of service

1554

Page 94: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 94 – 61131-9/WD V0.5 IEC

8.2.2 AL Services 1555

8.2.2.1 AL_Read 1556

The AL_Read service is used to read on-request data from a Device connected to a specific port. The parameters of the service primitives are listed in

1557 1558

1559

Table 54.

Table 54 – AL_Read

Parameter name .req .ind .rsp .cnf

Argument M M

Port M

Index M M

Subindex M M

Result (+) S S(=)

Port M

Data M M(=)

Result (-) S S(=)

Port M

ErrorInfo M M(=)

1560 1561 1562

1563 1564

1565

1566 1567 1568 1569 1570 1571 1572 1573 1574 1575

1576

1577 1578 1579

1580

1581 1582

1583 1584

1585 1586

Argument The service-specific parameters of the service request are transmitted in the argument.

Port This parameter specifies the port number for the on-request data to be read.

Parameter type: Unsigned8

Index This parameter specifies the address of on-request data objects to be read from the Device. Index 0 in conjunction with Subindex 0 addresses the entire set of direct parameters from 0 to 15 (see direct parameter page 1 in Table B.1) or in conjunction with Subindices 1 to 16 the individual parameters from 0 to 15. Index 1 in conjunction with Subindex 0 addresses the entire set of direct parameters from addresses 16 to 31 (see direct parameter page 2 in Table B.1) or in conjunction with Subindices 1 to 16 the individual parameters from 16 to 31. It uses the page communication channel (Figure 5) for both and always returns a positive result. For all the other indices (B.2) the ISDU communication channel is used.

Permitted values: 0 to 65 535 (See B.2.1 for constraints)

Subindex This parameter specifies the element number within a structured on-request data object. A value of 0 indicates the entire set of elements.

Permitted values: 0 to 255

Result (+): This selection parameter indicates that the service request has been executed successfully.

Port This parameter specifies the port number of the on-request data to be read.

Data This parameter specifies the read values of the on-request data.

Page 95: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 95 – Working Draft

Parameter type: Octet string 1587

1588 1589

1590 1591

1592 1593

1594

1595

1596

1598 1599

1600

Result (-): This selection parameter indicates that the service request failed.

Port This parameter specifies the port number for the requested on-request data.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Parameter type: ErrorType (Annex C)

Permitted values: NO_COMM, STATE_CONFLICT, TIMEOUT, or equivalents to Annex C

8.2.2.2 AL_Write 1597

The AL_Write service is used to write on-request data to a Device connected to a specific port. The parameters of the service primitives are listed in Table 55.

Table 55 – AL_Write

Parameter name .req .ind .rsp .cnf

Argument M M

Port M

Index M M

Subindex M M

Data M M(=)

Result (+) S S(=)

Port M

Result (-) S S(=)

Port M

ErrorInfo M M(=)

1601 1602 1603

1604 1605

1606

1607 1608 1609 1610 1611 1612 1613 1614

1615

1616

Argument The service-specific parameters of the service request are transmitted in the argument.

Port This parameter specifies the port number for the on-request data to be written.

Parameter type: Unsigned8

Index This parameter specifies the address of on-request data objects to be written to the Device. Index 0 always returns a negative result. Index 1 in conjunction with Subindex 0 addresses the entire set of direct parameters from addresses 16 to 31 (see Direct Parameter page 2 in Table B.1) or in conjunction with subindices 1 to 16 the individual parameters from 16 to 31. It uses the page communication channel (Figure 5) in case of Index 1 and always returns a positive result. For all the other Indices (B.2) the ISDU communication channel is used.

Permitted values: 1 to 65 535 (Table 91)

Subindex

Page 96: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 96 – 61131-9/WD V0.5 IEC

This parameter specifies the element number within a structured on-request data object. A value of 0 indicates the entire set of elements.

1617 1618

1619

1620 1621

1622

1623 1624

1625 1626

1627 1628

1629 1630

1631 1632

1633

1634

1635

1637 1638 1639

1640

Permitted values: 0 to 255

Data This parameter specifies the values of the on-request data to be written.

Parameter type: Octet string

Result (+): This selection parameter indicates that the service request has been executed successfully.

Port This parameter specifies the port number of the on-request data to be written.

Result (-): This selection parameter indicates that the service request failed.

Port This parameter specifies the port number for the requested on-request data.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Parameter type: ErrorType (Annex C)

Permitted values: NO_COMM, STATE_CONFLICT, TIMEOUT or equivalents to Annex C

8.2.2.3 AL_Abort 1636

The AL_Abort service is used to abort a current AL_Read or AL_Write service on a specific port. Call of this service abandons the response to an AL_Read or AL_Write service in progress on the Master. The parameters of the service primitives are listed in Table 55.

Table 56 – AL_Abort

Parameter name .req .ind

Argument M M

Port M

1641 1642 1643

1644 1645

1646

1648 1649 1650

1651

Argument The service-specific parameters of the service request are transmitted in the argument.

Port This parameter specifies the port number of the services to be abandoned.

8.2.2.4 AL_GetInput 1647

The AL_GetInput service reads the input data within the process data provided by the data link layer of a Device connected to a specific port. The parameters of the service primitives are listed in Table 57.

Page 97: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 97 – Working Draft

Table 57 – AL_GetInput 1652

Parameter name .req .cnf

Argument M

Port M

Result (+) S

Port M

InputData M

Result (-) S

Port M

ErrorInfo M

Argument 1653 1654

1655 1656

1657 1658

1659 1660

1661 1662 1663

1664

1665 1666

1667 1668

1669 1670

1671

1672

1673

1675 1676 1677

1678

The service-specific parameters of the service request are transmitted in the argument.

Port This parameter specifies the port number for the process data to be read.

Result (+): This selection parameter indicates that the service request has been executed successfully.

Port This parameter specifies the port number for the process data to be read.

InputData This parameter contains the values of the requested process input data of the specified port.

Parameter type: Octet string

Result (-): This selection parameter indicates that the service request failed.

Port This parameter specifies the port number for the process data to be read.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Parameter type: ErrorType (Annex C)

Permitted values: NO_COMM, NOT_CONNECTED, NO_DATA or equivalent to Annex C

8.2.2.5 AL_NewInput 1674

The AL_NewInput local service indicates the receipt of updated input data within the process data of a Device connected to a specific port. The parameters of the service primitives are listed in Table 58.

Table 58 – AL_NewInput

Parameter name .ind

Argument M

Port M

Argument 1679 1680 The service-specific parameters of the service request are transmitted in the argument.

Page 98: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 98 – 61131-9/WD V0.5 IEC

Port 1681 1682

1683

1685 1686

1687

This parameter specifies the port number of the received process data.

8.2.2.6 AL_SetInput 1684

The AL_SetInput local service updates the input data within the process data of a Device. The parameters of the service primitives are listed in Table 59.

Table 59 – AL_SetInput

Parameter name .req .cnf

Argument M

InputData M

Result (+) S

Result (-) S

ErrorInfo M

1688 1689 1690 1691

1692 1693

1694

1695 1696

1697 1698

1699 1700

1701

1702

1703

1705 1706 1707

1708

Argument The service-specific parameters of the service request are transmitted in the argument.

InputData This parameter contains the process data values of the input data to be transmitted.

Parameter type: Octet string

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request has failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Parameter type: ErrorType (Annex C)

Permitted values: STATE_CONFLICT or equivalent to Annex C

8.2.2.7 AL_PDCycle 1704

The AL_PDCycle local service indicates the end of a process data cycle. The Device application can use this service to transmit new input data to the application layer via AL_SetInput. The parameters of the service primitives are listed in Table 60.

Table 60 – AL_PDCycle

Parameter name .ind

Argument

Port O

1709 1710 1711

Argument The service-specific parameters of the service request are transmitted in the argument.

Page 99: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 99 – Working Draft

Port 1712 1713

1714

1716 1717

1718

This parameter specifies the port number of the received new process data.

8.2.2.8 AL_GetOutput 1715

The AL_GetOutput service reads the output data within the process data provided by the data link layer of the Device. The parameters of the service primitives are listed in Table 61.

Table 61 – AL_GetOutput

Parameter name .req .cnf

Argument M

Result (+) S

OutputData M

Result (-) S

ErrorInfo M

1719 1720 1721

1722 1723

1724 1725 1726

1727

1728 1729

1730 1731

1732

1733 1734

1735

1737 1738

1739

1741 1742

Argument The service-specific parameters of the service request are transmitted in the argument.

Result (+): This selection parameter indicates that the service request has been executed successfully.

OutputData This parameter contains the process data values of the requested output data for the specified port.

Parameter type: Octet string

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Parameter type: ErrorType (Annex C)

Permitted values: NO_COMM, NOT_CONNECTED, NO_DATA, CONFIG_FAULT or equivalents to Annex C

8.2.2.9 AL_NewOutput 1736

The AL_NewOutput local service indicates the receipt of updated output data within the process data of a Device. This service has no parameters.

8.2.2.10 AL_SetOutput 1740

The AL_SetOutput local service updates the output data within the process data of a Master. The parameters of the service primitives are listed in Table 62.

Page 100: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 100 – 61131-9/WD V0.5 IEC

Table 62 – AL_SetOutput 1743

Parameter name .req .cnf

Argument M

Port M

OutputData M

Result (+) S

Port M

Result (-) S

Port M

ErrorInfo M

1744 1745 1746

1747 1748

1749 1750 1751

1752

1753 1754

1755 1756

1757 1758

1759 1760

1761 1762

1763

1764

1766 1767 1768 1769

1770

Argument The service-specific parameters of the service request are transmitted in the argument.

Port This parameter specifies the port number of the process data to be written.

OutputData This parameter contains the ProcessDataIn the output data to be written at the specified port.

Parameter type: Octet string

Result (+): This selection parameter indicates that the service request has been executed successfully.

Port This parameter specifies the port number for the process data to be written.

Result (-): This selection parameter indicates that the service request failed.

Port This parameter specifies the port number for the process data to be written.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Parameter type: ErrorType (Annex C)

Permitted values: STATE_CONFLICT or equivalents to Annex C

8.2.2.11 AL_Event 1765

The AL_Event service indicates up to 6 pending status or error messages. The source of one event can be local (Master) or remote (Device). The event can be triggered by a communication layer or by an application. The parameters of the service primitives are listed in Table 63.

Table 63 – AL_Event

Parameter name .req .ind .rsp .cnf

Argument M M M

Port M M

EventCount M M

Page 101: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 101 – Working Draft

Parameter name .req .ind .rsp .cnf

Event(1) Instance M M

Mode M M

Type M M

Local M

EventCode M M

Event(n) Instance M M

Mode M M

Type M M

Local M

EventCode M M

1771 1772 1773

1774 1775

1776 1777

1778 1779 1780

1781 1782

1783

1784 1785

1786

1787 1788

1789

1790 1791 1792

1793 1794

1795

1797 1798

Argument The service-specific parameters of the service request are transmitted in the argument.

Port This parameter specifies the port number of the event data.

EventCount This parameter specifies the number n (1…6) of Events in the Event buffer.

Event(x) Depending on EventCount this parameter exists n times. Each instance contains the following elements.

Instance This parameter specifies the event source.

Permitted values: unknown, PL, DL, AL, Application

Mode This parameter specifies the event mode.

Permitted values: SINGLESHOT, APPEARS, DISAPPEARS

Type This parameter specifies the event category.

Permitted values: ERROR, WARNING, MESSAGE

Local This parameter indicates that the event was generated in the local communication section. Permitted values: LOCAL, REMOTE

EventCode This parameter contains a code identifying the event.

Permitted values: see Annex C

8.2.2.12 AL_Control 1796

The AL_Control service contains the process data state information transmitted to the Device application. The parameters of the service primitives are listed in Table 64.

Page 102: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 102 – 61131-9/WD V0.5 IEC

Table 64 – AL_Control 1799

Parameter name .req .ind

Argument M M

Port C C

ControlCode M M

1800 1801 1802

1803 1804

1805 1806

1807

1808

1809

1812 1813 1814 1815

1818 1819 1820

Argument The service-specific parameters are transmitted in the argument.

Port This parameter specifies the port number of the event data.

ControlCode This parameter contains a code identifying the state of the process data.

Permitted values: PD_VALID, PD_INVALID

8.3 Application layer protocol 1810

8.3.1 Overview 1811

Figure 6 shows that the application layer offers services for data objects which are transformed into the special communication channels of the data link layer. The application layer manages the data transfer with all its assigned ports. That means, AL service calls need to identify the particular port they are related to.

8.3.2 On-request Data transfer 1816

8.3.2.1 OD state machine of the Master AL 1817

Figure 55 shows the state machine for the handling of On-request Data (OD) within the application layer. "AL_Service" represents any AL service in Table 53 related to OD. "Portx" indicates a particular port number.

Page 103: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 103 – Working Draft

/Initialization

OnReq_Idle_0AL_Abort_Portx/T17AL_Abort_Portx/T17

Build_DL_Service_1

AL_Service_Portx/T1AL_Service_Portx/T1

Await_DL_Param_cnf_2

AL_Read[ Index <=1]/T3

AL_Write[ Index =1]/T4

AL_Write[ Index = 2 &Not_ISDU_flag]/T5

DL_RWParam[ Octets_left]/T10

AL_Service/T8

AL_Read[ Index <=1]/T3

AL_Write[ Index =1]/T4

AL_Write[ Index = 2 &Not_ISDU_flag]/T5

DL_RWParam[ Octets_left]/T10

AL_Service/T8

Await_DL_ISDU_cnf_3

AL_Read[ Index >=2 & ISDU_flag]/T6

AL_Service/T12

AL_Write[ Index >=2 &ISDU_flag]/T7

AL_Read[ Index >=2 & ISDU_flag]/T6

AL_Service/T12

AL_Write[ Index >=2 &ISDU_flag]/T7

[Argument_Error]/T2

Build_AL_cnf_4

DL_ReadParam_cnf[Completed]/T13

AL_Abort/T9

DL_WriteParam_cnf[Completed]/T14

AL_Abort/T11

DL_ISDUTransport_cnf/T15

AL_Service_Portx/T16

[Argument_Error]/T2

DL_ReadParam_cnf[Completed]/T13

AL_Abort/T9

DL_WriteParam_cnf[Completed]/T14

AL_Abort/T11

DL_ISDUTransport_cnf/T15

AL_Service_Portx/T16

1821

1822

1823

1824

Figure 55 – OD state machine of the Master AL

Table 65 shows the states and transitions for the OD state machine of the Master AL.

Table 65 – States and transitions for the OD state machine of the Master AL

STATE NAME STATE DESCRIPTION

OnReq_Idle_0 AL service calls from the Master applications can be accepted within this state.

Build_DL_Service_1 Within this state AL service calls are checked and corresponding DL services are created within the subsequent states. In case of an error in the arguments of the AL service a negative AL confirmation is created and returned.

Await_DL_Param_cnf_2 Within this state the AL service call is transformed in a sequence of as many DL_ReadParam or DL_WriteParam calls as needed (Direct Parameter page access; see page communication channel in Figure 5). All asynchronously occurred AL service calls but an AL_Abort are rejected (see 3.3.6).

Await_DL_ISDU_cnf_3 Within this state the AL service call is transformed in a DL_ISDUTransport service call (see ISDU communication channel in Figure 5). All asynchronously occurred AL service calls but an AL_Abort are rejected (see 3.3.6).

Build_AL_cnf_4 Within this state an AL service confirmation is created depending on an argument error, the DL service confirmation, or an AL_Abort.

1825

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 Memorize the port number "Portx".

T2 1 4 Prepare negative AL service confirmation.

T3 1 2 Prepare DL_ReadParam for Index 0 or 1.

T4 1 2 Prepare DL_WriteParam for Index 1.

Page 104: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 104 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T5 1 2 Prepare DL_WriteParam for Index 2 if the Device does not support ISDU.

T6 1 3 Prepare DL_ ISDUTransport(read)

T7 1 3 Prepare DL_ ISDUTransport(write)

T8 2 2 Return negative AL service confirmation on this asynchronous service call.

T9 2 4 All current DL service actions are abandoned and a negative AL service confirmation is prepared.

T10 2 2 Call next DL_ReadParam or DL_WriteParam service if not all OD are transferred.

T11 3 4 All current DL service actions are abandoned and a negative AL service confirmation is prepared.

T12 3 3 Return negative AL service confirmation on this asynchronous service call.

T13 2 4 Prepare positive AL service confirmation.

T14 2 4 Prepare positive AL service confirmation.

T15 3 4 Prepare positive AL service confirmation.

T16 4 0 Return AL service confirmation with port number "Portx".

T17 0 0 Return negative AL service confirmation. 1826

INTERNAL ITEMS TYPE DEFINITION

Argument_Error Bool Illegal values within the service body, for example "Port number or Index out of range"

Completed Bool No more OD left for transfer

Octets_left Bool More OD for transfer

Portx Variable Service body variable indicating the port number

ISDU_Flag Bool Device supports ISDU

1827

1829 1830

8.3.2.2 OD state machine of the Device AL 1828

Figure 56 shows the state machine for the handling of On-request Data (OD) within the application layer of a Device.

/Initialization

Idle_0

AL_Abort/T11AL_Abort/T11

DL_WriteParam_ind/T1Await_AL_Write_rsp_1

AL_Write_rsp/T2

DL_WriteParam_ind/T1

AL_Write_rsp/T2

Await_AL_Read_rsp_2

DL_ReadParam_ind/T3

AL_Read_rsp/T4

DL_ReadParam_ind/T3

AL_Read_rsp/T4

AL_Read_rsp/T7

Await_AL_RW_rsp_3

AL_Write_rsp/T8

AL_Abort/T9

DL_ISDUAbort/T10

DL_ISDUTransport_ind[DirRead]/T5

DL_ISDUTransport_ind[DirWrite]/T6

AL_Read_rsp/T7

AL_Write_rsp/T8

AL_Abort/T9

DL_ISDUAbort/T10

DL_ISDUTransport_ind[DirRead]/T5

DL_ISDUTransport_ind[DirWrite]/T6

1831

1832

1833

Figure 56 – OD state machine of the Device AL

Table 66 shows the states and transitions for the OD state machine of the Device AL.

Page 105: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 105 – Working Draft

Table 66 – States and transitions for the OD state machine of the Device AL 1834

STATE NAME STATE DESCRIPTION

Idle_0 The Device AL is waiting on subordinated DL service calls triggered by Master messages.

Await_AL_Write_rsp_1 The Device AL is waiting on a response from the technology specific application (write access to Direct Parameter page).

Await_AL_Read_rsp_2 The Device AL is waiting on a response from the technology specific application (read access to Direct Parameter page).

Await_AL_RW_rsp_3 The Device AL is waiting on a response from the technology specific application (read or write access via ISDU).

1835 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 Create AL_Write.

T2 1 0 Create DL_WriteParam (16…31).

T3 0 2 Create AL_Read.

T4 2 0 Create DL_ReadParam (0…31).

T5 0 3 Create AL_Read.

T6 0 3 Create AL_Write.

T7 3 0 Create DL_ ISDUTransport(read)

T8 3 0 Create DL_ ISDUTransport(write)

T9 3 0 Current AL_Read or AL_Write abandoned upon this asynchronous AL_Abort service call. Return negative DL_ ISDUTransport (see 3.3.6).

T10 3 0 Current waiting on AL_Read or AL_Write abandoned.

T11 0 0 Current DL_ ISDUTransport abandoned. All OD are set to "0". 1836

INTERNAL ITEMS TYPE DEFINITION

DirRead Bool Access direction: DL_ ISDUTransport(read) causes an AL_Read

DirWrite Bool Access direction: DL_ ISDUTransport(write) causes an AL_Read

1837

1839 1840

1841 1842 1843 1844

8.3.2.3 Sequence diagrams for On-request Data 1838

Figure 57 through Figure 59 demonstrate complete interactions between Master and Device for several On-request Data exchange use cases.

Figure 57 demonstrates two examples for the exchange of On-request Data. For Indices > 1 this is performed with the help of ISDUs and corresponding DL services (ISDU communication channel according to Figure 5). Access to Direct Parameter pages 0 and 1 uses different DL services (page communication channel according to Figure 5)

Page 106: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 106 – 61131-9/WD V0.5 IEC

MasterApp

MasterAL

AL_Read_req(Index <= 1)

AL_Read_req(Index > 1)

AL_Read_cnf()

AL_Read_cnf()

AL_Read_req(Index <= 1)

AL_Read_req(Index > 1)

AL_Read_cnf()

AL_Read_cnf()

MasterDL

Portx

DL_ReadParam_ind()

DL_ISDUTransport_req()

DL_ReadParam_cnf()

DL_ISDUTransport_cnf()

DL_ReadParam_ind()

DL_ISDUTransport_req()

DL_ReadParam_cnf()

DL_ISDUTransport_cnf()

DeviceDL

Message()

Message()

Message()

Message()

Message()

Message()

Message()

Message()

DL_ReadParam_rsp()

DeviceAL

DL_ISDUTranspot_rsp()

DL_ReadParam_ind()

DL_ISDUTransport_ind()

DL_ReadParam_rsp()

DL_ISDUTranspot_rsp()

DL_ReadParam_ind()

DL_ISDUTransport_ind()

AL_Read_rsp()

DeviceApp

AL_Read_rsp()

AL_Read_ind(Index <=1)

AL_Read_rsp()

AL_Read_ind()

AL_Read_ind(Index <=1)

AL_Read_rsp()

AL_Read_ind()

Read Direct Parameter page 0 or 1

Read Parameter via ISDU

1845

1846

1847 1848

1849 1850 1851 1852 1853

Figure 57 – Sequence diagram for the transmission of On-request Data

Figure 58 demonstrates the behaviour of On-request Data exchange in case of an error such as requested Index not available (Table C.1).

Another possible error occurs when the Master application (gateway) tries to read an Index > 1 from a Device, which does not support ISDU. The Master AL would respond immediately with "NO_ISDU_SUPPORTED" as the features of the Device are acquired during start-up through reading the Direct Parameter page 1 via the parameter "F-sequence Capability" (Table B.1).

Page 107: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 107 – Working Draft

MasterApp

MasterAL

AL_Read_cnf()

AL_Read_req(Index > 1)

AL_Read_cnf()

AL_Read_req(Index > 1)

MasterDL

Portx

DL_ISDUTransport_req()

DL_ISDUTransport_cnf()

DL_ISDUTransport_req()

DL_ISDUTransport_cnf()

DeviceDL

Message()

Message()

Message()

Message()

DeviceAL

DL_ISDUTransport_ind()

DL_ISDUTransport_rsp()

DL_ISDUTransport_ind()

DL_ISDUTransport_rsp()

AL_Read_ind()

DeviceApp

AL_Read_ind()

AL_Read_rsp()AL_Read_rsp()

ErrorInfo:IDX_NOTAVAILErrorInfo:

IDX_NOTAVAIL

Device application responds with error information"Index not available" (0x8011, IDX_NOTAVAIL)

1854

1855

1856 1857

1858

Figure 58 – Sequence diagram for On-request Data in case of errors

Figure 59 demonstrates the behaviour of On-request Data exchange in case of an ISDU timeout (5 500 ms). A Device shall respond within less than 5 000 ms (10.7.4).

NOTE See Table 91 for system constants such as ISDU timeout.

MasterApp

MasterAL

AL_Read_cnf()

AL_Read_req()

AL_Read_cnf()

AL_Read_req()

DL_ISDUTransport_cnf()

MasterDL

Portx

DL_ISDUTransport_req()

Tm(5500)

DL_ISDUTransport_cnf()

DL_ISDUTransport_req()

Tm(5500)

DeviceDL

Message()

Message()

Message()

Message()

DL_ISDUTransport_ind()

DeviceAL

DL_ISDUTransport_ind()

DL_Abort_ind()DL_Abort_ind()

AL_Read_ind()

DeviceApp

AL_Abort_ind()

AL_Read_rsp()

<5000 ms>

AL_Read_ind()

AL_Abort_ind()

AL_Read_rsp()

<5000 ms>

FlowCTRL = Abort

ErrorInfo =TIMEOUT

ErrorInfo =TIMEOUT Reaction of the Device

application missing or too late (usually an implementation error)

Abort current ISDU action

1859

1860 Figure 59 – Sequence diagram for On-request Data in case of timeout

Page 108: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 108 – 61131-9/WD V0.5 IEC

8.3.3 Event processing 1861

8.3.3.1 Event state machine of the Master AL 1862

1863 Figure 60 shows the Event state machine of the Master application layer.

/Initialization

Event_inactive_0

Activate/T1

Event_idle_1

Deactivate/T2

Activate/T1

Deactivate/T2

Read_Event_Set_2

DL_Event_ind[Diag_Portx]/T3

DL_Event_ind[Events_left]/T4

DL_Event_ind[Diag_Portx]/T3

DL_Event_ind[Events_left]/T4

AL_Event_rsp/T6

DU_Event_handling_3DL_Event_ind[Events_done]/T5

AL_Event_rsp/T6

DL_Event_ind[Events_done]/T5

1864

1865

1866 1867

1868

Figure 60 – Event state machine of the Master AL

Table 67 specifies the states and transitions of the Event state machine of the Master application layer.

Table 67 – State and transitions of the Event state machine of the Master AL

STATE NAME STATE DESCRIPTION

Event_inactive_0 The AL Event handling of the Master is inactive.

Event_idle_1 The Master AL is ready to accept DL_Events (diagnosis information) from the DL.

Read_Event_Set_2 The Master AL received a DL_Event_ind with diagnosis information. After this first DL_Event.ind, the AL collects the complete set (1 to 6) of DL_Events of the current EventTrigger (see 11.5).

DU_Event_handling_3 The Master AL remains in this state as long as the Diagnosis Unit (see 11.5) did not acknowledge the AL_Event.ind.

1869

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 0 -

T3 1 2 -

T4 2 2 -

T5 2 3 AL_Event.ind

T6 3 1 DL_EventConf.req 1870

INTERNAL ITEMS TYPE DEFINITION

Diag_Portx Bool Event set contains diagnosis information with details.

Events_done Bool Event set is processed.

Events_left Bool Event set not yet completed.

Page 109: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 109 – Working Draft

8.3.3.2 Event state machine of the Device AL 1871

1872 Figure 61 shows the Event state machine of the Device application layer

/Initialization

Event_inactive_0

Activate/T1

Event_idle_1

Activate/T1

Deactivate/T2Deactivate/T2

Await_Event_response_2

AL_Event_req/T3

DL_EventTrigger_cnf/T4

AL_Event_req/T3

DL_EventTrigger_cnf/T4

1873

1874

1875 1876

1877

Figure 61 – Event state machine of the Device AL

Table 68 specifies the states and transitions of the Event state machine of the Device application layer

Table 68 – State and transitions of the Event state machine of the Device AL

STATE NAME STATE DESCRIPTION

Event_inactive_0 The AL Event handling of the Device is inactive.

Event_idle_1 The Device AL is ready to accept AL_Events (diagnosis information) from the technology specific Device applications for the transfer to the DL. The Device applications can create new Events during this time.

Await_event_response_2 The Device AL propagated an AL_Event with diagnosis information and waits on a DL_EventTrigger confirmation of the DL. The Device applications are not permitted to create new Events during this time.

1878

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 0 -

T3 1 2 An AL_Event request triggers a DL_Event and the corresponding DL_EventTrigger service. The DL_Event carries the diagnosis information from AL to DL. The DL_EventTrigger sets the Event flag within the cyclic data exchange (see A.1.5)

T4 2 1 A DL_EventTrigger confirmation triggers an AL_Event confirmation. 1879

INTERNAL ITEMS TYPE DEFINITION

none

1880

1881

1883 1884

8.3.4 Process data cycles 1882

Figure 62 and Figure 63 demonstrate complete interactions between Master and Device for output and input Process Data use cases.

Page 110: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 110 – 61131-9/WD V0.5 IEC

1885 1886 1887

Figure 62 demonstrates how the AL and DL services of Master and Device are involved in the cyclic exchange of output Process Data. The Device application is able to acquire the current values of output PD via the AL_GetOutput service.

MasterApp

MasterAL

AL_SetOutput_req(Portx)

AL_SetOutput_req(Portx)

AL_SetOutput_req(Portx)

AL_SetOutput_req(Portx)

AL_SetOutput_req(Portx)

AL_SetOutput_req(Portx)

MasterDL

Portx

DL_PDOutputUpdate_req()

DL_PDOutputUpdate_req()

DL_PDOutputUpdate_req()

DL_PDOutputUpdate_req()

DL_PDOutputUpdate_req()

DL_PDOutputUpdate_req()

Message()

Dev iceDL

Message()

<Cy cle time>

Message()

Message()

Message()

<Cy cle time>

Message()

DL_PDOutputTransport_ind()

Dev iceAL

DL_PDOutputTransport_ind()

DL_PDOutputTransport_ind()

DL_PDOutputTransport_ind()

DL_PDOutputTransport_ind()

DL_PDOutputTransport_ind()

AL_NewOutput_ind()

Dev iceApp

AL_NewOutput_ind()

AL_NewOutput_ind()

AL_GetOutput_req()

AL_GetOutput_cnf ()

AL_NewOutput_ind()

AL_NewOutput_ind()

AL_NewOutput_ind()

AL_GetOutput_req()

AL_GetOutput_cnf ()

...

......

...

...

Asynchronous access to output Process Data

1888

1889

1890 1891 1892

Figure 62 – Sequence diagram for output Process Data

Figure 63 demonstrates how the AL and DL services of Master and Device are involved in the cyclic exchange of input Process Data. The Master application is able to acquire the current values of input PD via the AL_GetInput service.

Page 111: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 111 – Working Draft

MasterApp

MasterAL

AL_NewInput_ind()

AL_NewInput_ind()

AL_GetInput_req()

AL_GetInput_cnf()

AL_NewInput_ind()

AL_NewInput_ind()

AL_NewInput_ind()

AL_GetInput_req()

AL_GetInput_cnf()

AL_NewInput_ind()

MasterDL

Portx

DL_PDInputTransport_req()

DL_PDInputTransport_req()

<Cycle time>

DL_PDInputTransport_req()

DL_PDInputTransport_req()

DL_PDInputTransport_req()

<Cycle time>

DL_PDInputTransport_req()

DeviceDL

Message()

Message()

Message()

Message()

Message()

Message()

DeviceAL

DL_PDCycle_ind()

DL_PDInputUpdate_req()

DL_PDInputUpdate_cnf()

DL_PDCycle_ind()

DL_PDCycle_ind()

DL_PDCycle_ind()

DL_PDInputUpdate_req()

DL_PDInputUpdate_cnf()

DL_PDCycle_ind()

DL_PDCycle_ind()

DeviceApp

AL_PDCycle_ind()

AL_SetInput_req()

AL_SetInput_cnf()

AL_PDCycle_ind()

AL_PDCycle_ind()

AL_PDCycle_ind()

AL_SetInput_req()

AL_SetInput_cnf()

AL_PDCycle_ind()

AL_PDCycle_ind()

... ...

......

...

Asynchronous access to input Process Data

Device application sets input Process Data for cyclic transmission by the frame handler

1893

1894

1897 1898 1899 1900 1901

1904 1905

1906

1907

1908

1909

Figure 63 – Sequence diagram for input Process Data

9 System management (SM) 1895

9.1 General 1896

The SDCI system management is responsible for the coordinated startup of the ports within the Master and the corresponding operations within the connected Devices. The difference between the SM of the Master and the Device is more significant than with the other layers. Consequently, the structure of this clause separates the services and protocols of Master and Device.

9.2 System management of the Master 1902

9.2.1 Overview 1903

The Master system management services are used to set up the Master system for all possible operational modes such as "wake-up", "startup", "preoperate", and "operate".

The Master SM adjusts ports through

establishing the required communication protocol revision

checking the Device compatibility (actual Device identifications match expected values)

adjusting adequate Master F-sequence types and MasterCycleTimes

Page 112: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 112 – 61131-9/WD V0.5 IEC

For this it uses the following services shown in Figure 64: 1910

1911 1912 1913

1914 1915 1916

1917

1918

1919 1920

1921 1922

SM-SetPortConfig transfers the necessary Device parameters (configuration data) from Configuration Management (CM) to System Mangement (SM). The port is then started implicitely.

SM-PortMode reports the positive result of the port setup back to CM in case of correct port setup and validation. It reports the negative result back to CM via corresponding "errors" in case of mismatching revisions and incompatible Devices.

SM-GetPortConfig provides the actual and effective parameters.

SM-Operate switches the ports into the "Operate" mode.

Figure 64 provides an overview of the structure and services of the Master system management.

The Master system management needs one application layer service (AL_Read) to acquire data (identification parameter) from special Indices for validation.

SystemManagement

Coordi-nation

SM

_S

et-

Por

tCon

fig

SM

_Por

t-M

ode

SM

_Ge

t-P

ortC

onfig

SM

_Op

erat

e

Port xHandler

MasterDL-modehandler

Framehandler

DL_SetMode

DL_Mode

DL_Read

DL_Write

On-request datahandler

Process datahandler

DL-B

DL-A

PD

.re

q

PD

.cn

f

DL_

Eve

nt

DL

_PD

Out

-pu

tUpd

ate

DL_

PD

Inp

ut-

Tra

nsp

ort

DL_

Re

ad-

Par

am

DL

_Writ

eP

ara

m

DL_

ISD

U-

Tra

nspo

rt

DL_

Co

ntro

l

DL_

PD

Cyc

le

CMD.req

CMD.cnf

Application Layer

CM

D.r

eq

CM

D.c

nf

Eve

ntF

lag.

ind

PL_Transfer.req PL_Transfer.indPL_WakeUp.req

Physical Layer (port)

(Wake-up) (Switching signal)(Coded switching)Inactive

PL_Mode.req

SIODI / DO

Mode switch

AL_Read

Master applications

Gateway application (configuration, parameterization, diagnosis, on-request, and process data)

DL_

ISD

U-

Ab

ort

DL_

Eve

nt-

Con

f

FHInfo

PD

Inva

lid

Data Storage Process Data ExchangeConfiguration Manager Diagnosis UnitOn-request Data Exchange

PD

Trig

Co

mT

rig

1923

1924

1925 1926 1927

1928

1929

1930

1931 1932

Figure 64 – Structure and services of the Master system management

Figure 65 demonstrates the actions between the layers Master application (Master App), Configuration Management (CM), System Management (SM), Data Link (DL) and Application Layer (AL) for the startup use case of a particular port.

This particular use case is characterized by the following statements:

The Device for the available configuration is connected and validation is OK

The Device uses the correct protocol version according to this specification

The configured InspectionLevel is "type compatible" (SerialNumber is read out of the Device and not checked).

Page 113: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 113 – Working Draft

Dotted arrows in Figure 65 represent response services to an initial service. 1933

1934

CM SM

SM_GetPortConfig_req()

SM_PortMode_ind(CFGCOM)

Reply()

SM_SetPortConfig_req()

SM_PortMode_ind(OPERATE)

SM_Operate()

SM_GetPortConfig_req()

SM_PortMode_ind(CFGCOM)

Reply()

SM_SetPortConfig_req()

SM_PortMode_ind(OPERATE)

SM_Operate()

DL_SetMode_req()

DL_Port_x

DL_Mode_ind(STARTUP)

DL_SetMode_req()

DL_Read()

DL_Mode_ind(OPERATE)

DL_Mode_ind(PREOPERATE)

DL_SetMode_req(PREOPERATE)

Reply()

DL_SetMode_req()

DL_Mode_ind(STARTUP)

DL_SetMode_req()

DL_Read()

DL_Mode_ind(OPERATE)

DL_Mode_ind(PREOPERATE)

DL_SetMode_req(PREOPERATE)

Reply()

AL_Read()

AL_Port_x

Reply()

AL_Read()

Reply()

MasterApp

OperatingMode(SDCI)

OperatingMode(SDCI)

Operate()

OperatingMode(SDCI)

OperatingMode(SDCI)

Operate()

Actions:- Wake up- Transmission rate detected- --> State STARTUP

Actions:- Check protocol revision- Check device compatibil ity- Frametype (PREOPERATE)- Cycle time (PREOPERATE)

Actions:--> State PREOPERATE

(Startup)

(Parameter l ist)

(Value list)

(Index: Serial number)Actions:- Check "Serial Number"

(Parameter l ist)

(Port x)

Actions:- Frametype (OPERATE)- Master Cycle Time (OPERATE)

Actions:--> State OPERATE

(Port x)

(Direct Parameter 1)

Actions:- Read Direct Parameter 1

(OPERATE, Parameter l ist)

...

1935

1936

1937

1940 1941 1942

Figure 65 – Sequence chart of the use case "port x setup"

9.2.2 SM Master services 1938

9.2.2.1 Overview 1939

System management provides the SM Master services to the user via its upper interface. Table 69 lists the assignment of the Master to its role as initiator or receiver for the individual SM services.

Page 114: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 114 – 61131-9/WD V0.5 IEC

Table 69 – SM services within the Master 1943

Service name Master

SM_SetPortConfig R

SM_GetPortConfig R

SM_PortMode I

SM_Operate R

Key (see 3.3.4) I Initiator of service R Receiver (Responder) of service

1944

1946 1947

1948

9.2.2.2 SM_SetPortConfig 1945

The SM_SetPortConfig service is used to set up the requested Device configuration. The parameters of the service primitives are listed in Table 70.

Table 70 – SM_SetPortConfig

Parameter name .req .cnf

Argument M

ParameterList M

Result (+) S

Port Number M

Result (-) S

Port Number M

ErrorInfo M

1949 1950 1951

1952 1953

1954

1955

1956 1957

1958 1959

1960

1961 1962

1963

1964 1965

1966

1967 1968

Argument The service-specific parameters of the service request are transmitted in the argument.

ParameterList This parameter specifies the configured Device parameter on a Master port.

Parameter type: Record

Record Elements:

Port Number This parameter specifies the port number

ConfiguredCycleTime This parameter specifies the requested cycle time for OPERATE mode

Permitted values: 0 = FreeRunning, time in µs

TargetMode This parameter specifies the requested operational mode

Permitted values: INACTIVE, DI, DO, CFGCOM, AUTOCOM (see Table 72)

ConfiguredBaudrate: This parameter specifies the requested transmission rate

Permitted values : AUTO, COM1, COM2, COM3

ConfiguredRevisionID (CRID): Data length: 1 octet for the protocol version (see B.1.6)

Page 115: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 115 – Working Draft

InspectionLevel: 1969 1970

1971 1972

1973 1974

1975 1976

1977 1978

1979 1980 1981

1982 1983

1984 1985

1986 1987

1988 1989

1990

1991

1992

1993

Permitted values: NO_CHECK, TYPE_COMP, IDENTICAL (see Table 71)

ConfiguredVendorID (CVID) Data length: 2 octets from the official vendor list (see Annex K)

ConfiguredDeviceID (CDID) Data length: 3 octets

ConfiguredFunctionID (CFID) Data length: 2 octets

ConfiguredSerialNumber (CSN) Data length: up to 16 octets

Result (+): This selection parameter indicates that the service request has been executed successfully

Port Number This parameter specifies the port number

Result (-): This selection parameter indicates that the service request failed

Port Number This parameter specifies the port number

ErrorInfo This parameter contains error information to supplement the Result parameter

Permitted values: OUT_OF_RANGE, STATE_CONFLICT

Table 71 specifies the coding of the different InspectionLevels (IL).

Table 71 – Definition of the InspectionLevel (IL)

InspectionLevel (IL) Parameter

NO_CHECK TYPE_COMP IDENTICAL

DeviceID (compatible)

- yes yes

VendorID - yes yes

SerialNumber - - yes

1994

1995

1996

Table 72 specifies the coding of the different Target Modes.

Table 72 – Definitions of the Target Modes

Target Mode Definition

CFGCOM

Device communicating in mode CFGCOM after successful validation

AUTOCOM Device communicating in mode AUTOCOM without validation

INACTIVE Communication disabled, no DI, no DO

DI Port in digital input mode (SIO)

DO Port in digital output mode (SIO)

1997

Page 116: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 116 – 61131-9/WD V0.5 IEC

CFGCOM is a Target Mode based on a configuration with the help of an IODD and consistency checking of RID, VID, DID.

1998 1999

2000 2001

2003 2004

2005

AUTOCOM is a Target Mode without configuration. That means no checking of CVID and CDID. The CRID is set to the highest revision the Master is supporting.

9.2.2.3 SM_GetPortConfig 2002

The SM_GetPortConfig service is used to acquire the real (actual) Device configuration. The parameters of the service primitives are listed in Table 73.

Table 73 – SM_GetPortConfig

Parameter name .req .cnf

Argument M

Port Number M

Result (+) S(=)

Parameterlist M

Result (-) S(=)

Port Number M

ErrorInfo M

2006 2007 2008

2009 2010

2011 2012

2013 2014

2015

2016

2017 2018

2019 2020

2021

2022 2023

2024

2025 2026

2027 2028

2029 2030

2031

Argument The service-specific parameters of the service request are transmitted in the argument.

Port Number This parameter specifies the port number

Result (+): This selection parameter indicates that the service request has been executed successfully.

ParameterList This parameter specifies the configured Device parameter on a Master port.

Parameter type: Record

Record Elements:

PortNumber This parameter specifies the port number.

TargetMode This parameter indicates the operational mode

Permitted values: INACTIVE, DI, DO, CFGCOM, AUTOCOM

RealBaudrate This parameter indicates the actual transmission rate

Permitted values: COM1, COM2, COM3

RealCycleTime This parameter indicates the real (actual) cycle time

RealRevision (RRID) Data length: 1 octet for the protocol version (see B.1.6)

RealVendorID (RVID) Data length: 2 octets from the official vendor list (Annex K)

RealDeviceID (RDID)

Page 117: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 117 – Working Draft

Data length: 3 octets 2032

2033 2034

2035 2036

2037 2038

2039 2040

2041 2042

2043

2044

2046 2047

2048

RealFunctionID (RFID) Data length: 2 octets

RealSerialNumber (RSN) Data length: up to 16 octets

Result (-): This selection parameter indicates that the service request failed

Port Number This parameter specifies the port number

ErrorInfo This parameter contains error information to supplement the Result parameter

Permitted values: OUT_OF_RANGE

All parameters shall be set to "0" if there is no information available.

9.2.2.4 SM_PortMode 2045

The SM_PortMode service is used to indicate changes or faults of the local communication mode. The parameters of the service primitives are listed in Table 74.

Table 74 – SM_PortMode

Parameter name .ind

Argument M

Port Number M

Mode M

2049 2050 2051

2052 2053

2054 2055 2056 2057

2058

2059

Argument The service-specific parameters of the service request are transmitted in the argument.

Port Number This parameter specifies the port number

Mode Permitted values: INACTIVE, DI, DO, CFGCOM, SM_OPERATE; see Table 75 for the port error modes: COMLOSS, REV_FAULT, COMP_FAULT, and SERNUM_FAULT

Table 75 defines the port error modes. These shall be reported to the Master application.

Table 75 – Definition of the port error modes

Mode Definition

COMLOSS Communication failed, new wake-up procedure required

REV_FAULT Incompatible protocol revision

COMP_FAULT Incompatible Device according to the InspectionLevel

SERNUM_FAULT Mismatching SerialNumber according to the InspectionLevel

2060

Page 118: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 118 – 61131-9/WD V0.5 IEC

9.2.2.5 SM_Operate 2061

The SM_Operate service prompts system management to calculate the MasterCycleTimes of the ports when they are acknowledged positively with Result (+). This service is effective on all the ports. The parameters of the service primitives are listed in

2062 2063 2064

2065

Table 76.

Table 76 – SM_Operate

Parameter name .req .cnf

Result (+) S

Result (-) S

ErrorInfo M

2066 2067 2068

2069 2070

2071 2072

2073

2074

2077 2078 2079 2080

2081 2082 2083

2084 2085

2087 2088 2089 2090 2091

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: TIMING_CONFLICT

9.2.3 SM Master protocol 2075

9.2.3.1 Overview 2076

Due to the comprehensive configuration, parameterization, and operational features of SDCI the description of the behavior with the help of state diagrams becomes rather complex. Similar to the DL state machines this section uses the possibility of submachines within the main state machines.

Comprehensive compatibility check methods are performed within the submachine states. These methods are indicated by "do method" fields within the state graphs, for example in Figure 67.

The corresponding decision logic is demonstrated via activity diagrams (Figure 68, Figure 69, Figure 70, and Figure 73).

9.2.3.2 SM Master state machine 2086

Figure 66 shows the main state machine of the System Mangement Master. Two submachines for the compatibility and serial number check are described in subsequent sections. In case of communication disruption the system management is informed via the DL_Mode service (COMLOSS). Only the SM_SetPortConfig service allows reconfiguration of a port. The service SM_Operate (effective on all ports) causes no effect in any state except in state "wait_4".

Page 119: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 119 – Working Draft

PortInactive_0

/Inialization

DL_Mode_STARTUP/T1

checkCompatibil ity_1 enex_6

enex_4enex_3enex_5 enex_2

enex_1

DL_Mode_STARTUP/T1

[CompOK]/T2

waitonDLPreoperate_2

[CompOK]/T2

checkSerNum_3

enex_12

enex_10

enex_11

DL_Mode_PREOPERATE/T8DL_Mode_PREOPERATE/T8

[SerNumOK]/T10

wait_4

[SerNumOK]/T10

SM_Operate/T12

SMOperate_5

SM_Operate/T12

DL_Mode_OPERATE/T13DL_Mode_OPERATE/T13

waitonDLOperate_7

[V10CompOK]/T4

DL_Mode_OPERATE/T9

[V10CompOK]/T4

DL_Mode_OPERATE/T9

ValidationFault_6

[CompFault]/T7

[RevisionFault]/T6

[V10CompFault]/T5

[SerNumFault]/T11

[CompFault]/T7

[RevisionFault]/T6

[V10CompFault]/T5

[SerNumFault]/T11 DIDO_8

DL_Mode_COMLOSS/T3DL_Mode_COMLOSS/T3

JoinPseudoState_9

SM_SetPortConfig[INACTIVE]/T14

SM_SetPortConfig[CFGCOM or AUTOCOM]/T15

SM_SetPortConfig[DI or DO]/T16

SM_SetPortConfig[INACTIVE]/T14

SM_SetPortConfig[CFGCOM or AUTOCOM]/T15

SM_SetPortConfig[DI or DO]/T16

2092

2093

2094

2095

Figure 66 – Main Master state machine of the System Management

Table 77 shows the state transition tables of the Master system management.

Table 77 – State transition tables of the Master system management

STATE NAME STATE DESCRIPTION

PortInactive_0 No communication

CheckCompatibility_1 Port is started and revision and Device compatibility is checked. See Figure 67.

waitonDLPreoperate_2 Wait until the state PREOPERATE is established and all the On-Request handlers are started. Port is ready to communicate.

CheckSerNum_3 SerialNumber is checked depending on the InspectionLevel (IL). See Figure 72.

wait_4 Port is ready to communicate and waits on service SM_Operate from CM.

SM Operate_5 Port is in state OPERATE and performs cyclic process data exchange.

ValidationFault_6 Port is ready to communicate. However, cyclic process data exchange cannot be performed due to incompatibilities.

waitonDLOperate_7 Wait on the requested state OPERATE in case of protocol version V1.0. The

Page 120: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 120 – 61131-9/WD V0.5 IEC

STATE NAME STATE DESCRIPTION

SerialNumber can be read thereafter.

DIDO_8 Port will be switched into the DI or DO mode (SIO, no communication)

JoinPseudoState_9 This pseudo state is used instead of a UML join bar. It allows execution of individual SM_SetPortConfig services depending on the system status (INACTIVE, CFGCOM, AUTOCOM, DI, or DO)

2096 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 CompRetry = 0

T2 1 2 DL_SetMode.req (PREOPERATE, ValueList)

T3 1,2,3,4,5,6,7

0 DL_SetMode.req (INACTIVE ) and SM_Mode.ind (COMLOSS) due to communiacation fault

T4 1 7 DL_SetMode.req (OPERATE, ValueList)

T5 1 6 SM_Mode.ind (COMP_FAULT), DL_SetMode.req (OPERATE, ValueList)

T6 1 6 SM_Mode.ind (REV_FAULT), DL_SetMode.req (PREOPERATE, ValueList)

T7 1 6 SM_Mode.ind (COMP_FAULT), DL_SetMode.req (PREOPERATE, ValueList)

T8 2 3 -

T9 7 3 -

T10 3 4 SM_Mode.ind (CFGCOM or AUTOCOM)

T11 3 6 SM_Mode.ind (SERNUM_FAULT)

T12 4 5 DL_SetMode.req (OPERATE, ValueList)

T13 5 5 -

T14 0,4,5,6,8 0 SM_Mode.ind (INACTIVE), DL_SetMode.req (INACTIVE)

T15 0,4,5,6,8 0 DL_SetMode.req (STARTUP, ValueList), PL_Mode.req (SDCI)

T16 0,4,5,6,8 8 PL_Mode.req (SIO), SM_Mode.ind (DI or DO), DL_SetMode.req (INACTIVE)

2097 INTERNAL ITEMS TYPE DEFINITION

CompOK Bool See Figure 70

CompFault Bool See Figure 70; error variable COMP_FAULT

RevisionFault Bool See Figure 68; error variable REV_FAULT

SerNumFault Bool See Figure 73; error variable SERNUM_FAULT

SerNumOK Bool See Figure 73

V10CompFault Bool See Figure 69; error variable COMP_FAULT

V10CompOK Bool See Figure 69

INACTIVE Variable A target mode in service SM_SetPortConfig

CFGCOM, AUTOCOM Variables Target Modes in service SM_SetPortConfig

2098

2100

9.2.3.3 SM Master submachine "Check Compatibility" 2099

Figure 67 shows the SM Master submachine checkCompatibility_1.

Page 121: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 121 – Working Draft

checkCompatibil ity_1

ReadComParameter_20

CheckCompV10_21

do check comp V10

[V10]/T20

CheckComp_23

do check comp

RestartDevice_24

do write parameter

[WriteDone]/T24

[RetryStartup]/T23

JoinPseudoState_25CheckVxy_22

do check revision

[<>V10]/T21

[RetryStartup]/T25

[RevisionOK]/T22

enex_6

[V10CompFault]/T5

enex_5

[V10CompOK]/T4

enex_4

[RevisionFault]/T6

enex_2

[CompOK]/T2

enex_3

[CompFault]/T7

enex_1

DL_Mode_COMLOSS/T3

[V10]/T20

[WriteDone]/T24

[RetryStartup]/T23

[<>V10]/T21

[RetryStartup]/T25

[RevisionOK]/T22

[V10CompFault]/T5

[V10CompOK]/T4

[RevisionFault]/T6

[CompOK]/T2

[CompFault]/T7

DL_Mode_COMLOSS/T3

2101

2102

2103

2104

Figure 67 – SM Master submachine CheckCompatibility_1

Table 78 shows the state transition tables of the Master submachine checkCompatibility_1.

Table 78 – State transition tables of the Master submachine CheckCompatibility_1

STATE NAME STATE DESCRIPTION

ReadComParameter_20 Acquires communication parameters from Direct Parameter Page 1 (0x02 to 0x06) via service DL_Read (Table B.1).

CheckCompV10_21 Acquires identification parameters from Direct Parameter Page 1 (0x07 to 0x0D) via service DL_Read (Table B.1). The configured InspectionLevel (IL) defines the decision logic of the subsequent compatibility check "CheckCompV10" with parameters RVID, RDID, and RFID according to Figure 69.

CheckVxy_22 A check is performed whether the configured revision (CRID) matches the real (actual) revision (RRID) according to Figure 68.

CheckComp_23 Acquires identification parameters from Direct Parameter Page 1 (0x07 to 0x0D) via service DL_Read (Table B.1). The configured InspectionLevel (IL) defines the decision logic of the subsequent compatibility check "CheckComp" according to Figure 70.

RestartDevice_24 Writes the compatibility parameters configured protocol revision (CRID) and configured DeviceID (CDID) into the Device depending on the Target Mode of communication CFGCOM or AUTOCOM (Table 72) according to Figure 71.

JoinPseudoState_25 This pseudo state is used instead of a UML join bar. No guards involved. 2105

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T20 20 21 -

T21 20 22 DL_Write (0x00,0x95 MasterCommand “MasterIdent”), see Table B.2

T22 22 23 -

T23 23 24 -

T24 24 20 -

T25 22 24 CompRetry = CompRetry +1 2106

Page 122: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 122 – 61131-9/WD V0.5 IEC

INTERNAL ITEMS TYPE DEFINITION

CompOK Bool See Figure 70

CompFault Bool See Figure 70; error variable COMP_FAULT

RevisionFault Bool See Figure 68; error variable REV_FAULT

RevisionOK Bool See Figure 68

SerNumFault Bool See Figure 73; error variable SERNUM_FAULT

SerNumOK Bool See Figure 73

V10 Bool Real revision = V1.0 (B.1.6)

<>V10 Bool Real revision <> V1.0 (B.1.6)

V10CompFault Bool See Figure 69; error variable COMP_FAULT

V10CompOK Bool See Figure 69

RetryStartup Bool See Figure 68 and Figure 70

CompRetry Variable Internal counter

WriteDone Bool Finalization of the restart service sequence

2107 2108

2109 2110 2111 2112 2113

2114 2115

Some states contain complex logic to deal with the compatibility and validity checks. The following figures are demonstrating the context.

Figure 68 shows the decision logic for the protocol revision check in state "CheckVxy". In case of configured Devices the following rule applies: if the configured revision (CRID) and the real revision (RRID) do not match, the CRID will be transmitted to the Device. If the Device does not accept, the Master returns an indication via the SM_Mode service with REV_FAULT.

In case of not configured Devices the operational mode AUTOCOM shall be used. See 9.2.2.2 and 9.2.2.3 for the parameter name abbreviations.

D1[RRID = CRID]

RevisionOK (T22)[RRID = CRID]

D2

[RRID <> CRID][RRID <> CRID]

RetryStartup (T23)[CompRetry = 0][CompRetry = 0]

[CompRetry = 1]RevisionFault (T6)

[CompRetry = 1]

2116

2117

2118

2119

Figure 68 – Activity (check revision) for state "CheckVxy"

Figure 69 shows the decision logic for the V10 compatibility check in state "CheckCompV10".

Page 123: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 123 – Working Draft

V10CompOK (T4)

V10CompOK (T4)

V10CompFault (T5)

D3[IL: NO_CHECK][IL: NO_CHECK]

D4[CVID = RVID and CDID = RDID]

[IL: TYPE_COMP or IDENTICAL]

[CVID <> RVID or CDID <> RDID]

[CVID = RVID and CDID = RDID]

[IL: TYPE_COMP or IDENTICAL]

[CVID <> RVID or CDID <> RDID]

KeyIL = Inspection level

2120

2121

2122

2123

Figure 69 – Activity (check comp V10) for state "CheckCompV10"

Figure 70 shows the decision logic for the compatibility check in state "CompCheck".

CompOK (T2)

CompFault (T7)

RetryStartup (T23)

D5[IL: NO_CHECK][IL: NO_CHECK]

D6[CVID <> RVID]

[IL: TYPE_COMP or IDENTICAL]

[CVID <> RVID]

[IL: TYPE_COMP or IDENTICAL]

KeyIL = Inspection level

Device starts

Incompatible --> Error

D7[CompRetry = 0 and CDID <> RDID]

[CVID = RVID]

[CompRetry = 0 and CDID <> RDID]

[CVID = RVID]

Device restart withRVID, RDID

[CompRetry = 1 and CDID <> RDID]CompFault (T7)

[CompRetry = 1 and CDID <> RDID]Incompatible --> Error

2124

2125

2126

2127

Figure 70 – Activity (check comp) for state "CheckComp"

Figure 71 shows the activity (write parameter) in state "RestartDevice".

Page 124: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 124 – 61131-9/WD V0.5 IEC

D8

WriteDone =FALSE

DL_Write (0x04, CRID)DL_Write (0x09…0x0B, CDID)DL_Write (0x00,0x96, "DeviceIdent")DL_Read (0x02) (dummy cycle)

[CFGCOM][CFGCOM]

[OK]

WriteDone = TRUE

[OK]

DL_Write (0x04, CRID)DL_Write (0x00,0x96, "DeviceIdent")DL_Read (0x02) (dummy cycle)

[AUTOCOM]

[OK]

[AUTOCOM]

[OK]

[CommError]

DL_Mode_COMLOSS (T3)

[CommError][CommError]

DL_Mode_COMLOSS (T3)

[CommError]

(T24)

2128

2129

2130

2132

Figure 71 – Activity (write parameter) in state "RestartDevice"

9.2.3.4 SM Master submachine "Check serial number" 2131

Figure 72 shows the SM Master submachine "checkSerNum_3". This check is mandatory.

checkSerNum_3

ReadSerNum_30

CheckSerNum_31

do check serial number

[SRead-]/T30

[SReadOK]/T31

enex_10

[SerNumFault]/T11

enex_11

[SerNumOK]/T10

enex_12DL_Mode_COMLOSS/T3

[SRead-]/T30

[SReadOK]/T31

[SerNumFault]/T11

[SerNumOK]/T10

DL_Mode_COMLOSS/T3

2133

2134

2135

2136

Figure 72 – SM Master submachine CheckSerNum_3

Table 79 shows the state transition tables of the Master submachine CheckSerNum_3

Table 79 – State transition tables of the Master submachine CheckSerNum_3

STATE NAME STATE DESCRIPTION

ReadSerNum_30 Acquires the SerialNumber from the Device via AL_Read.req (Index: 0x0015). A positive response (AL_Read(+)) leads to SReadOK = true. A negative response (AL_Read(-)) leads to SRead- = true.

CheckSerNum_31 The configured (CSN) and the real (RSN) SerialNumber are checked depending on the InspectionLevel (IL) according to Figure 73.

2137

Page 125: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 125 – Working Draft

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T30 40 41

T31 40 41 2138

INTERNAL ITEMS TYPE DEFINITION

SRead- Bool Negative response of service AL_Read (Index 0x0015)

SReadOK Bool SerialNumber read correctly

SERNumOK Bool See Figure 73

SERNumFault Bool See Figure 73

2139

2140 Figure 73 shows the decision logic (activity) for the state CheckSerNum_3.

SerNumOK (T10)

SerNumFault (T11)

SerNumFault (T11)

SerNumOK (T10)

D9[IL: not IDENTICAL][IL: not IDENTICAL]

D10[SRead-]

[IL: IDENTICAL]

[SRead-]

[IL: IDENTICAL]

D11[CSN <> RSN]

[SReadOK]

[CSN = RSN]

[CSN <> RSN]

[SReadOK]

[CSN = RSN]

2141

2142

2143

2145 2146 2147

2148 2149 2150 2151 2152 2153 2154 2155

2156

Figure 73 – Activity (check SerialNumber) for state CheckSerNum_3

9.2.3.5 Rules for the usage of F-sequence types 2144

The System Management is responsible for setting up the correct F-sequence types. This occurs after the check compatibility actions (transition to PREOPERATE) and before the transition to OPERATE.

Different F-sequence types shall be used within the different operational states (A.2.6). For example, when switching to the OPERATE state the F-sequence type relevant for cyclic operation shall be used. The F-sequence type to be used in operational state OPERATE is determined by the width of the input and output process data. The available F-sequence types in the three modes STARTUP, PREOPERATE, and OPERATE and the corresponding coding of the parameter F-sequence Capability are defined in A.2.6. The input and output data formats shall be acquired from the connected Device in order to adjust the F-sequence type. It is mandatory for a Master to implement all the specified F-sequence types in A.2.6.

Page 126: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 126 – 61131-9/WD V0.5 IEC

9.3 System management of the Device 2157

9.3.1 Overview 2158

2159 2160

Figure 74 provides an overview of the structure and services of the Device system management.

DeviceDL-modehandler Frame

handler

DL_Mode

Physical Layer

Application Layer

On-request datahandler

Process datahandler

DL-B

DL-A

PL_Transfer.ind PL_Transfer.req

PD

.ind

PD

.rsp

DL_

Eve

nt

DL_

PD

Inp

ut-

Upd

ate

DL_

PD

Out

put

-T

rans

port

DL_

Re

ad-

Par

am

DL

_Writ

e-P

ara

m

DL_

ISD

U-

Tra

nspo

rt

DL_

Co

ntro

l

DL_

PD

Cyc

le

PL_WakeUp.ind

DL_

Eve

nt-

Tri

gger

Eve

ntF

lag

CMD.ind

CMD.rsp

DL_Read

DL_Write

PL_Mode.req

Wake-up Switching signalCoded switching

CM

D.r

sp

CM

D.in

d

SystemManage-ment

SM

_Se

tDe

vcic

eIde

nt

SM

_G

etD

evi

ceC

omm

SM

_Dev

iceM

ode

SM

_S

etD

evic

eCom

m

SM

_Get

De

vice

Ide

nt

SM

_Set

Dev

iceM

ode

LineHandler

SIODI / DO

Mode switch

Data Storage (DS)

Device applications

Process Data Exchange (PDE)

Technology specific application (technology parameter, diagnosis, process data)

Parameter Manager (PM) Event Dispatcher (ED)

DL_

ISD

U-

Abo

rt

PD

Val

id

FHInfo

2161

2162

2163 2164 2165

2166 2167 2168 2169

2170 2171 2172

2173 2174

2175 2176 2177

2178

Figure 74 – Structure and services of the system management (Device)

The System Management (SM) of the Device provides the central controlling instance via the Line Handler through all the phases of initialization, default state (SIO), communication startup, communication, and fall-back to SIO mode.

The Device SM interacts with the PL to establish the necessary line driver and receiver adjustments (Figure 14), with the DL to get the necessary information from the Master (wake-up, transmission rates, a.o.) and with the Device applications to ensure the Device identity and compatibility (identification parameters).

The transitions between the line handler states (Figure 76) are initiated by the Master port activities (wake-up and communication) and triggered through the Device Data Link Layer via the DL_Mode indications and DL_Write requests (commands).

The SM provides the Device identification parameters through the Device applications interface.

The sequence chart in Figure 75 demonstrates a typical Device sequence from initialization to default SIO mode and via wake-up request from the Master to final communication. The sequence chart is complemented by the use case of a communication error such as TDSIO

expired, or communication fault, or a request from Master (event) such as Fallback.

Page 127: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 127 – Working Draft

SMDL

DL_Mode(INACTIVE)

DL_Mode(STARTUP)

DL_Mode(INACTIVE)

DL_Mode(STARTUP)

DeviceApp

SM_DeviceMode(COMSTARTUP)

SM_DeviceMode(SIO)

SM_DeviceMode(IDLE)

SM_SetDeviceIdent(Initial parameter)

SM_DeviceMode(IDLE)

SM_SetDeviceIdent(Initial parameter)

SM_SetDeviceMode(SIO)

SM_SetDeviceCOM(Initial parameter)

SM_SetDeviceCom(Initial parameter)

SM_SetDeviceMode(SIO)

SM_SetDeviceMode(IDLE)

SM_DeviceMode(SIO)

SM_DeviceMode(COMSTARTUP)

SM_DeviceMode(SIO)

SM_DeviceMode(IDLE)

SM_SetDeviceIdent(Initial parameter)

SM_DeviceMode(IDLE)

SM_SetDeviceIdent(Initial parameter)

SM_SetDeviceMode(SIO)

SM_SetDeviceCOM(Initial parameter)

SM_SetDeviceCom(Initial parameter)

SM_SetDeviceMode(SIO)

SM_SetDeviceMode(IDLE)

SM_DeviceMode(SIO)

PL

PL_WakeUp(ind)

PL_SetMode(DI | DO | INACTIVE)

PL_SetMode(INACTIVE)

PL_SetMode(DI | DO | INACTIVE)

PL_SetMode(COMx)

PL_SetMode(INACTIVE)

PL_WakeUp(ind)

PL_SetMode(DI | DO | INACTIVE)

PL_SetMode(INACTIVE)

PL_SetMode(DI | DO | INACTIVE)

PL_SetMode(COMx)

PL_SetMode(INACTIVE)

Device defaultcommunicationand identificationparameter

SIO mode active

WakeUp request from master

Communication startup and data exchange

Errors /events- Tdsio expired- Fallback

SIO mode active

2179

2180

2181

2182

2185 2186

2187 2188

Figure 75 – Sequence chart of the use case "INACTIVE – SIO – SDCI – SIO"

The SM services shown in Figure 75 are defined in the subsequent sections.

9.3.2 SM Device services 2183

9.3.2.1 Overview 2184

This section describes the services the Device system management provides to its applications as shown in Figure 74.

Table 80 lists the assignment of the Device to its role as initiator or receiver for the individual system management service.

Page 128: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 128 – 61131-9/WD V0.5 IEC

Table 80 – SM services within the Device 2189

Service name Device

SM_SetDeviceCom R

SM_GetDeviceCom R

SM_SetDeviceIdent R

SM_GetDeviceIdent R

SM_SetDeviceMode R

SM_DeviceMode I

Key (see 3.3.4) I Initiator of service R Receiver (Responder) of service

2190

2192 2193 2194

2195

9.3.2.2 SM_SetDeviceCom 2191

The SM_SetDeviceCom service is used to configure the communication properties supported by the Device in the System Management. The parameters of the service primitives are listed in Table 81.

Table 81 – SM_SetDeviceCom

Parameter name .req .cnf

Argument M

ParameterList M

Result (+) S

Result (-) S

ErrorInfo M

2196 2197 2198

2199 2200

2201

2202

2203 2204

2205

2206 2207

2208

2209 2210

2211 2212 2213 2214

Argument The service-specific parameters of the service request are transmitted in the argument.

ParameterList This parameter specifies the configured communication parameters for a Device.

Parameter type: Record

Record Elements:

SupportedSIOMode This parameter specifies the SIO mode supported by the Device.

Permitted values: INACTIVE, DI, DO

SupportedBaudrate This parameter specifies the transmission rates supported by the Device.

Permitted values: COM1, COM2, COM3

MinCycleTime This parameter specifies the minimum cycle time supported by the Device (B.1.4).

F-sequence Capability This parameter specifies the F-sequence capabilities supported by the Device (B.1.5): - ISDU support

Page 129: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 129 – Working Draft

- OPERATE F-sequence types - PREOPERATE F-sequence types

2215 2216

2217 2218

2219 2220

2221 2222

2223

2224 2225

2226 2227 2228

2229 2230

2231

2232

2234 2235

2236

RevisionID (RID) This parameter specifies the protocol revision RID (B.1.6) supported by the Device.

ProcessDataIn This parameter specifies the length of process data to be sent to the Master (B.1.7).

ProcessDataOut This parameter specifies the length of process data to be sent by the Master (B.1.8).

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: STATE_CONFLICT

9.3.2.3 SM_GetDeviceCom 2233

The SM_GetDeviceCom service is used to read the current communication properties from the System Managment. The parameters of the service primitives are listed in Table 82.

Table 82 – SM_GetDeviceCom

Parameter name .req .cnf

Argument M

ParameterList M

Result (+) S

Result (-) S

ErrorInfo M

2237 2238 2239

2240 2241

2242

2243

2244 2245

2246

2247 2248 2249

2250

Argument The service-specific parameters of the service request are transmitted in the argument.

ParameterList This parameter specifies the configured communication parameter for a Device.

Parameter type: Record

Record Elements:

CurrentMode This parameter specifies the current SIO or Communication Mode by the Device.

Permitted values: INACTIVE, DI, DO, COM1, COM2, COM3

MasterCycleTime This parameter keeps the MasterCycleTime to be set by the Master system management (B.1.3). This parameter is only valid in the state SM_Operate.

F-sequence Capability

Page 130: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 130 – 61131-9/WD V0.5 IEC

This parameter specifies the current F-sequence capabilities configured in the system management of the Device (

2251 2252 2253 2254 2255

2256 2257 2258

2259 2260 2261

2262 2263 2264

2265

2266 2267

2268 2269

2270 2271

2272

2274 2275

2276

B.1.5). - ISDU support - OPERATE F-sequence types - PREOPERATE F-sequence types

RevisionID (RID) This parameter contains the current protocol revision RID (B.1.6) within the system management of the Device.

ProcessDataIn This parameter provides the current length of process data to be sent to the Master (B.1.7).

ProcessDataOut This parameter provides the current length of process data to be sent by the Master (B.1.8).

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: STATE_CONFLICT

9.3.2.4 SM_SetDeviceIdent 2273

The SM_SetDeviceIdent service is used to configure the Device identification data in the System Management. The parameters of the service primitives are listed in Table 83.

Table 83 – SM_SetDeviceIdent

Parameter name .req .cnf

Argument M

ParameterList M

Result (+) S

Result (-) S

ErrorInfo M

Argument 2277 2278

2279 2280

2281

2282

2283 2284

2285

2286 2287

2288

The service-specific parameters of the service request are transmitted in the argument.

ParameterList This parameter specifies the configured identification parameter for a Device.

Parameter type: Record

Record Elements:

VendorID (VID) This parameter specifies the VendorID assigned to a Device (B.1.9)

Data length: 2 octets

DeviceID (DID) This parameter specifies one of the assigned DeviceIDs (B.1.10)

Data length: 3 octets

Page 131: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 131 – Working Draft

FunctionID (FID) 2289 2290

2291

2292 2293

2294 2295

2296 2297

2298

2300 2301

2302

This parameter specifies one of the assigned FunctionIDs (see clause B.1.11).

Data length: 2 octets

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: STATE_CONFLICT

9.3.2.5 SM_GetDeviceIdent 2299

The SM_GetDeviceIdent service is used to read the Device identification parameter from the System Management. The parameters of the service primitives are listed in Table 84.

Table 84 – SM_GetDeviceIdent

Parameter name .req .cnf

Argument M

ParameterList M

Result (+) S

Result (-) S

ErrorInfo M

2303 2304 2305

2306 2307

2308

2309

2310 2311

2312

2313 2314

2315

2316 2317

2318

2319 2320

2321 2322

2323

Argument The service-specific parameters of the service request are transmitted in the argument.

ParameterList This parameter contains the configured communication parameters of the Device.

Parameter type: Record

Record Elements:

VendorID (VID) This parameter contains the actual VendorID of the Device (B.1.9)

Data length: 2 octets

DeviceID (DID) This parameter contains the actual DeviceID of the Device (B.1.10)

Data length: 3 octets

FunctionID (FID) This parameter contains the actual FunctionID of the Device (B.1.11).

Data length: 2 octets

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo

Page 132: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 132 – 61131-9/WD V0.5 IEC

This parameter contains error information to supplement the Result parameter. 2324

2325

2327 2328

2329

Permitted values: STATE_CONFLICT

9.3.2.6 SM_SetDeviceMode 2326

The SM_SetDeviceMode service is used to set the Device into a defined operational state during initialization. The parameters of the service primitives are listed in Table 85.

Table 85 – SM_SetDeviceMode

Parameter name .req .cnf

Argument M

Mode M

Result (+) S

Result (-) S

ErrorInfo M

2330 2331 2332

2333 2334

2335 2336

2337 2338

2339 2340

2341

2343 2344

2345

Argument The service-specific parameters of the service request are transmitted in the argument.

Mode Permitted values: IDLE, SIO

Result (+): This selection parameter indicates that the service request has been executed successfully.

Result (-): This selection parameter indicates that the service request failed.

ErrorInfo This parameter contains error information to supplement the Result parameter.

Permitted values: STATE_CONFLICT

9.3.2.7 SM_DeviceMode 2342

The SM_DeviceMode service is used to indicate changes of communication states to the Device application. The parameters of the service primitives are listed in Table 86.

Table 86 – SM_DeviceMode

Parameter name .ind

Argument M

Mode M

2346 2347 2348

2349 2350 2351

2352

Argument The service-specific parameters of the service request are transmitted in the argument.

Mode Permitted values: IDLE, SIO, COM_STARTUP, COM1, COM2, COM3, IDENT_STARTUP, IDENT_CHANGE, PREOPERATE, OPERATE

Page 133: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 133 – Working Draft

9.3.3 SM Device protocol 2353

9.3.3.1 Overview 2354

2355

2357 2358 2359

The behaviour of the Device is mainly driven by Master messages.

9.3.3.2 SM Device state machine 2356

Figure 76 shows the SM line handler state machine of the Device. It is triggered by the DL_Mode handler and the Device application. It evaluates the different communication phases during startup and controls the line state of the Device.

/Initialization

SM_Idle_0

SM_DeviceMode_SIO/T1

SM_SIO_1

SM_DeviceMode_SIO/T1

SM_ComEstabl_2

DL_Mode_STARTUP/T2DL_Mode_STARTUP/T2

SM_ComStartup_3

DL_Mode_COMx/T4DL_Mode_COMx/T4

DL_Write_MASTERIDENT/T5

SM_IdentStartup_4

DL_Write_MASTERIDENT/T5

SM_IdentCheck_5

DL_Write_DEVICEIDENT/T6DL_Write_DEVICEIDENT/T6

SM_CompStartup_6

DL_Read_COMMAND/T7DL_Read_COMMAND/T7

SM_Preoperate_7

DL_Mode_PREOPERATE/T8

DL_Mode_PREOPERATE/T10

DL_Mode_STARTUP/T12

DL_Mode_PREOPERATE/T8

DL_Mode_PREOPERATE/T10

DL_Mode_STARTUP/T12

DL_Mode_OPERATE/T9

SM_Operate_8

DL_Mode_OPERATE/T9

DL_Mode_OPERATE/T11

DL_Mode_STARTUP/T13

DL_Mode_OPERATE/T11

DL_Mode_STARTUP/T13DL_Mode_INACTIVE/

T3DL_Mode_INACTIVE/T3

2360

2361

2362

2363

Figure 76 – State machine of the Device system management

Table 87 describes the individual states and the actions within the transitions.

Table 87 – State transition tables of the Device system management

STATE NAME STATE DESCRIPTION

Page 134: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 134 – 61131-9/WD V0.5 IEC

STATE NAME STATE DESCRIPTION

SM_Idle_0 In SM_Idle the SM is waiting for configuration by the Device application and to be set to SIO mode. The state is left on receiving a SM_SetDeviceMode(SIO) request from the Device application

The following sequence of services shall be executed between Device application and SM. SM_SetDeviceCom(initial parameter list) SM_SetDeviceIdent(VID, initial DID, FID)

SM_SIO_1 In SM_SIO the SM Line Handler is remaining in the default SIO mode. The Physical Layer is set to the SIO mode characteristics defined by the Device application via the SetDeviceMode service. The state is left on receiving a DL_Mode(STARTUP) indication.

SM_ComEstablish_2 In SM_ComEstablish the SM is waiting for the communication to be established in the Data Link Layer. The state is left on receiving a DL_Mode(INACTIVE) or a DL_Mode(COMx) indication, where COMx may be any of COM1, COM2 or COM3.

SM_ComStartup_3 In SM_ComStartup the communication parameter (DP 02h to 06h) are read by the Master SM via DL_Read requests. The state is left on receiving a DL_Mode(INACTIVE), a DL_Mode(OPERATE) indication (Master V1.0 only) or a DL_Write(MASTERIDENT) request (Master >V1.0).

SM_IdentStartup_4 In SM_IdentStartup the identification data (VID, DID, FID) are read and verified by the Master. In case of incompatibilities the Master SM writes the supported SDCI Revision (RID) and configured DeviceID (DID) to the Device. The state is left on receiving a DL_Mode(INACTIVE), a DL_Mode(PREOPERATE) indication (compatibility check passed) or a DL_Write(DEVICEIDENT) request (new compatibility requested).

SM_IdentCheck_5 In SM_IdentCheck the SM waits for new initialization of communication and identification parameters. The state is left on receiving a DL_Mode(INACTIVE) indication or a DL_Read(DP 02h) request.

Within this state the Device application shall check the RID and DID parameters from the SM and set these data to the supported values. Therefore the following sequence of services shall be executed between Device application and SM. SM_GetDeviceCom(configured RID, parameter list) SM_GetDeviceIdent(configured DID, parameter list) Device application checks and provides compatibility function and parameters SM_SetDeviceCom(new supported RID, new parameter list) SM_SetDeviceIdent(new supported DID, parameter list)

SM_CompStartup_6 In SM_CompatStartup the communication and identification data are reread and verified by the Master SM. The state is left on receiving a DL_Mode(INACTIVE) or a DL_Mode(PREOPERATE) indication.

SM_Preoperate_7 During SM_Preoperate the the SerialNumber can be read and verified by the Master SM, as well as data storage and Device parameterization may be executed. The state is left on receiving a DL_Mode(INACTIVE), a DL_Mode(STARTUP) or a DL_Mode(OPERATE) indication.

SM_Operate_8 During SM_Operate the cyclic process data exchange and acyclic On-Request data transfer are active. The state is left on receiving a DL_Mode(INACTIVE) or a DL_Mode(STARTUP) indication.

2364 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 The Device is switched to the configured SIO mode by receiving the trigger SM_SetDeviceMode.req(SIO). PL_SetMode(DI|DO|INACTIVE) SM_DeviceMode(SIO)

T2 1 2 The Device is switched to the communication mode by receiving the trigger DL_Mode.ind(STARTUP). PL_SetMode(COMx) SM_DeviceMode(COMSTARTUP)

T3 2,3,4,5,6,7,8

0 The Device is switched to SM_Idle mode by receiving the trigger DL_Mode.ind(INACTIVE) . PL_SetMode(INACTIVE) SM_DeviceMode(IDLE)

The Device is leaving the state by receiving the trigger DL_Mode.ind(INACTIVE).

T4 2 3 The Device application receives an indication on the baudrate with which the communication has been established in the DL triggered by DL_Mode.ind(COMx).

Page 135: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 135 – Working Draft

TRANSITION SOURCE STATE

TARGET STATE

ACTION

SM_DeviceMode(COMx)

T5 3 4 The Device identification phase is entered by receiving the trigger DL_Write.ind(MASTERIDENT). SM_DeviceMode(IDENTSTARTUP)

T6 4 5 The Device identity check phase is entered by receiving the trigger DL_Write.ind(DEVICEIDENT). SM_DeviceMode(IDENTCHANGE)

T7 5 6 The Device compatibility startup phase is entered by receiving the trigger DL_Read.ind( Direct Parameter page 1, 0x02).

T8 6 7 The Device's preoperate phase is entered by receiving the trigger DL_Mode.ind(PREOPERATE). SM_DeviceMode(PREOPERATE)

T9 7 8 The Device's operate phase is entered by receiving the trigger DL_Mode.ind(OPERATE). SM_DeviceMode(OPERATE)

T10 4 7 The Device's preoperate phase is entered by receiving the trigger DL_Mode.ind(PREOPERATE). SM_DeviceMode(PREOPERATE)

T11 3 8 The Device's operate phase is entered by receiving the trigger DL_Mode.ind(OPERATE). SM_DeviceMode(OPERATE)

T12 7 3 The Device's communication startup phase is entered by receiving the trigger DL_Mode.ind(STARTUP). SM_DeviceMode(COM_STARTUP)

T13 8 3 The Device's communication startup phase is entered by receiving the trigger DL_Mode.ind(STARTUP). SM_DeviceMode(COM_STARTUP)

2365 INTERNAL ITEMS TYPE DEFINITION

COMx Variable Any of COM1, COM2, or COM3 transmission rates

2366

2367 2368

Figure 77 shows a typical sequence chart for the SM communication startup of a Device matching the Master port configuration settings (regular startup).

Page 136: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 136 – 61131-9/WD V0.5 IEC

SMAL DeviceApp

AL_Read()

SM_DeviceMode(COMx)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(OPERATE)

SM_DeviceMode(PREOPERATE)

AL_Read()

AL_Read()

SM_DeviceMode(COMx)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(OPERATE)

SM_DeviceMode(PREOPERATE)

AL_Read()

DL

DL_Write(0x00, MASTERIDENT)

DL_SPDUTransport()

DL_Mode(COMx)

DL_Write(0x01, MasterCycleTime)

DL_Read(Direct Parameter 1)

DL_Write(0x00, OPERATE)

DL_Write(0x00, PREOPERATE)

DL_SPDUTransport()

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_SPDUTransport()

DL_Mode(COMx)

DL_Write(0x01, MasterCycleTime)

DL_Read(Direct Parameter 1)

DL_Write(0x00, OPERATE)

DL_Write(0x00, PREOPERATE)

DL_SPDUTransport()

DL_Read(Direct Parameter 1)

From now on:PREOPERATEstate

Master actions (optional):- Check RID, VID, DID,FID(Use case assumes: check OK)

(MinCycleTime, FrameCapabil ity, RID,PDin length, PDout length)

(VID,DID,FID)

From now on:OPERATE state

Master actions (optional):- Read Serial Number- Data Storage- User parameteri- zation

(As many AL_Read and AL_Write as needed)

(As many as needed)

......

2369

2370

2371 2372 2373 2374

2375 2376

Figure 77 – Sequence chart of a regular Device startup

Figure 78 shows a typical sequence chart for the SM communication startup of a Device not matching the Master port configuration settings (compatibility mode). In this mode, the Master tries to overwrite the Device's identification parameters to achieve a compatible and a workable mode.

The sequence chart in Figure 78 shows only the actions until the PREOPERATE state. The remaining actions until the OPERATE state can be taken from Figure 77.

Page 137: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 137 – Working Draft

SM DeviceApp

SM_SetDeviceIdent(compatible DID, FID)

SM_DeviceMode(IDENTCHANGE)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(PREOPERATE)

SM_DeviceMode(IDENTSTARTUP)

SM_SetDeviceCOM(compatible parameter)

SM_DeviceMode(COMx)

SM_SetDeviceIdent(compatible DID, FID)

SM_DeviceMode(IDENTCHANGE)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(PREOPERATE)

SM_DeviceMode(IDENTSTARTUP)

SM_SetDeviceCOM(compatible parameter)

SM_DeviceMode(COMx)

DL

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Read(Direct Parameter 1)

DL_Write(0x09...0x0B, CDID)

DL_Mode(COMx)

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Write(0x00, DEVICEIDENT)

DL_Write(0x00, PREOPERATE)

DL_Write(0x04, CRID)

DL_Read(Direct Parameter 1)

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Read(Direct Parameter 1)

DL_Write(0x09...0x0B, CDID)

DL_Mode(COMx)

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Write(0x00, DEVICEIDENT)

DL_Write(0x00, PREOPERATE)

DL_Write(0x04, CRID)

DL_Read(Direct Parameter 1)

Device compa-tibil ity check:- supported RID- supported DID

Master actions:- Check RID, VID, DID,FID(Use case assumes: check DID or RID fails)

(MinCycleTime, FrameCapability, RID,PDin length, PDout length)

(VID,DID,FID)

From now on:PREOPERATEstate

Master action:- Wait one cycle

(MinCycleTime, FrameCapability, RID,PDin length, PDout length)

(VID,DID,FID)

Master actions:- Check RID, VID, DID,FID(Use case assumes: check OK)

... ...

2377

2378

2379 2380 2381 2382

Figure 78 – Sequence chart of a Device startup in compatibility mode

Figure 79 shows a typical sequence chart for the SM communication startup of a Device not matching the Master port configuration settings. The System Management of the Master tries to reconfigure the Device with alternative Device identification parameters (compatibility mode). In this use case, the alternative parameters are assumed to be incompatible.

Page 138: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 138 – 61131-9/WD V0.5 IEC

SM DeviceApp

SM_DeviceMode(COMx)

SM_SetDeviceCOM(supported parameter)

SM_SetDeviceIdent(supported DID, FID)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(IDENTCHANGE)

SM_DeviceMode(COMx)

SM_SetDeviceCOM(supported parameter)

SM_SetDeviceIdent(supported DID, FID)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(IDENTSTARTUP)

SM_DeviceMode(IDENTCHANGE)

DL

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Write(0x00, DEVICEIDENT)

DL_Mode(COMx)

DL_Read(Direct Parameter 1)

DL_Write(0x04, CRID)

DL_Write(0x09...0x0B, CDID)

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Read(Direct Parameter 1)

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Write(0x00, DEVICEIDENT)

DL_Mode(COMx)

DL_Read(Direct Parameter 1)

DL_Write(0x04, CRID)

DL_Write(0x09...0x0B, CDID)

DL_Read(Direct Parameter 1)

DL_Write(0x00, MASTERIDENT)

DL_Read(Direct Parameter 1)

Device compa-tibil i ty check:- not supported RID- not supported DID

Master actions:- Check RID, VID, DID,FID(Use case assumes: check DID or RID fai ls)

(MinCycleTime, FrameCapability, RID,PDin length, PDout length)

(VID,DID,FID)

Master action:- Wait one cycle

(MinCycleTime, FrameCapability, RID,PDin length, PDout length)

(VID,DID,FID)

Master actions:- Check RID, VID, DID,FID(Use case assumes: check DID or RID fails)

... ...

2383

2384

2385

Figure 79 – Sequence chart of a Device startup when compatibility fails

Page 139: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 139 – Working Draft

10 Device 2386

10.1 Overview 2387

2388 Figure 80 provides an overview of the complete structure and services of a Device.

DeviceDL-modehandler Frame

handler

DL_Mode

On-request datahandler

Process datahandler

DL-B

DL-A

PL_Transfer.ind PL_Transfer.req

PD

.ind

PD

.rsp

DL_

Eve

nt

DL

_PD

Inp

ut-

Up

date

DL_

PD

Out

put

-T

rans

port

DL

_Re

ad-

Par

am

DL_

Writ

e-P

ara

m

DL_

ISD

U-

Tra

nspo

rt

DL

_Co

ntro

l

DL_

PD

Cyc

le

PL_WakeUp.ind

DL

_Eve

nt-

Tri

gger

DL_Read

DL_Write

Systemmanage-ment

SM

_Set

Dev

cice

Iden

t

SM

_Get

De

vice

Com

m

SM

_Dev

iceM

ode

SM

_Set

Dev

iceC

omm

SM

_Ge

tDe

vice

Ide

nt

PL_Mode.req

SM

_S

etD

evi

ceM

od

e

LineHandler

Wake-up Switching signalCoded switching

Mode switch

Physical layer

SIO:DI / DO

SIO:DI / DO

Eve

ntF

lag

CMD.ind

CMD.rsp

CM

D.r

sp

CM

D.in

d

Application Layer

Process dataobjects

On-request dataobjects

AL

AL_

Re

ad

AL_

Writ

e

AL_

Ab

ort

AL

_Co

ntro

l

AL

_Eve

nt

AL

_Set

Inpu

t

AL_

Get

Out

put

AL_

Ne

wO

utpu

t

AL_

PD

Cyc

le

Data Storage (DS)

Device applications

Process Data Exchange (PDE)

Technology specific application (technology parameter, diagnosis, process data)

Parameter Manager (PM) Event Dispatcher (ED)

DL_

ISD

U-

Abo

rt

PD

Val

id

FHInfo

2389

2390

2391 2392 2393

2394 2395

2396 2397

2398 2399 2400

2401 2402 2403

2404 2405

Figure 80 – Structure and services of a Device

The Device applications comprise first the technology specific application consisting of the transducer with its technology parameters, its diagnosis information, and its process data. The common Device applications comprise a

Parameter Manager (PM), dealing with compatibility and correctness checking of complete sets of technology (vendor) specific and common system parameters (see 10.3), and a

Data Storage (DS) mechanism, which optionally uploads or downloads parameters to the Master (see 10.4), and a

Event Dispatcher (ED), supervising states and conveying diagnosis information such as notifications, warnings, errors, and Device requests as peripheral initiatives (see 10.5), and a

Process Data Exchange (PDE) unit, conditioning the data structures for transmission in case of a sensor or preparing the received data structures for signal generation. It also controls the operational states to ensure the validity of process data (see 10.2).

These Device applications provide standard methods/functions and parameters common to all Devices, and Device specific functions and parameters, all specified within this clause.

Page 140: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 140 – 61131-9/WD V0.5 IEC

10.2 Process Data Exchange (PDE) 2406

The Process Data Exchange unit cyclically transmits and/or receives process data without interference with the on-request data (parameters, commands, and events).

2407 2408

2409 2410 2411 2412

2413 2414 2415

2416 2417 2418

2421 2422

2423 2424

2425 2426 2427 2428 2429

2430 2431 2432 2433 2434 2435

2437 2438 2439 2440

2441 2442 2443 2444 2445 2446 2447 2448

2449 2450

An actuator (output Process Data) shall observe the cyclic transmission and enter a default state, for example keep last value, stop, or de-energize, when the data transmission is interrupted. The actuator shall wait on the MasterCommand "ProcessDataOutputOperate" (Table B.2) prior to regular operation after restart in case of interruption.

If communication is not interrupted, an actuator (output Process Data) will receive a Master-Command "DeviceOperate", whenever the output Process Data are invalid and a Master-Command "ProcessDataOutputOperate" whenever they become valid again (Table B.2).

There is no need for a sensor Device (input Process Data) to observe the cyclic transmission. However, if the Device is not able to guarantee valid process data, the "PD invalid" flag (A.1.5) shall be signaled to the Master application.

10.3 Parameter Manager (PM) 2419

10.3.1 General 2420

A Device can be parameterized via two basic methods using the Direct Parameters or the Index memory space accessible with the help of ISDUs (Figure 4).

Mandatory for all Devices are the so-called Direct Parameters in page 1. This page 1 contains common communication and identification parameters (B.1).

Direct Parameter page 2 optionally offers space for a maximum of 16 octets of technology (vendor) specific parameters for Devices requiring not more than this limited number and with small system footprint (ISDU communication not implemented, easier fieldbus handling possible but with less comfort). Access to the Direct Parameter page 2 is performed via AL_Read and AL_Write (10.7.4).

The transmission of parameters to and from the spacious Index memory is secured by an additional checksum and confirmation of the transmitted parameters. This confirmation comprises consistency and validity of the entire parameter set. A negative acknowledgement contains an appropriate error description. In this case the transmitted parameters shall be rejected and a roll back to the previous parameter set shall be performed to ensure proper functionality of the Device.

10.3.2 Parameter Manager state machine 2436

The Device can be parameterized using ISDU mechanisms whenever the PM is active. The main functions of the PM are the transmission of parameters to the Master ("Upload"), to the Device ("Download"), and the consistency and validity checking within the Device ("ValidityCheck") as demonstrated in Figure 81.

The PM is driven by command messages of the Master (Table B.8). For example the guard [UploadStart] corresponds to the reception of the SystemCommand "ParamUploadStart" and [UploadEnd] to the reception of the SystemCommand "ParamUploadEnd". In case of a communication interruption, the Master system management uses the service SM_DeviceMode with the variable "INACTIVE" to stop the upload process and to return to the "IDLE" state. Any new "ParamUploadStart" or "ParamDownloadStart" while another sequence is pending, for example due to an unexpected shut-down of a vendor parameterization tool, will abort the pending sequence. The corresponding parameter changes will be discarded.

NOTE A PLC user program and a parameterization tool can conflict (multiple access). For example during commissioning: the user should disable accesses from the PLC program while changing parameters via the tool.

Page 141: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 141 – Working Draft

The Parameter Manager mechanism in a Device is always active and the DS_ParUpload.req in transition T4 is used to trigger the Data Storage (DS) mechanism in

2451 2452 10.4.2.

Idle_0

/Initialization

[Single Parameter]/T1

ValidityCheck_1

[DownloadStore]/T2

[Local Parameter]/T3

[DataValid & StoreRequest]/T4

[DataValid & NotStoreRequest]/T5

[DataInvalid]/T6

[Single Parameter]/T1

[DownloadStore]/T2

[Local Parameter]/T3

[DataValid & StoreRequest]/T4

[DataValid & NotStoreRequest]/T5

[DataInvalid]/T6

Download_2

[DownloadStart]/T7

[DownloadBreak]/T8

SM_DeviceMode_INACTIVE/T9

[DownloadEnd]/T13

[DownloadStore]/T14

[DownloadStart]/T16

[DownloadStart]/T7

[DownloadBreak]/T8

SM_DeviceMode_INACTIVE/T9

[DownloadEnd]/T13

[DownloadStore]/T14

[DownloadStart]/T16

[UploadStart]/T10

Upload_3SM_DeviceMode_INACTIVE/T12

[UploadEnd]/T11

[UploadStart]/T15

[UploadStart]/T10

SM_DeviceMode_INACTIVE/T12

[UploadEnd]/T11

[UploadStart]/T15

2453

2454

2455 2456

2457

Figure 81 – The Parameter Manager (PM) state machine

Table 88 shows the state transition tables of the Device Parameter Manager (PM) state machine.

Table 88 – State transition tables of the PM state machine

STATE NAME STATE DESCRIPTION

Idle_0 Waiting on parameter transmission

ValidityCheck_1 Check of consistency and validity of current parameter set.

Download_2 Parameter download active; local parameterization locked (e.g. teach-in)

Upload_3 Parameter upload active; parameterization globally locked; all write accesses for parameter changes via tools shall be rejected (ISDU ErrorCode "Service temporarily not available – Device control")

2458

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 0 1 Set "StoreRequest" (= TRUE)

T3 0 1 Set "StoreRequest" (= TRUE)

T4 1 0 Mark parameter set as valid; send DS_ParUpload.req to DS; enable positive acknowledge of transmission; reset "StoreRequest" (= FALSE)

T5 1 0 Mark parameter set as valid; enable positive acknowledge of transmission

T6 1 0 Mark parameter set as invalid; enable negative acknowledge of transmission; reset "StoreRequest" (= FALSE)

T7 0 2 Lock local parameter access

T8 2 0 Unlock local parameter access; discard parameter buffer

Page 142: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 142 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T9 2 0 Unlock local parameter access; discard parameter buffer

T10 0 3 Lock local parameter access

T11 3 0 Unlock local parameter access

T12 3 0 Unlock local parameter access

T13 2 1 Unlock local parameter access

T14 2 1 Unlock local parameter access; set "StoreRequest" (= TRUE)

T15 3 3 Unlock local parameter access; discard parameter buffer

T16 2 2 Hint: A possible second start cannot be blocked. 2459

INTERNAL ITEMS TYPE DEFINITION

DownloadStore Bool SystemCommand "ParamDownloadStore" received, see Table B.8

DataValid Bool Positive result of conformity and validity checking

DataInvalid Bool Negative result of conformity and validity checking

DownloadStart Bool SystemCommand "ParamDownloadStart" received, see Table B.8

DownloadBreak Bool SystemCommand "ParamBreak" or "ParamUploadStart" received

DownloadEnd Bool SystemCommand "ParamDownloadEnd" received, see Table B.8

StoreRequest Bool Flag for a requested Data Storage sequence, i.e. SystemCommand "ParamDownloadStore" received (= TRUE)

NotStoreRequest Bool Inverted value of StoreRequest

UploadStart Bool SystemCommand "ParamUploadStart" received, see Table B.8

UploadEnd Bool SystemCommand "ParamUploadEnd" received, see Table B.8

The Parameter Manager (PM) allows for single parameter (Index and Subindex) as well as for block parameter transmission (entire parameter set).

2460 2461

2463 2464 2465 2466 2467 2468 2469 2470

2471 2472

2474 2475

10.3.3 Dynamic parameter 2462

Parameters accessible through SDCI read or write services may as well be changed via on-board control elements (for example teach-in button) or the human machine interface of a Device. These changes shall undergo the same validity checks as compared to a single parameter access. Thus, in case of a positive result "DataValid" in Figure 81, the "StoreRequest" flag shall be applied in order to achieve Data Storage consistency. In case of a negative result "InvalidData", the previous values of the corresponding parameters shall be restored ("roll back"). In addition, a Device specific indication on the human machine interface can be made available as a positive or negative feedback to the user.

It is recommended to avoid concurrent access to a parameter via local control elements and SDCI write services at the same point in time.

10.3.4 Single parameter 2473

Sample sequence charts for valid and invalid single parameter changes are described in Figure 82.

Page 143: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 143 – Working Draft

Positive result

Negative result

MasterApp

AL_Write_req(Parameter)

MasterAL

AL_Write_req(Parameter)

AL_Write_cnf(+)

AL_Write_req(Parameter)

AL_Write_cnf(-)

AL_Write_cnf(+)

AL_Write_req(Parameter)

AL_Write_cnf(-)

DeviceAL

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

AL_Write_res(+)

DeviceApp

AL_Write_res(+)

AL_Write_ind(Parameter)

AL_Write_ind(Parameter)

AL_Write_res(-)

AL_Write_ind(Parameter)

AL_Write_ind(Parameter)

AL_Write_res(-)

Parametercheck result = OK

Parametercheck failed

2476

2477

2478 2479 2480 2481

2482

Figure 82 – Positive and negative parameter checking result

If single parameterization is performed via ISDU objects, the Device shall check the access, structure, consistency and validity (Table 89) of the transmitted data within the context of the entire parameter set and return the result in the confirmation. The negative confirmation carries one of the error indications of Table C.2 in Annex C.

Table 89 – Definitions of parameter checks

Parameter check Definition Error indication

Access Check for valid access rights for this Index / Subindex, independent from data content (Index / Subindex permanent or temporarily unavailable; write access on read only Index)

See C.2.3…C.2.8

Consistency Check for valid data content of the entire parameter set, testing for interference or correlations between parameters

See C.2.16 and C.2.17

Structure Check for valid data structure like data size, only complete data structures can be written, for example 2 octets to an UInteger16 data type

See C.2.12 and C.2.13

Validity Check for valid data content of single parameters, testing for data limits

See C.2.9…C.2.11, C.2.14, C.2.15

2483

2485 2486 2487

10.3.5 Block parameter 2484

User applications such as function blocks within PLCs and parameterization tool software can use start and end commands to indicate the begin and end of a block parameter transmission. For the duration of the block parameter transmission the Device application shall inhibit all the

Page 144: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 144 – 61131-9/WD V0.5 IEC

2488 2489

2490 2491

parameter changes originating from other sources, for example local parameterization, teach-in, etc.

A sample sequence chart for valid block parameter changes with an optional Data Storage request is demonstrated in Figure 83.

MasterApp

MasterAL

AL_Write_cnf(+)

AL_Write_cnf(+)

AL_Write_req(SysCommand)

AL_Write_req(SysCommand)

AL_Write_req(Parameter)

AL_Write_cnf(+)

AL_Write_cnf(+)

AL_Write_cnf(+)

AL_Write_req(SysCommand)

AL_Write_req(SysCommand)

AL_Write_req(Parameter)

AL_Write_cnf(+)

SDCI_Message()

DeviceAL

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

AL_Write_ind(SysCommand)

DeviceApp

AL_Write_res(+)

AL_Write_ind(Parameter)

AL_Write_res(+)

AL_Write_ind(SysCommand)

AL_Write_res(+)

DS_ParUpload_req()

AL_Write_ind(SysCommand)

AL_Write_res(+)

AL_Write_ind(Parameter)

AL_Write_res(+)

AL_Write_ind(SysCommand)

AL_Write_res(+)

DS_ParUpload_req()

(ParamDownloadStart)

(ParamDownloadStart)

More parameter sequences as needed

(ParamDownloadStore)

(ParamDownloadStore)

Parametercheck result = OK

Option:Data storageupload request

2492

2493

2494 2495 2496

2497 2498 2499 2500

2501

Figure 83 – Positive block parameter download with Data Storage request

A block parameter transmission is aborted if the Parameter Manager receives a SystemCommand "ParamBreak". In this case the block transmission quits without any changes in parameter settings.

The "ParamUploadStart" command (Table B.8) indicates the beginning of the block parameter transmission in upload direction (from the Device to the user application). The SystemCommand "ParamUploadEnd" terminates this sequence and indicates the end of transmission.

A sample sequence chart for invalid block parameter changes is demonstrated in Figure 84.

Page 145: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 145 – Working Draft

MasterApp

AL_Write_req(SysCommand)

MasterAL

AL_Write_req(SysCommand)

AL_Write_req(SysCommand)

AL_Write_cnf(-)

AL_Write_cnf(+)

AL_Write_cnf(+)

AL_Write_req(Parameter)

AL_Write_req(SysCommand)

AL_Write_cnf(-)

AL_Write_cnf(+)

AL_Write_cnf(+)

AL_Write_req(Parameter)

DeviceAL

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

SDCI_Message()

DeviceApp

AL_Write_ind(SysCommand)

AL_Write_ind(SysCommand)

AL_Write_res(+)

AL_Write_ind(Parameter)

AL_Write_res(+)

AL_Write_res(-)

AL_Write_ind(SysCommand)

AL_Write_ind(SysCommand)

AL_Write_res(+)

AL_Write_ind(Parameter)

AL_Write_res(+)

AL_Write_res(-)

(ParamDownloadStart)

More parameter sequences as needed

(ParamDownloadEnd orParamDownloadStore)

Parametercheck failed(ParamDownloadEnd or

ParamDownloadStore)

(ParamDownloadStart)

2502

2503

2504 2505 2506 2507 2508 2509 2510 2511 2512 2513

2514 2515 2516

2517 2518 2519

Figure 84 – Negative block parameter download

The "ParamDownloadStart" command (Table B.8) indicates the beginning of the block parameter transmission in download direction (from user application to the Device). The SystemCommand "ParamDownloadEnd" or "ParamDownloadStore" terminates this sequence. Both functions are similar. However, in addition the SystemCommand "ParamDownloadStore" causes the Data Storage (DS) mechanism to upload the parameter set through the DS_UPLOAD_REQ Event (10.4.2).During block parameter download the consistency checking for single transferred parameters shall be disabled and the parameters are not activated. With the "ParamDownloadEnd" command, the Device checks the entire parameter set and indicates the result to the originator of the block parameter transmission within the ISDU acknowledgement in return to the command.

During the block parameter download the access and structure checks are always performed (Table 89). Optionally, validity checks can be performed also. The block transfer mode shall not be exited by the Device in case of invalid accesses or structure violations.

In case of an invalid parameter set the changed parameters shall be discarded and and a rollback to the previous parameter set shall be performed. The corresponding negative confirmation shall contain one of the error indications from Table C.2 in Annex C. With a

Page 146: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 146 – 61131-9/WD V0.5 IEC

negative confirmation of the SystemCommand "ParamDownloadStore", the data storage upload request is omitted.

2520 2521

2523 2524 2525

2527 2528 2529 2530 2531

2534 2535 2536 2537 2538 2539 2540 2541

2542 2543 2544 2545

2547 2548 2549 2550

2551 2552

2553 2554

2555

2556 2557

2558

10.3.6 Concurrent parameterization access 2522

There is no mechanism to secure parameter consistency within the Device in case of concurrent accesses from different user applications above Master level. This shall be ensured or blocked on user level.

10.3.7 Command handling 2526

Application commands such as teach-in or restore factory settings are conveyed in form of parameters. An application command is confirmed with a positive service response – AL_Write.res(+). A negative service response – AL_Write.res(-) – shall indicate the failed execution of the application command. In both cases the ISDU timeout limit shall be considered (Table 91).

10.4 Data Storage (DS) 2532

10.4.1 General 2533

The Data Storage (DS) mechanism enables the consistent and up-to-date buffering of the Device parameters on upper levels like PLC programs or fieldbus parameter server. Data Storage between Masters and Devices is specified within this document, whereas the adjacent upper data storage mechanisms depend on the individual fieldbus or system. The Device holds a standardized set of objects providing information about parameters for data storage such as memory size requirements, control and state information of the Data Storage mechanism (Table B.9). Revisions of Data Storage parameter sets are identified via a Parameter Checksum.

The implementation of the DS mechanism defined in this specification is highly recommended for Devices. If this mechanism is not supported it is the responsibility of the Device vendor to describe how parameterization of a Device after replacement can be ensured in a system conform manner without tools.

10.4.2 Data Storage state machine 2546

Any changed set of valid parameters leads to a new Data Storage upload. The upload is initiated by the Device by raising a "DS_UPLOAD_REQ" event (Table D.2). The Device shall store the internal state "Data Storage Upload" in non-volatile memory (Table B.9, State Property), until it receives a Data Storage command "DS_UploadEnd" or "DS_DownloadEnd".

The Device shall generate an event "DS_UPLOAD_REQ" (Table D.2) only if the parameter set is valid and

parameters assigned for data storage have been changed locally on the Device (for example teach-in, human machine interface, etc.), or

the Device receives a SystemCommand "ParamDownloadStore"

With this event information the Data Storage mechanism of the Master is triggered and initiates a data storage upload sequence.

The state machine in Figure 85 illustrates the Device Data Storage mechanism.

Page 147: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 147 – Working Draft

DSStateCheck_0

/Inialization

DSIdle_2

[Unlocked]/T6

DS_ParUpload_ind/T7DS_ParUpload_ind/T7

[Unlocked]/T6

DSLocked_1

[Locked]/T1

[Unlocked & DS_UPLOAD_FLAG]/T4

[Locked]/T5

[Unlocked & not DS_UPLOAD_FLAG]/T3

DS_ParUpload_ind/T2

[Locked]/T1

[Unlocked & DS_UPLOAD_FLAG]/T4

[Locked]/T5

[Unlocked & not DS_UPLOAD_FLAG]/T3

DS_ParUpload_ind/T2

[TransmissionStart]/T8

DSActivity_3

[TransmissionStart]/T8

[TransmissionEnd]/T9

[TranmissionBreak]/T10

[TransmissionEnd]/T9

[TranmissionBreak]/T10

2559

2560

2561

2562

Figure 85 – The Data Storage (DS) state machine

Table 90 shows the state transition tables of the Device Data Storage (DS) state machine.

Table 90 – State transition table of the Data Storage state machine

STATE NAME STATE DESCRIPTION

DSStateCheck_0 Check activation state after initialization

DSLocked_1 Waiting on data storage state machine to become unlocked

DSIdle_2 Waiting on data storage activities

DSActivity_3 Provide parameter set; local parameterization locked. 2563

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 Set State_Property = "Data storage access locked" (Table B.9)

T2 1 1 Set DS_UPLOAD_FLAG = TRUE (Table B.9)

T3 1 2 Set State_Property = "Inactive" (Table B.9)

T4 1 2 Cast AL_EVENT.req (EventCode: DS_UPLOAD_REQ), Set State_Property = "Inactive" (Table B.9)

T5 2 1 Set State_Property = "Data storage access locked" (Table B.9)

T6 0 2 Set State_Property = "Inactive" (Table B.9)

T7 2 2 Set DS_UPLOAD_FLAG = TRUE (Table B.9), cast AL_EVENT.req (EventCode: DS_UPLOAD_REQ)

T8 2 3 Lock local parameter access, set State_Property = "Upload" or "Download" (Table B.9)

T9 3 2 Set DS_UPLOAD_FLAG = FALSE, unlock local parameter access, Set State_Property = "Inactive" (Table B.9)

T10 3 2 Unlock local parameter access, Set State_Property = "Inactive" (Table B.9)

2564

INTERNAL ITEMS TYPE DEFINITION

Unlocked Bool Data Storage unlocked, see B.2.4

Locked Bool Data Storage locked, see B.2.4

DS_ParUpload.ind Service Device internal service between PM and DS (Figure 81)

Page 148: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 148 – 61131-9/WD V0.5 IEC

INTERNAL ITEMS TYPE DEFINITION

TransmissionStart Bool DS_Command "DS_UploadStart" or "DS_DownloadStart" received, see Table B.9

TransmissionEnd Bool DS_Command "DS_UploadEnd" or "DS_DownloadEnd" received, see Table B.9

TransmissionBreak Bool SM_MODE_INACTIVE or DS_Command "DS_Break" received, see Table B.9

2565

2566 2567

The truncated sequence chart in Figure 86 illustrates the important communication sequences after the parameterization.

MasterApp

AL_ Write_cnf(+)

MasterAL

AL_ Event_ ind(DS_UPLOAD_REQ)

AL_ Write_req(DS_ Comm and)

SDCI_Message()

DeviceAL

SDCI_Message()

SDCI_Message()

DeviceApp

AL_ Write_i nd(DS_ Comm and)

AL_ Event(DS_UPL OAD_ REQ)

AL_ Write_res(+)

AL_ Write_i nd(SysComma nd)

(ParamUplo adStart) Data storag e uplo ad requ est act ive

(DS_Uploa dEnd o rDS_ Downlo adEnd )

Data storag e requ est inactive

(DS_Uploa dEnd o rDS_ Downlo adEnd )

2568

2569

2571 2572 2573

2575 2576 2577 2578 2579

Figure 86 – Data Storage request message sequence

10.4.3 DS configuration 2570

The Data Storage mechanism inside the Device can be disabled via the Master, for example by a tool or a PLC program to avoid intensive communication during commissioning or system tests. See B.2.4 for further details.

10.4.4 DS memory space 2574

To handle the requested data amount for Data Storage under any circumstances, the requested amount of indices to be saved and the required total memory space are given in the Data Storage Size parameter, see Table B.9. The required total memory space (including the structural information shall not exceed 2 048 octets (Annex F). The Data Storage mechanism of the Master shall be able to support this amount of memory per port.

Page 149: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 149 – Working Draft

10.4.5 DS Index_List 2580

The Device is the "owner" of the DS Index_List (Table B.9). Its purpose is to provide all the necessary information for a Device replacement. The DS Index_List shall be fixed for any specific DeviceID. Otherwise the data integrity between Master and Device cannot be guaranteed. The Index List shall contain the termination marker (

2581 2582 2583 2584 2585

2587 2588 2589 2590 2591

2593 2594 2595

2597 2598 2599

2601 2602 2603 2604 2605 2606 2607 2608 2609

2610 2611 2612

2613 2614 2615

2618 2619

2621 2622 2623

Table B.9), if the Device does not support Data Storage (see 10.4.1). The required storage size shall be 0 in this case.

10.4.6 DS parameter availability 2586

All indices listed in the Index List shall be readable and writeable between the SystemCommands "DS_UploadStart" or "DS_DownloadStart" and "DS_UploadEnd" or "DS_DownloadEnd" (Table B.9). If one of the Indices is rejected by the Device, the Data Storage Master will abort the up- or download with a SystemCommand "DS_Break". In this case no retries of the Data Storage sequence will be performed.

10.4.7 DS without ISDU 2592

The support of ISDU transmission in a Device is a precondition for the Data Storage of parameters. Parameters in Direct Parameter page 2 cannot be saved and restored by the Data Storage mechanism.

10.4.8 DS parameter change indication 2596

The Parameter_Checksum defined in Table B.9 is used as an indicator for changes in a parameter set. This standard does not require a specific mechanism for detecting parameter changes. A set of recommended methods is provided in the informative Annex J.

10.5 Event Dispatcher (ED) 2600

Any of the Device applications can generate predefined system status information when SDCI operations fail or technology specific information (diagnosis) as a result from technology specific diagnostic methods. The Event Dispatcher turns this information into an event according to the definitions in A.6. The Event consists of an EventQualifier indicating the properties of an incident and an EventCode ID representing a description of this incident together with possible remedial measures. Table D.1 comprises a list of predefined IDs and descriptions for application oriented incidents. A range of IDs is reserved for technology specific (vendor) incidents. Table D.2 comprises a list of predefined IDs for SDCI specific incidents.

Events are classified in "Errors", "Warnings", and "Notifications". See 10.9.2 for recommendations on how to assign these classifications and (11.5) how the Master is controlling and processing these events.

All events provided at one point in time are acknowledged with one single command. Therefore the event acknowledgement may be delayed by the slowest acknowledgement from upper system levels.

10.6 Device features 2616

10.6.1 General 2617

The following Device features are defined to a certain degree in order to achieve a common behavior. They are accessible via standardized or Device specific methods or parameters.

10.6.2 Device compatibility 2620

This feature enables a Device to play the role of a previous Device revision. In the start-up phase the Master system management overwrites the Device's inherent DeviceID (DID) with the requested former DeviceID. The Device's technology application shall switch to the former

Page 150: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 150 – 61131-9/WD V0.5 IEC

functional sets or subsets assigned to this DeviceID. Device compatibility support is optional for a Device.

2624 2625

2627 2628 2629 2630

2631

2633 2634

2635 2636

2637 2638 2639

2641 2642 2643 2644 2645

2647 2648 2649 2650

2652 2653 2654 2655 2656

2658 2659 2660 2661

2663 2664 2665

10.6.3 Protocol revision compatibility 2626

This feature enables a Device (≥ V1.1) to adjust its protocol layers to a previous SDCI protocol version. In the start-up phase the Master (≥ V1.1) system management overwrites the Device's inherent protocol RevisionID (RID). Revision compatibility support is optional for a Device (≥ V1.1).

NOTE A Device (≥ V1.1) operates on a legacy Master (V1.0) according to [13].

10.6.4 Factory settings 2632

This feature enables a Device to return to the original delivery status while communicating. In case the Data Storage flag has been set it shall be reset.

NOTE In this case an existing stored parameter set within the Master will be automatically downloaded into the Device after its start-up.

It is the vendor's responsibility to guarantee the correct function under any circumstances. The reset is triggered by the reception of the SystemCommand "Restore factory settings" (Table B.8). Reset to factory settings is optional for a Device.

10.6.5 Application reset 2640

This feature enables a Device to reset the technology specific application. It is especially useful whenever a technology specific application has to be set to a predefined operational state without communication interruption and a shut-down cycle. The reset is triggered by the reception of a SystemCommand "Application reset" (Table B.8). Reset of the technology specific application is optional for a Device.

10.6.6 Device reset 2646

This feature enables a Device to perform a "warm start". It is especially useful whenever a Device has to be reset to an initial state such as power-on. In this case communication will be interrupted. The warm start is triggered by the reception of a SystemCommand "Device reset" (Table B.8). Warm start is optional for a Device.

10.6.7 Visual SDCI indication 2651

This feature indicates the operational state of the Device's SDCI interface. The indication of the SDCI mode is described in 10.9.3. Indication of the SIO mode is vendor specific and not covered by this definition. The function is triggered by the indication of the system management (within all states except SM_Idle and SM_SIO in Figure 76). SDCI indication is optional for a Device.

10.6.8 Parameter access locking 2657

This feature enables a Device to globally lock or unlock write access to all writable Device parameters accessible via the SDCI interface (B.2.4). The locking is triggered by the reception of a system parameter "Device Access Locks" (Table B.7). The support for these functions is optional for a Device.

10.6.9 Data storage locking 2662

Setting this lock will cause the "State_Property" in Table B.9 to switch to "Data Storage locked" and the Device not to send a DS_UPLOAD_REQ Event. The support for this function is mandatory for a Device if the Data Storage mechanism is implemented.

Page 151: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 151 – Working Draft

10.6.10 Device parameter locking 2666

Setting this lock will disable overwriting Device parameters via on-board control or adjustment elements such as teach-in buttons (

2667 2668 2669

2671 2672 2673

2675

2676 2677

2678 2679

2680 2681

2682

2683

B.2.4). The support of this function is optional for a Device.

10.6.11 Device user interface locking 2670

Setting this lock will disable the operation of on-board human machine interface displays and adjustment elements such as teach-in buttons on a Device (B.2.4). The support for this function is optional for a Device.

10.6.12 Offset time 2674

The offset time toffset is a parameter to be configured by the user (B.2.20). It determines the

beginning of the Device's technology data processing in respect to the start of the F-sequence cycle, that means the beginning of the Master (port) message. The offset enables

Data processing of a Device to be synchronized with the Master (port) cycle within certain limits

Data processing of multiple Devices on different Master ports to be synchronized with one another

Data processing of multiple Devices on different Master ports to run with a defined offset

Figure 87 illustrates the timing of messages in respect to the data processing in Devices.

Port(Master)

Device

Message

Message

Data processingDevice specific technology

Message

Message

Data processing

tCYC

toffset

tframe tidle

toffset

2684

2685

2686 2687

2689 2690 2691 2692 2693

2695 2696 2697

Figure 87 – Cycle timing

The offset time defines a trigger relative to the start of an F-sequence cycle. The support for this function is optional for a Device.

10.6.13 Data Storage concept 2688

The Data Storage mechanism in a Device allows to automatically save parameters in the Data Storage server of the Master and to restore them upon event notification. Data consistency is checked in either direction within the Master and Device. Data storage mainly focuses on configuration parameters of a Device set up during commissioning (10.4 and 11.3). The support of this function is optional for a Device.

10.6.14 Block Parameter 2694

The Block Parameter transmission feature in a Device allows transfer of parameter sets from a PLC program without validity checks of the single data objects. The validity check is performed at the end of the Parameter Block transmission. This function mainly focuses on

Page 152: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 152 – 61131-9/WD V0.5 IEC

exchange of parameters of a Device to be set up at runtime (10.3). The support of this function is optional for a Device.

2698 2699

2702 2703 2704 2705

2707 2708 2709 2710

2711 2712 2713 2714

2715 2716

2718 2719 2720 2721 2722

2723 2724

2726 2727

2728

2729 2730

2731 2732

2733 2734

2735 2736

2738 2739 2740

10.7 Device design rules and constraints 2700

10.7.1 General 2701

In addition to the protocol definitions in form of state, sequence, activity, and timing diagrams some more rules and constraints are required to define the behavior of the Devices. An overview of the major protocol variables scattered all over the document are concentrated in one table with references.

10.7.2 Process data 2706

The process communication channel transmits the cyclic process data without any interference of the on-request communication channels. Process data exchange starts automatically whenever the Device is switched into the OPERATE state via message from the Master.

The format of the transmitted data is Device specific and varies from no data octets up to 32 octets in each communication direction. It is highly recommended to comply especially with the rules in E.3.3 and in [3]. It also should be considered that the data structures are not causing ineffective PLC programs.

See A.1.5 for details on the indication of valid or invalid Process Data via a PDValid flag within cyclic data exchange.

10.7.3 Direct Parameter 2717

The Direct Parameter page communication provides no handshake mechanism to ensure proper reception or validity of the transmitted parameters. The Direct Parameter page can only be accessed single octet by single octet (Subindex) or as a whole (16 octets). Therefore, the consistency of parameters larger than 1 octet cannot be guaranteed in case of single octet access.

The parameters from the Direct Parameter page cannot be saved and restored via the Data Storage mechanism.

10.7.4 ISDU communication channel 2725

The ISDU communication channel provides a powerful means for the transmission of parameters and commands (B.2).

The following rules shall be considered when using this channel (see Figure 5).

Index 0 is not accessible via the ISDU communication channel. The access is redirected by the Master to the Direct Parameter page 1 using the page communication channel.

Index 1 is not accessible via the ISDU communication channel. The access is redirected by the Master to the Direct Parameter page 2 using the page communication channel.

Index 3 cannot be accessed by a PLC application program. The access is limited to the Master application only (Data Storage).

Any ISDU request from the Master shall be responded by the Device within 5 seconds (Table 91). Any violation leads to the abortion of the actual task.

10.7.5 Device compatibility 2737

As a Device can provide compatibility to previous DeviceIDs (DID), these compatible Devices shall support all parameters and communication capabilities of the previous Devie ID. Thus, the Device is permitted to change any communication or identification parameter in this case.

Page 153: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 153 – Working Draft

10.7.6 Protocol constants 2741

Table 91 provides an overview of the major protocol constants for Devices. 2742

2743 Table 91 – Overview of the protocol constants for Devices

System variable References Values Definition

ISDU acknowledgement time, for example after a SystemCommand

B.2.2 5 000 ms Time from reception of an ISDU for example SystemCommand and the beginning of the response message of the Device (Figure 59)

Maximum number of entries in Index List

B.2.3 70 Each entry comprises an Index and a Subindex. 70 entries results in a total of 210 octets.

Preset values for unused or reserved parameters, for example FunctionID

Annex B 0 (if numbers)

0x00 (if characters)

Engineering shall set all unused parameters to the preset values.

Wake-up procedure 7.3.2.2 Table 34 and Table 35

Minimum and maximum timings and number of retries

MaxRetry 7.3.3.3 2 Table 38

Maximum number of retries after communication errors

MinCycleTime A.3.7 and B.1.4

Table A.11 and Table B.3

Device defines its minimum cycle time to aquire input or process output data.

Usable Index range B.2 Table B.7 This version of the document reserves some areas within the total range of 65 535 Indices.

Errors and warnings 10.9.2 50 ms An event with MODE "Event appears" shall stay at least for the duration of this time.

Pending errors or warnings 10.9.2 1 Per Device at one point in time

2744

2746 2747 2748 2749 2750 2751 2752

2753 2754 2755 2756

2757 2758

2761 2762 2763 2764 2765

10.8 Device description (IODD) 2745

An IODD (IO Device Description) is a file that formally describes a Device using XML notation and a corresponding schema. This file may be zipped and supplemented by all the necessary references such as images. The schema shall not be included. The IODD is created by the Device vendor and can be used by engineering tools for PLCs and/or Masters for the purpose of identification, configuration, definition of data structures for process data exchange, parameterization, and diagnosis decoding of a particular Device. Support of different languages is possible.

Details of the IODD language to describe a Device together with the corresponding schemas can be found in [3]. Tools for the checking of IODD files for correctness can be downloaded from the web sites of the organization in Annex K. It is mandatory for the Device vendor to use the tools such that the file is authorized via a stamp.

The IODD file is mandatory and shall be delivered with each Device (at least accessible via the Internet).

10.9 Device diagnosis 2759

10.9.1 Concepts 2760

This document provides only most common EventCodes in D.2. It is the purpose of these common diagnosis informations to enable an operator or maintenance person for fast remedial measures without deep knowledge of the Device's technology. Thus, the text associated with a particular EventCode shall always contain a corrective instruction together with the diagnosis information.

Page 154: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 154 – 61131-9/WD V0.5 IEC

Fieldbus-Master-Gateways tend to only map few EventCodes to the upper system level. Usually, vendor specific EventCodes defined via the IODD can only be decoded into readable instructions via a Port Configurator or specific vendor tool using the IODD.

2766 2767 2768

2769 2770 2771

2772 2773 2774

2775 2776 2777 2778

2779

Condensed information of the Device's "state of health" can be retrieved from the parameter "Device Status" (B.2.16). Table 92 provides an overview of the various possibilities for Devices and shows examples of consumers for this information.

If implemented, it is also possible to read the number of faults since power-on or reset via the parameter "Error Count" (B.2.15) and more information in case of profile Devices via the parameter "Detailed Device Status" (B.2.17 and [12]).

If required, it is highly recommended to provide additional "deep" technology specific diagnosis information in form of Device specific parameters (Table B.7) that can be retrieved via port and Device configuration tools for Masters or via vendor specific tools. Usually, only experts or service personnel of the vendor are able to draw conclusions of this information.

Table 92 – Classification of Device diagnosis incidents

Diagnosis incident Appear/ disappear

Single shot

Parameter Destination Consumer

Error (fast remedy; standard EventCodes)

yes - - PLC or HMI (fieldbus mapping)

Maintenance and repair personnel

Error (IODD: vendor specific EventCodes; see Table D.1)

yes - - Port Configurator or vendor tool

Vendor service personnel

Error (via Device specific parameters)

- - Table B.7 Port Configurator or vendor tool

Vendor service personnel

Warning (fast remedy; standard EventCodes)

yes - - PLC or HMI Maintenance and repair personnel

Warning (IODD: vendor specific EventCodes; see Table D.1 )

yes -

Warning (via Device specific parameters)

- - Table B.7

Port Configurator or vendor tool

Vendor service personnel

Notification (Standard EventCodes)

- yes Port Configurator Commissioning personnel

Detailed Device status - -

Number of faults via parameter "Error Count"

- - B.2.15

Port Configurator or vendor tool

Commissioning personnel and vendor service personnel

Device "health" via parameter "Device Status"

- - B.2.16,

Table B.12

HMI, Tools such as "Asset Management"

Operator

2780

2782

2783

2784

2785

2786 2787 2788

10.9.2 Events 2781

The following rules apply:

Events of TYPE "Error" shall use the MODEs "Event appears / disappears" (A.6.4)

Events of TYPE "Warning" shall use the MODEs "Event appears / disappears"

Events of TYPE "Notification" shall use the MODE "Event single shot"

All "appeared" events are discarded by the Event Dispatcher when communication is interrupted or cancelled. After resume of communication the technology specific application shall enter pending events again.

Page 155: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 155 – Working Draft

2789 2790 2791

2792

2793

2794 2795

2796

2797

2798 2799

2800

2801

2803 2804

2805 2806 2807

It is the responsibility of the Event Dispatcher to control the "Event appears" and "Event disappears" flow. A new event with MODE "Event appears" shall be preceded by an event with MODE "Event disappears".

Each Event shall use a static and mode attribute.

Vendor specific Events shall be fixed as an error, warning, or notification.

In order to prevent the diagnosis communication channel (Figure 5) from being flooded, the following rules shall be considered:

Errors or warnings with the same EventCode shall not occur at a high rate.

An event with MODE "Event appears" shall stay for at least 50 ms.

Subsequent incidents of errors or warnings with the same root cause shall be suspended, that means one root cause leads to one error or warning.

A Device shall not hold more than one pending error or warning at one point in time.

Errors are prioritized against warnings.

10.9.3 Visual indicators 2802

The indication of SDCI communication on the Device is optional. The SDCI indication shall use a green indicator. The indication follows the timing and specification shown in Figure 88.

The general perception should be "power is on". A short periodical interruption indicates SDCI communication. In order to avoid flickering, the indication cycle shall start with a "LED off" state and shall always be completed (Table 93).

Toff

Trep

LED on LED on LED onLED off LED off

2808

2809

2810

2811

Figure 88 – Device LED indicator timing

Table 93 defines the timing for the LED indicator of Devices.

Table 93 – Timing for LED indicators

Timing Minimum Typical Maximum Unit

Trep 750 1 000 1 250 ms

Toff 75 100 150 ms

Toff /Trep 7,5 10 12,5 %

2812

2814 2815

2816 2817

2818

10.10 Device connectivity 2813

See 5.5 for the different possibilities of connecting Devices to Master ports and the corresponding cable types as well as the color coding.

Devices can provide additional connections, for example analog outputs for compatibility reasons.

Page 156: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 156 – 61131-9/WD V0.5 IEC

11 Master 2819

11.1 Overview 2820

11.1.1 Generic model for the system integration of a Master 2821

In 4.2 the domain of the SDCI technology within the automation hierarchy is already illustrated.

2822 2823

2824 2825 2826 2827 2828

Figure 89 shows exemplary the generic relationship between the SDCI technology and the fieldbus technology. Even though this may be the major use case in practice, this does not automatically imply that the SDCI technology depends on the integration into fieldbus systems. It can also be directly integrated into PLC systems, industrial PC, or other control systems without fieldbus communication in between.

DeviceDevice

ApplicationApplication

DeviceDevice

ApplicationApplication

DeviceDevice

ApplicationApplication

Fieldbus interfaceFieldbus interface

Data storage

Parameter server

SDCI

PLC / HostPLC / Host

Fieldbusintegration

Devicedescription

Port 2

Engineering/HMI (Fieldbus): Network configuration, Master parameterization, Process data exchange Master/Device diagnosis, Identification & maintenance

Port 1 Port n

Fieldbus controllerFieldbus controller

Gateway applicationGateway application

MasterMaster

Port configuration, Device parameterization, Device diagnosis, Identification & maintenance

Port and Device Configuration Tool (IODD):

2829

2830

2832

2833 2834 2835 2836 2837 2838 2839

2840 2841

2842

2843 2844

Figure 89 – Generic relationship of SDCI technology and fieldbus technology

11.1.2 Structure and services of a Master 2831

Figure 90 provides an overview of the complete structure and the services of a Master.

The Master applications comprise first a fieldbus specific gateway or direct connection to a PLC (host) for the purpose of start-up configuration and parameterization as well as process data exchange, user-program-controlled parameter change at runtime, and diagnosis propagation. For the purpose of configuration, parameterization, and diagnosis during commissioning a so-called "Configurator-Tool" (Software) is connected either directly to the Master or via fieldbus communication. These two instruments are using the following common Master applications

Configuration Manager (CM), which transforms the user configuration assignments into port set-ups;

On-request Data Exchange, which provides for example acyclic parameter access

Data Storage (DS) mechanism, which can be used to save and restore the Device parameters;

Page 157: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 157 – Working Draft

2845 2846 2847

2848

2849

2850 2851

2852 2853 2854

Diagnosis Unit (DU), which is processing events from the Device and propagates this diagnosis information together with Master diagnosis information to upper level automation instruments;

Process Data Exchange (PDE), building the bridge to upper level automation instruments.

These Master applications provide standard methods/functions common to all Masters.

The Configuration Manager (CM) and the Data Storage mechanism (DS) need special coordination in respect to On-request Data, see Figure 91 and Figure 101.

The gateway application maps these functions into the features of a particular fieldbus/PLC or directly into a host system. It is not within the responsibility of this specification to define any of these gateway applications. See Annex K for the availability of specifications.

MasterDL-modehandler

Framehandler

Systemmanagement

On-request datahandler

Process datahandler

DL-B

DL-A

PL_Transfer.req PL_Transfer.ind

PD

.req

PD

Trig

DL_

Eve

nt

DL_

PD

Out

-pu

tUp

date

DL_

PD

Inp

ut-

Tra

nspo

rt

DL_

Re

ad-

Par

am

DL_

Writ

e-P

aram

DL_

ISD

U-

Tra

nspo

rt

DL_

Co

ntro

l

DL_

PD

Cyc

le

PL_WakeUp.req

Coordi-nation

SM

_Set

Por

tCon

fig

SM

_Por

tMo

de

SM

_Get

Por

tCo

nfig

SM

_Op

erat

e

Application Layer

PL_Mode.req

CMD.req

CMD.cnf

CM

D.r

eq

CM

D.c

nf

Eve

ntF

lag.

ind

Wake-up Switching signalCoded switchingInactive

Data Link Layer

Mode switch

Physical layer (port)

SIO:DI / DO

DL_SetMode

DL_Read

DL_Write

DL_Mode

Process dataobjects

On-request dataobjects

AL

AL_

Re

ad

AL_

Writ

e

AL_

Ab

ort

AL_

Co

ntro

l

AL_

Eve

nt

AL_

Get

Inpu

t

AL_

Ne

wIn

put

AL_

Set

Out

put

AL_

PD

Cyc

le

SIO:DI / DO

Port xHandler

Data Storage

Master applications

Process Data Exchange

Gateway application (configuration, parameterization, diagnosis, on-request, and process data)

Configuration Manager Diagnosis Unit

FHInfo

DL_

ISD

U-

Abo

rt

DL_

Eve

nt-

Con

fAL_Read

On-request Data Exchange

PD

.cnf

PD

Val

id

Com

Trig

2855

2856

2857

Figure 90 – Structure and services of a Master

Figure 91 shows the relationship of the common Master applications.

Page 158: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 158 – 61131-9/WD V0.5 IEC

Gateway application (configuration, parameterization, diagnosis, on-request, and process data)Gateway application (configuration, parameterization, diagnosis, on-request, and process data)

ConfigurationManagment

(CM)

ConfigurationManagment

(CM)

Data Storage

(DS)

Data Storage

(DS)

On-requestData

Exchange

(ODE)

On-requestData

Exchange

(ODE)

DS_Startup

DS_Ready

DS_Fault

Start of portand Device

Data Storageinterface

On-request Datainterface

Diagnosisinterface

Process Datainterface

Op

era

tingM

ode

Ope

ratin

g o

r F

aul

t

DS

_Del

ete

OD_Block

OD_Unblock DiagnosisUnit(DU)

DiagnosisUnit(DU)

ProcessData

Exchange

(PDE)

ProcessData

Exchange

(PDE)

DU

_S

tart

Eve

nts

PD

_Sta

rt

DS_UPLOAD_REQ

AL_Write AL_Read AL_Write

AL_Control

AL_Event(response)

AL_Event(Indication)

AL_PD-Services

AL_Read

SM-ServicesO

D_S

top

OD

_Sta

rt

Dat

a

Dat

a

DU

_S

top

PD

_S

top

Dat

a

2858

2859

2860 2861 2862

2863

Figure 91 – Relationship of the common Master applications

The internal variables between the common Master applications are defined in Table 94. The main responsibility is assigned to the Configuration Manager (CM) as shown in Figure 91 and explained in 11.2.

Table 94 – Internal variables and events to control the common Master applications

Internal Variable Definition

DS_Startup This variable triggers the Data Storage (DS) state machine causing an Upload or Download of Device parameters if required (11.3).

DS_Ready This variable indicates the Data Storage has been accomplished successfully; operating mode is CFGCOM or AUTOCOM (9.2.2.2)

DS_Fault This variable indicates the Data Storage has been aborted due to a fault.

DS_Delete Any verified change of Device configuration leads to a deletion of the stored data set in the Data Storage.

DS_UPLOAD_REQ This special event "DS_UPLOAD_REQ" from the Device triggers the Data Storage state machine in the Master.

OD_Start This variable enables On-request Data access via AL_Read and AL_Write.

OD_Stop This variable indicates that On-request Data access via AL_Read and AL_Write is acknowledged with a negative response to the gateway application.

OD_Block Data Storage upload and download actions disable the On-request Data access through AL_Read or AL_Write. Access by the gateway application is denied.

OD_Unblock This variable enables On-request Data access via AL_Read or AL_Write.

DU_Start This variable enables the Diagnosis Unit to propagate remote (Device) or local (Master) events to the gateway application.

DU_Stop This variable indicates that the Device events are not propagated to the gateway application and not acknowledged. Available Events are blocked until the DU is enabled again.

PD_Start This variable enables the Process Data exchange with the gateway application.

PD_Stop This variable disables the Process Data exchange with the gateway application.

2864

Page 159: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 159 – Working Draft

11.2 Configuration Manager (CM) 2865

11.2.1 General 2866

Figure 91 and Figure 92 illustrate the coordinating role of the Configuration Manager amongst all the common Master applications. After setting up a port to the assigned modes (

2867 2868 2869 2870

2871 2872 2873

2874 2875 2876 2877

11.2.2.1 through 11.2.2.3), CM starts the Data Storage mechanism (DS) and returns the variable "Operating" or "Fault" to the gateway application.

In case of the variable "Operating" of a particular port, the gateway application activates the state machines of the associated Diagnosis Unit (DU), the On-request Data Exchange (ODE), and the Process Data Exchange (PDE).

After all SDCI ports are ready ("ReadytoOperate", see Figure 92), the gateway application shall activate all ports ("StartOperate") to ensure that synchronization of port cycles can take place. Finally, the Devices are exchanging Process Data ("Operating"). In case of error the gateway application receives "Communication stopped".

CM SM

SM_PortMode(CFGCOM)

SM_SetPortConfig(CFGCOM)

SM_Operate()

SM_PortMode(OPERATE)

SM_PortMode(CFGCOM)

SM_SetPortConfig(CFGCOM)

SM_Operate()

SM_PortMode(OPERATE)

DS

DS_Startup()

DS_Ready()

DS_Startup()

DS_Ready()

OD_Unblock()

ODE

OD_Unblock()

OD_Block()

OD_Unblock()

OD_Block()

OD_Block()

OD_Unblock()

OD_Block()

DU

DS_UploadRequest()DS_UploadRequest()

OperatingMode(SDCI)

Gateway

OperatingMode(SDCI)

Operating()

ReadyToOperate()

StartOperate()

OD_Start()

DU_Start()

Operating()

ReadyToOperate()

StartOperate()

OD_Start()

DU_Start()

PD_Start()

PDE

PD_Start()

Data Storage active:Download, upload, none

Gateway access to On-request Data disabled

On-request Data Exchange enabled

Processing of events enabled. Event "DS_UPLOAD_REQ" occurs

Gateway access to On-request Data disabled

All ports are working in cyclic Process Data exchange.Device available for example to a fieldbus system

Process Data Exchange enabled

Activatesall ports

2878

2879 Figure 92 – Sequence diagram of Configuration Manager actions

Page 160: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 160 – 61131-9/WD V0.5 IEC

In case of a fault (e.g. RevisionFault, see Figure 66), only the ODE machine will be activated to allow for parameterization.

2880 2881

2882 2883

2884 2885

2888

2889 2890 2891

2892 2893 2894

2895 2896 2897

2898 2899 2900 2901

2902 2903 2904 2905

2907

2908 2909

2910 2911 2912 2913

2914 2915 2916 2917 2918

At each new start of a port the gateway application will first de-activate (e.g. OD_Stop) the associated machines DU, ODE, and PDE.

Several parameters are available for the Configuration Manager to achieve a specific behaviour.

11.2.2 Configuration parameter 2886

11.2.2.1 OperatingMode 2887

One of the following operating modes can be selected. All modes are mandatory.

Inactive The SDCI port is deactivated, the corresponding process data length for input and output is zero. The Master shall not have any activities on this port.

DO The SDCI port is configurated as a digital output (see Table 2 for constraints). The output process data length is 1 bit. The Master shall not try to wake up any Device at this port.

DI The SDCI port is configurated as a digital input. The input process data length is 1 bit. The Master shall not try to wake up any Device at this port.

SDCI An SDCI port is configured for continuous communication. The defined identification is checked. Whether a difference in Device identification will lead to the rejection of the Device or not depends on the port configuration (InspectionLevel, see Table 71).

ScanMode The SDCI port is configured for continuous communication. The identification is read back from the Device and provided as the new defined identification. Otherwise see OperatingMode "SDCI".

11.2.2.2 PortCycle 2906

One of the following port cycle modes can be selected. None of the modes is mandatory.

FreeRunning The port cycle timing is not restricted.

FixedValue The port cycle timing is fixed to a specific value. If the Device is not able to achieve this timing, for example the timing is lower than the MinCycleTime of the Device, an error shall be generated. The fixed value can be written in the CycleTime parameter as defined in 11.2.2.3.

MessageSync The port cycle timing is restricted to the synchronous start of all messages (frames) on all SDCI ports of this Master. In this case the cycle time is given by the highest MinCycleTime of the connected Devices. All Master ports set to this mode are working with this behaviour as shown in Figure 93. Values for displacement and jitter shall be noted in the user manual.

Page 161: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 161 – Working Draft

t

Port 1

Port 2

Port 3

Port 4

CycleTime 2919

2920

2922 2923

2925 2926

2927 2928

2929 2930

2931 2932

2933 2934

2935 2936

2937 2938

2940

2941 2942

2943 2944

2945

2946

2947

2948

2950

Figure 93 – Ports in MessageSync mode

11.2.2.3 CycleTime 2921

This parameter contains the requested or actual cycle time for the specific ports. It shall be passed as a value with a resolution of 100 µs.

11.2.2.4 PDConfig 2924

This set of parameters contains the rules for the process data mapping between the Device Process Data stream and the gateway Process Data stream.

LenIn This parameter contains the requested length of the Device input ProcessDataIn Bits.

PosIn This parameter contains the offset within the gateway input Process Data stream in Bit.

SrcOffsetIn This parameter contains the offset within the Device input Process Data stream in Bit.

LenOut This parameter contains the requested length of the Device output ProcessDataOut Bits.

PosOut This parameter contains the offset within the gateway output Process Data stream in Bit.

SrcOffsetOut This parameter contains the offset within the Device output Process Data stream in Bit.

11.2.2.5 DeviceIdentification 2939

This set of parameters contains the actual configured Device identification.

VendorID This parameter contains the requested or read vendor specific ID as described in B.1.9.

DeviceID This parameter contains the requested or read Device specific ID as described in B.1.10.

SerialNumber

This parameter contains the requested or read SerialNumber as described in B.2.11.

InspectionLevel

This parameter contains the requested InspectionLevel as described in Table 71.

11.2.2.6 DataStorageConfig 2949

This set of parameter items contains the settings of the Data Storage mechanism.

Page 162: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 162 – 61131-9/WD V0.5 IEC

ActivationState 2951 2952 2953

2954 2955 2956

2957 2958 2959

2960 2961 2962

2963 2964 2965

2966 2967 2968

2970

2971 2972

2973 2974

This parameter contains the requested state of the Data Storage mechanism for this port. The following modes are supported:

Enabled The Data Storage mechanism is active and provides the full functionality as described in 11.3.2.

Disabled The Data Storage mechanism is inactive and the complete parameter set of this port remains stored.

Cleared The Data Storage mechanism is disabled and the stored parameter set of this port is cleared.

DownloadEnable If this configuration is enabled, the Data Storage mechanism is permitted to write data to the connected Device.

UploadEnable If this configuration is enabled, the Data Storage mechanism is permitted to read data from the connected Device.

11.2.3 State machine of the Configuration Manager 2969

Figure 94 shows the state machine of the Master configuration manager.

The different states show the steps of necessary commands to establish or maintain communication or the DI or DO state.

Any change of the port configuration can be activated by changing the OperatingMode variable (11.2.2.1).

Page 163: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 163 – Working Draft

Key

xFAULT: REV_FAULT or COMP_FAULT or SERNUM_FAULTyMODE: INACTIVE or COMLOSS

Inactive_0

/Initialization

SM_Startup_1

[AUTOCOM]/T2

[SDCI]/T1

[AUTOCOM]/T2

[SDCI]/T1

SM_PortMode_CFGCOM/T3

DS_ParamManager_2

SM_PortMode_AUTOCOM/T5

SM_PortMode_CFGCOM/T3

SM_PortMode_AUTOCOM/T5

WaitingOnOperate_5

SM_PortMode_OPERATE/T9

Port_Active_6

SM_PortMode_OPERATE/T9

SM_PortMode_yMODE/T10SM_PortMode_yMODE/T10

SM_PortMode_xFAULT/T4

PortFault_3SM_PortMode_xFAULT/T4

[DS_Fault]/T7[DS_Fault]/T7

Port_DIDO_7[DO]/T12

[DI]/T11

[Inactive]/T13

[DO]/T12

[DI]/T11

[Inactive]/T13

[DS_Ready]/T6

CM_ReadyToOperate_4

[StartOperate]/T8

[DS_Ready]/T6

[StartOperate]/T8

2975

2976

2977

2978

Figure 94 – State machine of the Configuration Manager

Table 95 shows the state transition table of the Configuration Manager state machine.

Table 95 – State transition tables of the Configuration Manager

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting on any of the OperatingMode variables from the gateway application: DO, DI, SDCI, and ScanMode.

SM_Startup_1 Waiting on an established communication or loss of communication or any of the faults REV_FAULT, COMP_FAULT, or SERNUM_FAULT (Figure 66).

DS_ParamManager_2 Waiting on accomplished Data Storage startup. Parameter are downloaded into the Device or uploaded from the Device.

PortFault_3 Device in state PREOPERATE (communicating). However, one of the three faults REV_FAULT, COMP_FAULT, SERNUM_FAULT, or DS_Fault occurred.

CM_ReadytoOperate_4 Port is waiting until the gateway application indicates "StartOperate".

WaitingOnOperate_5 Waiting on SM to switch to OPERATE.

PortActive_6 Port is in OPERATE mode. The gateway application is exchanging Process Data and ready to send or receive On-request Data.

PortDIDO_7 Port is in DI or DO mode. The gateway application is exchanging Process Data (DI or DO).

Page 164: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 164 – 61131-9/WD V0.5 IEC 2979

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 SM_SetPortConfig_CFGCOM

T2 0 1 SM_SetPortConfig_AUTOCOM

T3 1 2 DS_Startup: The DS state machine is triggered.

T4 1 3 ConfigFault indication to gateway application (REV_FAULT, COMP_FAULT, or SERNUM_FAULT).

T5 1 2 DS_Startup: The DS state machine is triggered.

T6 2 4 Indication to gateway application: ReadyToOperate

T7 2 3 Data Storage failed. Rollback to previous parameter set.

T8 4 5 SM_Operate.

T9 5 6 Indication to gateway application: "Operating" (see Figure 92).

T10 1,2,3,4,5,6

0 SM_SetPortConfig_INACTIVE. Indication to gateway application: COMLOSS or INACTIVE

T11 0 7 SM_SetPortConfig_DI. Indication to gateway application: DI

T12 0 7 SM_SetPortConfig_DO. Indication to gateway application: DO

T13 7 0 SM_SetPortConfig_INACTIVE. 2980

INTERNAL ITEMS TYPE DEFINITION

DS_Ready Bool Data Storage sequence (upload, download) accomplished. Port operating mode is SDCI or ScanMode. See Table 94.

DS_Fault Bool See Table 94.

StartOperate Bool Gateway application causes the port to switch to OPERATE.

SDCI Bool One of the OperatingModes (11.2.2.1)

AUTOCOM Bool One of the OperatingModes (11.2.2.1)

DI Bool One of the OperatingModes (11.2.2.1)

DO Bool One of the OperatingModes (11.2.2.1)

2981

2984 2985 2986 2987 2988

2990

2991 2992 2993 2994 2995

2996 2997 2998

11.3 Data Storage (DS) 2982

11.3.1 Overview 2983

Data Storage between Master and Device is specified within this document, whereas the adjacent upper Data Storage mechanisms depend on the individual fieldbus or system. The Device holds a standardized set of objects providing parameters for data storage, memory size requirements, control and state information of the Data Storage mechanism. Changes of Data Storage parameter sets are detectable via the "Parameter Checksum" (10.4.8).

11.3.2 DS data object 2989

The structure of a Data Storage data object is described in Annex F in Table F.1.

The Master shall always hold the header information (Parameter Checksum, VendorID, and DeviceID) for the purpose of checking and control. The object information (objects 1…n) will be stored within the non-volatile memory part of the Master (Annex F). Prior to a download of the Data Storage data object (parameter block), the Master will check the consistency of the header information with the particular Device.

The maximum permitted size of the Data Storage data object is 2 * 210 octets. It is mandatory for Masters to provide at least this memory space per port if the Data Storage mechanism is implemented.

Page 165: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 165 – Working Draft

11.3.3 DS state machine 2999

3000 3001 3002

3003

The Data Storage mechanism is called right after establishing the SDCI communication, before entering the OPERATE mode. During this time any other communication with the Device shall be rejected by the gateway.

Figure 95 shows the state machine of the Data Storage mechanism.

/Initial ization

CheckActivationState_0 [DS_Off or DS_Deactivated]/T7

Off_3

DS_Upload_Req/T13

DS_Delete/T10

DS_Startup/T14

[DS_Off or DS_Deactivated]/T7 DS_Upload_Req/T13

DS_Delete/T10

DS_Startup/T14

UpDownload_2

enex_2enex_1

[DS_Activated & COM]/T6[DS_Activated & COM]/T6

WaitingOnDSActivity_1DS_Upload_Req/T4

[DS_Ready]/T3

DS_Deactivated/T12

DS_Off/T11

[DS_Activated]/T1

DS_Startup/T2

[DS_Activated& NoCOM]/T8

[DS_Delete]/T9

DS_Fault/T5

DS_Upload_Req/T4

[DS_Ready]/T3

DS_Deactivated/T12

DS_Off/T11

[DS_Activated]/T1

DS_Startup/T2

[DS_Activated& NoCOM]/T8

[DS_Delete]/T9

DS_Fault/T5

3004

3005

3006

3007 3008

Figure 95 – Main state machine of the Data Storage mechanism

Figure 96 shows the submachine of the state "UpDownload_2".

This submachine can be invoked by the Data Storage mechanism or during runtime triggered by a "DS_UPLOAD_REQ" event.

Page 166: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 166 – 61131-9/WD V0.5 IEC

UpDownload_2

CheckIdentity_4

CheckSize_5

[Identification_Passed]/T16

CheckUpload_6

[SizeCheck_Passed]/T18

CheckDSValidity_8

[NoUpload_Requested]/T20

CheckChecksum_9

[DS_Valid]/T22

Download_10

enex_6enex_5

[Checksum_Mismatch &Download_Enable]/T24

Upload_7

enex_4

enex_3

[DS_UPLOAD_Flag & Upload_Enable]/T19

[DS_Invalid & Upload_Enable]/T21

DS_Fault_12

[Identification_Fault]/T15

[SizeCheck_Fault]/T17

[Upload_Fault]/T23

[Download_Fault]/T28

DS_Ready_11[Checksum_Match]/T25

[Upload_Done]/T26

[Download_Done]/T27enex_2enex_1

[Identification_Passed]/T16

[SizeCheck_Passed]/T18

[NoUpload_Requested]/T20

[DS_Valid]/T22

[Checksum_Mismatch &Download_Enable]/T24

[DS_UPLOAD_Flag & Upload_Enable]/T19

[DS_Invalid & Upload_Enable]/T21

[Identification_Fault]/T15

[SizeCheck_Fault]/T17

[Upload_Fault]/T23

[Download_Fault]/T28

[Checksum_Match]/T25

[Upload_Done]/T26

[Download_Done]/T27

[DS_Ready][DS_Fault]

3009

3010

3011

3012 3013

Figure 96 – Submachine "UpDownload_2" of the Data Storage mechanism

Figure 97 shows the submachine of the state "Upload_7".

This state machine can be invoked by the Data Storage mechanism or during runtime triggered by a DS_UPLOAD_REQ event.

Page 167: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 167 – Working Draft

Upload_7

DecomposeIndexList_13ReadParameter_14 [DataIncomplete]/T29

[DataRead]/T30

StoreDataSet_15

[DataComplete]/T34

Upload_Fault_16 [COM_ERROR]/T35

[COM_ERROR]/T32

[Device_Error]/T31

[COM_ERROR]/T33

enex_4enex_3

[DataIncomplete]/T29

[DataRead]/T30

[DataComplete]/T34

[COM_ERROR]/T35

[COM_ERROR]/T32

[Device_Error]/T31

[COM_ERROR]/T33

[Upload_Done][Upload_Fault]

3014

3015

3016 3017 3018

Figure 97 – Data Storage submachine "Upload_7"

Figure 98 demonstrates the Data Storage upload sequence using the Data Storage Index (DSI) defined in B.2.3 and Table B.9. The structure of Index_List is defined in Table B.10. The DS_UPLOAD_FLAG shall be reset at the end of each sequence (Table B.9).

Data Storagememory

Entry X1

Entry Xn

Header

232

Index 0...65535,232 octets/indexmaximum

...

0x0015

232

Index 0...65535,232 octets/indexmaximum

...

0x0015

KeyDSI = Data Storage Index

MasterData

Storage

AL_Write(DSI: Index 3, Subindex 1, DS_UploadStart)

DeviceData

Storage

AL_Write(DSI: Index 3, Subindex 1, DS_UploadStart)

Response(+)

AL_Read(DSI: Index_List, Entry X1)

Response(Content of Entry X1)

AL_Read(DSI: Index_List, Entry Xn)

Response(Content of Entry Xn)

AL_Write(DSI: Index 3, Subindex 1, DS_UploadEnd)

Response(+)

Response(Index_List)

AL_Read(DSI: Index 3, Subindex 5, Index_List)

AL_Read(DSI: Index 3, Subindex 4)

Response(Parameter Checksum)

Response(+)

AL_Read(DSI: Index_List, Entry X1)

Response(Content of Entry X1)

AL_Read(DSI: Index_List, Entry Xn)

Response(Content of Entry Xn)

AL_Write(DSI: Index 3, Subindex 1, DS_UploadEnd)

Response(+)

Response(Index_List)

AL_Read(DSI: Index 3, Subindex 5, Index_List)

AL_Read(DSI: Index 3, Subindex 4)

Response(Parameter Checksum)

...

Reset DS_UPLOAD_FLAG

3019

3020

3021

3022

3023

Figure 98 – Data Storage upload sequence diagram

Figure 99 shows the submachine of the state "Download_10".

This state machine can be invoked by the Data Storage mechanism.

Page 168: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 168 – 61131-9/WD V0.5 IEC

Download_10

DecomposeSet_17WriteParameter_18[Remaining_Data]/T36

[Write_done]/T37

DownloadDone_19

[Data_completed]/T40

Download_Fault_20[COM_ERROR]/T41

[COM_ERROR]/T39

[Device_Error]/T38

enex_6enex_5

[Remaining_Data]/T36

[Write_done]/T37

[Data_completed]/T40

[COM_ERROR]/T41

[COM_ERROR]/T39

[Device_Error]/T38

[Download_Fault] [Download_Done]

3024

3025

3026 3027 3028

Figure 99 – Data Storage submachine "Download_10"

Figure 100 demonstrates the Data Storage download sequence using the Data Storage Index (DSI) defined in B.2.3 and Table B.9. The structure of Index_List is defined in Table B.10. The DS_UPLOAD_FLAG shall be reset at the end of each sequence (Table B.9).

Data Storagememory

Entry X1

Entry Xn

Header

232

Index 0...65535,232 octets/indexmaximum

...

0x0015

232

Index 0...65535,232 octets/indexmaximum

...

0x0015

KeyDSI = Data Storage Index

MasterData

Storage

AL_Write(DSI: Index_List, Entry X1)

DeviceData

Storage

AL_Write(DSI: Index_List, Entry X1)

Response(+)

AL_Write(DSI: Index_List, Entry Xn)

Response(+)

AL_Write(DSI: Index 3, Subindex 1, DS_DownloadEnd)

Response(+)

Response(+)

AL_Write(DSI: Index 3, Subindex 1, DS_DownloadStart)

AL_Read(DSI: Index 3, Subindex 4)

Response(Parameter Checksum)

Response(+)

AL_Write(DSI: Index_List, Entry Xn)

Response(+)

AL_Write(DSI: Index 3, Subindex 1, DS_DownloadEnd)

Response(+)

Response(+)

AL_Write(DSI: Index 3, Subindex 1, DS_DownloadStart)

AL_Read(DSI: Index 3, Subindex 4)

Response(Parameter Checksum)

...

Reset DS_UPLOAD_FLAG

3029

3030

3031

3032

Figure 100 – Data Storage download sequence diagram

Table 96 shows the states and transitions of the Data Storage state machines.

Table 96 – States and transitions of the Data Storage state machines

STATE NAME STATE DESCRIPTION

CheckActivationState_0 Check current state of the DS configuration: Independently from communication status, DS_Startup from Configuration Management or an event DS_UPLOAD_REQ is

Page 169: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 169 – Working Draft

STATE NAME STATE DESCRIPTION

expected.

WaitingOnDSActivity_1 Waiting for upload request, Device startup, all changes of activation state independent of the Device communication state.

UpDownload_2 Submachine for up/download actions and checks

Off_3 Data Storage handling switched off or deactivated

SM: CheckIdentity_4 Check Device identification against data set content (Table F.2). No content does not lead to a fault.

SM: CheckSize_5 Check data set size (Index 3, Subindex 3) against available Master storage size

SM: CheckUpload_6 Check for DS_UPLOAD_FLAG within the Data Storage Index (Table B.9)

SM: Upload_7 Submachine for the upload actions

SM: CheckDSValidity_8 Check whether stored data set is valid or invalid

SM: CheckChecksum_9 Check for differences between the data set content and the Device parameter via the "Parameter Checksum" within the Data Storage Index (Table B.9)

SM: Download_10 Submachine for the download actions

SM: DS_Ready_11 Prepare DS_Ready indication to the Configuration Management (CM)

SM: DS_Fault_12 Prepare DS_Fault indication from "Identification_Fault", "SizeCheck_Fault", "Upload_Fault", and "Download_Fault" to the Configuration Management (CM)

SM: Decompose_IL_13 Read Index List within the Data Storage Index (Table B.9). Read content entry by entry of the Index List from the Device (Table B.10).

SM: ReadParameter_14 Wait until read content of one entry of the Index List from the Device is accomplished.

SM: StoreDataSet_15 Task of the gateway application: store entire data set according to Table F.1 and Table F.2

SM: Upload_Fault_16 Prepare Upload_Fault indication from "Device_Error" and "COM_ERROR" as input for the higher level indication DS_Fault.

SM: Decompose_Set_17 Write parameter by parameter of the data set into the Device according to Table F.1.

SM: Write_Parameter_18 Wait until write of one parameter of the data set into the Device is accomplished.

SM: Download_Done_19 Download completed. Read back "Parameter Checksum" from the Data Storage Index according Table B.9. Save this value in the stored data set according to Table F.2.

SM: Download_Fault_20 Prepare Download_Fault indication from "Device_Error" and "COM_ERROR" as input for the higher level indication DS_Fault.

3033 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 1 -

T2 1 2 -

T3 2 1 OD_Unblock; Indicate DS_Ready to CM

T4 1 2 Confirm event "DS_UploadRequest"

T5 2 1 DS_Break (AL_Write, Index 3, Subindex 1); clear intermediate data (garbage collection); rollback to previous parameter state; DS_Fault (see Figure 91); OD_Unblock.

T6 3 2 -

T7 0 3 -

T8 3 1 -

T9 1 1 Clear saved parameter set (Table F.1 and Table F.2)

T10 3 3 Clear saved parameter set (Table F.1 and Table F.2)

T11 1 3 Clear saved parameter set (Table F.1 and Table F.2)

T12 1 3 -

T13 3 3 Confirm event "DS_UploadRequest"; no further action

T14 3 3 DS_Ready to CM

Page 170: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 170 – 61131-9/WD V0.5 IEC

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T15 4 12 Indicate DS_Fault(Identification_Fault) to the gateway application

T16 4 5 Read "Data Storage Size" according to Table B.9, OD_Block

T17 5 12 Indicate DS_Fault(SizeCheck_Fault) to the gateway application

T18 5 6 Read "DS_UPLOAD_FLAG" according to Table B.9

T19 6 7 Data Storage Index 3, Subindex 1: "DS_UploadStart" (Table B.9)

T20 6 8 -

T21 8 7 Data Storage Index 3, Subindex 1: "DS_UploadStart" ( Table B.9)

T22 8 9 -

T23 7 12 Data Storage Index 3, Subindex 1: "DS_Break" (Table B.9). Indicate "DS_Fault(Upload)" to the gateway application

T24 9 10 Data Storage Index 3, Subindex 1: "DS_DownloadStart" (Table B.9)

T25 9 11 -

T26 7 11 Data Storage Index 3, Subindex 1: "DS_UploadEnd"; read Parameter Checksum (Table B.9)

T27 10 11 Data Storage Index 3, Subindex 1: "DS_DownloadEnd" (Table B.9)

T28 10 12 Data Storage Index 3, Subindex 1: "DS_Break" (Table B.9). Indicate "DS_Fault(Download)" to the gateway application.

T29 13 14 AL_Read (Index List)

T30 14 13 -

T31 14 16 -

T32 14 16 -

T33 13 16 -

T34 13 15 Read "Parameter Checksum" (Table B.9).

T35 15 16 -

T36 17 18 Write parameter via AL_Write

T37 18 17 -

T38 18 20 -

T39 18 20 -

T40 17 19 Read "Parameter Checksum" (Table B.9).

T41 19 20 - 3034

INTERNAL ITEMS TYPE DEFINITION

DS_Off Bool Data Storage handling switched off, see 11.2.2.6

DS_Deactivated Bool Data Storage handling deactivated, see 11.2.2.6

DS_Activated Bool Data Storage handling activated, see 11.2.2.6

COM_ERROR Bool Error in communication detected

Device_Error Bool Access to Index denied, AL_Read or AL_Write.cnf(-) with ErrorCode 0x80

DS_Startup Variable Trigger from CM state machine, see Figure 91

NoCOM Bool No communication

COM Bool Communication OK

DS_UPLOAD_REQ Event See Table D.2

UploadEnable Bool Data Storage handling configuration, see 11.2.2.6

DownloadEnable Bool Data Storage handling configuration, see 11.2.2.6

DataIncomplete Bool Still data transmission to perform, parameter list not completed

DataComplete Bool All parameter octets transmitted

Page 171: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 171 – Working Draft

INTERNAL ITEMS TYPE DEFINITION

SizeCheckPassed Bool Required memory space for parameter smaller than available Data Storage space within the Master

IdentificationPassed Bool The identification data of the connected Device (DeviceID, VendorID) match the parameter set within the Data Storage.

NoUploadRequested Bool DS_UPLOAD_FLAG not set, see Table B.9

DS_Valid Bool Valid parameter set available within the Master

DS_Invalid Bool No valid parameter set available within the Master

Checksum_Mismatch Bool Acquired "Parameter Checksum" from Device does not match the checksum within Data Storage (binary comparison)

Checksum_Match Bool Acquired "Parameter Checksum" from Devive matches the checksum within Data Storage (binary comparison)

Download_Done Bool Download of parameters accomplished successfully

Upload_Done Bool Upload of parameters accomplished successfully

3035

3037

3038 3039 3040

3041

3043 3044

3045 3046

11.3.4 Parameter selection for Data Storage 3036

The Device vendor defines the parameters that are part of the Data Storage mechanism.

The IODD marks these parameters with the attribute "Remanent.DataStorage". However, the Data Storage mechanism shall not consider the information from the IODD but rather the Parameter List read out from the Device.

11.4 On-Request Data exchange (ODE) 3042

Figure 101 shows the state machine of the Master's On-request Data Exchange. This behaviour is mandatory for a Master.

During an active data transmission of the Data Storage mechanism, all On-request Data requests are blocked.

Inactive_0

[ODrequest]/T1

ODactive_1

OD_Start/T2

OD_Stop/T3

[ODrequest]/T4

ODblocked_2OD_Block/T5

OD_Unblock/T7

[ODrequest]/T6

3047

3048

3049

3050

Figure 101 – State machine of the On-request Data Exchange

Table 97 shows the state transition table of the On-request Data Exchange state machine.

Table 97 – State transition table of the ODE state machine

STATE NAME STATE DESCRIPTION

Page 172: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 172 – 61131-9/WD V0.5 IEC

STATE NAME STATE DESCRIPTION

Inactive_0 Waiting for activation

ODactive_1 On-request communication active using AL_Read or AL_Write

ODblocked_2 On-request communication blocked 3051 TRANSITION SOURCE

STATE TARGET STATE

ACTION

T1 0 0 Access blocked (inactive): indicates "Service not available" to the gateway application

T2 0 1 -

T3 1 0 -

T4 1 1 AL_Read or AL_Write

T5 1 2 -

T6 2 2 Access blocked temporarily: indicates "Service not available" to the gateway application

T7 2 1 - 3052

INTERNAL ITEMS TYPE DEFINITION

OD Variable On-request Data

ODrequest Variable On-request Data read or write requested

3053

3056 3057

3058

3059 3060

3061 3062

3063 3064

3065

3066 3067 3068 3069 3070 3071 3072 3073

3074 3075 3076

11.5 Diagnosis Unit (DU) 3054

11.5.1 Generic diagnosis model 3055

Main goal for diagnosis information is to reach an operator in an efficient manner. That means:

No diagnosis information flooding

Report of the root cause of an incident within a Device or within the Master and not subsequent correlated faults

Diagnosis information shall provide information on how to maintain or repair the affected component for fast recovery of the automation system.

Figure 102 demonstrates exemplary the diagnosis information flow through a complete SDCI/fieldbus system.

NOTE The flow can end at the Master/PDCT or be more integrated depending on the fieldbus capabilities.

Within SDCI, diagnosis information of Devices is conveyed to the Master via Events consisting of EventQualifiers and EventCodes (A.6). The associated human readable text is available for standardized EventCodes within this document (Annex D) and for vendor specific EventCodes within the associated IODD file of a Device. The standardized EventCodes can be mapped to semantically identical or closest fieldbus channel diagnosis definitions within the gateway application. Vendor specific IODD codings can be mapped to manufacturer specific channel diagnosis definitions (individual code and associated human readable information) within the fieldbus device description file.

Fieldbus engineering tools and process monitoring systems (human machine interfaces) can use the fieldbus device description to decode the received fieldbus diagnosis code into human readable diagnosis text.

Page 173: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 173 – Working Draft

Fieldbus interfaceFieldbus interface Standard channeldiagnosis

Standard channeldiagnosis

DeviceDevice

ApplicationApplication

DeviceDevice

ApplicationApplication

PLC / HostPLC / Host

Port n

Engineering (Fieldbus): … SDCI Master/Device

diagnosis …

Port 1

Fieldbus controllerFieldbus controller

Gateway applicationGateway application

MasterMaster

… Display SDCI Device

diagnosis …

Devicedescription

IODD

Devicedescription

IODD

Specific channeldiagnosis

Specific channeldiagnosis

MappingMapping

Standardevents

Standardevents

Specificevents

Specificevents

IODD defined EventsIODD

file

Factory backbone

FieldbusField device

description file

Process monitoring (Human Machine Interface - HMI): Fieldbus device diagnosis … SDCI Master/Device diagnosis …

Field device description file

Port and Device configuration tool (IODD):

3077

3078

3079

3081 3082 3083 3084 3085 3086 3087 3088 3089

3090 3091 3092

3093 3094

Figure 102 – System overview of SDCI diagnosis information propagation via Events

11.5.2 DU responsibility and Event scheduling 3080

The Diagnosis Unit receives events from the Device applications (Step 1 in Figure 103). They are propagated to the gateway application (Step 2). Diagnosis information flooding is avoided through flow control, which allows only one Event per Device to be propagated to the Master/gateway application at a time. The next Event (Step 5) can be casted only after an acknowledgement of the Master/gateway application (Step 3) and received by the Device application. The time for the acknowledgement is depending on the fieldbus system or the gateway application respectively. It is highly recommended to pay attention to very short acknowledgement times as a Device cannot cast another Event if the previous Event is still pending. See Table 91 for system constants to be considered for the design.

The special DS_UPLOAD_REQ event (see 10.4 and Table D.2) of a Device shall be redirected to the common Master application Data Storage. Those events are acknowledged by the DU itself and not propagated to the gateway.

The gateway application is able to start or stop the Diagnosis Unit (Figure 91). When stopped, the DU is defering any received AL_Event.ind call until the DU is started again.

Page 174: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 174 – 61131-9/WD V0.5 IEC

MasterDiagnosis

Unit

AL_Event_rsp()

MasterAL

AL_Event_ind()

AL_Event_rsp()

AL_Event_ind()

MasterDL

Portx

DL_EventConf_req()

DL_Event_ind()

DL_EventConf_req()

DL_Event_ind()

Message()

DeviceDL

Message()

Message()

Message()

DL_EventTrigger_req()

DeviceAL

DL_EventTrigger_cnf()

DL_Event_req()

DL_Event_ind()

DL_EventTrigger_req()

DL_EventTrigger_req()

DL_EventTrigger_cnf()

DL_Event_req()

DL_Event_ind()

DL_EventTrigger_req()

DeviceApp

AL_Event_req()

AL_Event_cnf()

AL_Event_req()

AL_Event_req()

AL_Event_cnf()

AL_Event_req()

Step 1: Event x occurs

Step 2: Event propagated to the gateway application

Step 3: Event acknowledged by thegateway application

Step 4: Event acknowledged to Device application

Step 5: Event x+1 occurs

3095

3096

3098 3099 3100 3101 3102 3103

3104 3105

3106 3107

3108 3109

3110

3111 3112

3113 3114

3115

Figure 103 – Event scheduling

11.5.3 Multi Event transport 3097

Besides the method described in 11.5.2 in which each single event is conveyed through the layers and acknowledged by the gateway application, SDCI supports a so-called "multi event transport" for compatibility reasons to previous protocol versions (Table A.16). This means, 1 up to 6 Events can be conveyed at a time. The DU serializes the Event set into single diagnosis indications to the gateway application and returns one acknowledgement for the entire set to the Device application.

NOTE One AL_Event.req carries up to 6 Event elements and one AL_Event.ind indicates up to 6 pending Event elements. AL_Event.rsp and AL_Event.cnf refer to the indicated entire Event set.

Figure 104 demonstrates the mechanism of a "multi event transport". It defines the behaviour of the DU in the following steps:

Up to 6 elements of the Event set (AL_Event.ind) are entered into a serializer queue within the DU in ascending order.

The first element of the set is indicated to the gateway application as a "diagnosis report".

After the acknowledgement of this first element by the gateway application, it will be removed from the queue and the next element will be indicated to the gateway application.

After processing all elements within the queue in the same manner, the DU will acknowledge the entire set to the DL and finally to the Device application.

Page 175: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 175 – Working Draft

MasterDiagnosis

Unit

AL_Event_ind()

MasterAL

AL_Event_ind()

AL_Event_rsp()AL_Event_rsp()DL_EventConf_req()

MasterDL

Portx

DL_EventConf_req()

DL_Event_ind(second)

DL_Event_ind(first)

DL_Event_ind(third)

DL_Event_ind(second)

DL_Event_ind(first)

DL_Event_ind(third)

Message()

DeviceDL

Message()

Message()Message()

DL_Event_req(first)

DeviceAL

DL_Event_req(first)

DL_EventTrigger_cnf()

DL_Event_req(second)

DL_Event_req(third)

DL_EventTrigger_req()

DL_EventTrigger_cnf()

DL_Event_req(second)

DL_Event_req(third)

DL_EventTrigger_req()

DeviceApp

AL_Event_req()

AL_Event_cnf()

AL_Event_req()

AL_Event_cnf()

DU serializes the Event set into single diagnosis reports to the gateway application and waits on each acknowledgement (Event set of 3)

(entire Event set)

3116

3117

3118

3121 3122

3123 3124 3125

3127 3128

3129 3130

Figure 104 – Event scheduling (multi event transport)

11.6 PD Exchange (PDE) 3119

11.6.1 General 3120

The Process Data Exchange provides the transmission of Process Data between the gateway application and the connected Device.

After an established communication and Data Storage, the port is ready for any On-request Data (ODE) transfers. The Process Data communication is enabled whenever the specific port or all ports are switched to the OPERATE mode.

11.6.2 Process Data mapping 3126

According to 11.2.2.4 the input and output Process Data are mapped to a specific part of the gateway process data stream.

Figure 105 illustrates exemplary the mapping of the Process Data from 3 Master ports to the Gateway Process Data stream.

Page 176: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 176 – 61131-9/WD V0.5 IEC

000000 77 7 77 7

012345

Bit

Octet

00 77

00 77

Port 1 : LenIn 16; PosIn 0; SrcOffsetIn 0

Port 2 : LenIn 8; PosIn 16; SrcOffsetIn 4

00 77

Port 3 : LenIn 1; PosIn 24; SrcOffsetIn 11

Gateway Process Data stream

3131

3132

3133

3135 3136

3137 3138

3139 3140 3141

3142 3143

Figure 105 – Process Data mapping from ports to the gateway data stream

11.6.3 Process Data invalid 3134

The Master informs the Device about the Process Data validity status by sending MasterCommands (see Table B.2) to the Direct Parameter page.

A sample transmission of PDout state from Master application to Device application is shown in the upper section of Figure 106.

The Device sends the Process Data validity status in every single frame as the PD_Invalid flag in the Checksum / Status (CKS) octet (A.1.5). A sample transmission of PDin state from Device application to Master application is shown in the lower section of Figure 106.

Any perturbation while in interleave transmission mode leads to a Process Data invalid indication.

Page 177: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 177 – Working Draft

MasterApp

MasterAL

AL_Control()

AL_Control()

AL_Control()

AL_Control()

AL_Control()

AL_Control()

DL_Control()

MasterDL

Portx

DL_Control()

DL_Control()

DL_Control()

DL_Control()

DL_Control()

MasterCommand()

DeviceDL

MasterCommand()

ChecksumStatus()

ChecksumStatus()

ChecksumStatus()

ChecksumStatus()

ChecksumStatus()

ChecksumStatus()

ChecksumStatus()

ChecksumStatus()

DL_Control()

DeviceAL

DL_Control()

DL_Control()

DL_Control()

DL_Control()

DL_Control()

AL_Control()

DeviceApp

AL_Control()

AL_Control()

AL_Control()

AL_Control()

AL_Control()

(PD_INVALD)

(PD_INVALD)

("DeviceOperate")

(PD_INVALD)

(PD_INVALD)

(PD_INVALD)

(PD_INVALD)

("PD_Invalid flag")

(PD_INVALD)

(PD_INVALD)

(PD_VALD)(PD_VALD)

(PD_VALD)

(PD_VALD)

...

("PD_Invalid flag")

("PD_Invalid flag")

3144

3145

3146

3149 3150 3151 3152 3153

3154 3155

3157

Figure 106 – Propagation of PD_Invalid from Master to Device

11.7 Port and Device configuration tool (PDCT) 3147

11.7.1 General 3148

Figure 89 and Figure 102 demonstrate the necessity of a tool to configure ports, parameterize the Device, display diagnosis information, and provide identification and maintenance information. Depending on the degree of integration into a fieldbus system, the PDCT functions can be reduced, for example if the port configuration can be achieved via the field device description file of the particular fieldbus.

The PDCT functionality can be integrated partially (navigation, parameter transfer, etc.) or completely into the engineering tool of the particular fieldbus.

11.7.2 Basic layout examples 3156

Figure 107 shows one example of a PDCT display layout.

Page 178: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 178 – 61131-9/WD V0.5 IEC

Toplevel

- Master

- Port 1: Device A

- Port 2: Device B

- …

- Port n: Device Z

Toplevel

- Master

- Port 1: Device A

- Port 2: Device B

- …

- Port n: Device Z

Device CatalogTopology

Layout of this window

defined by the IODD of

the connected Device

Layout of this window

defined by the IODD of

the connected Device

Vendor

Vendor 1

Vendor 2

Vendor n

Vendor

Vendor 1

Vendor 2

Vendor n

MonitoringIdentification Parameter Diagnosis Process Data

Device

Device a

Device b

Device c

Device z

Device

Device a

Device b

Device c

Device z

3158

3159

3160 3161 3162

3163

Figure 107 – Example 1 of a PDCT display layout

The PDCT display should always provide a navigation window for a project or a network topology, a window for the particular view on a chosen Device that is defined by its IODD, and a window for the available Devices based on the installed IODD files.

Figure 108 shows another example of a PDCT display layout.

Toplevel

- Master

- Port 1:

- Device A

- Port 2:

- Device B

- …

- Port n:

- Device Z

Toplevel

- Master

- Port 1:

- Device A

- Port 2:

- Device B

- …

- Port n:

- Device Z

Vendor 1

- Device a V1.03

- Device b V1.23

- Device c V2.00

- …

Vendor 2

- Device aa V0.99

- Device bb V1.1.2

- …

Vendor n

- Device xxx V2.3.04

- Device yyy V1.3

- Device zzz V123

Vendor 1

- Device a V1.03

- Device b V1.23

- Device c V2.00

- …

Vendor 2

- Device aa V0.99

- Device bb V1.1.2

- …

Vendor n

- Device xxx V2.3.04

- Device yyy V1.3

- Device zzz V123

Device LibraryProject Tree Menu

Layout of this windowdefined by the IODD ofthe connected Device

Identification

Monitoring

Parameter

Diagnosis

Process Data

Parameter

3164

3165

3166

3169 3170 3171 3172

Figure 108 – Example 2 of a PDCT display layout

Further information can be retrieved from [2].

11.8 Gateway application 3167

11.8.1 General 3168

The Gateway application depends on the individual host system (fieldbus, PLC, etc.) the Master applications are embedded in. It is the responsibility of the individual system to specify the mapping of the Master services and variables. Corresponding information can be found in Annex K.

Page 179: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 179 – Working Draft

11.8.2 Changing Device configuration including Data Storage 3173

After each change of Device configuration/parameterization (CVID and/or CDID, see 9.2.2.2), the associated previously stored data set within the Master shall be cleared or marked invalid via the variable DS_Delete.

3174 3175 3176

3178 3179 3180 3181

3183 3184 3185

3187 3188 3189 3190

3191 3192

3193 3194

3195 3196 3197

3198

3199 3200

3201 3202 3203

3204 3205

3206 3207

3208 3209

11.8.3 Parameter server (recipe) 3177

The entire parameter sets of the Devices together with the Master parameters can be saved as "bulk" data within a parameter server of a higher level system. With the help of a parameter server PLC program controlled parameter change is possible, thus supporting flexible manufacturing.

11.8.4 Anonymous parameters 3182

The parameter in the Direct Parameter page 2 can be supplied via field device description files in an "anonymous" manner. See corresponding fieldbus integration specifications that can be found in Annex K.

11.8.5 Virtual port mode DIwithSDCI 3186

This optional operational mode provides a possibility to use a Device with SIO capability in the DIwithSDCI mode and allow the higher level system (for example PLC) to exchange On-request Data acyclically. Preferably, this will take place when parameters are to be changed, at production stop, or diagnosis intervals.

This operational mode simplifies the control program due to the omission of configuration before and after an acyclic access.

In principle the gateway application realizes this operational mode virtually. It is solely in a position to decide within the individual states what the next steps can be.

The CM does not know this operational mode. The gateway application reads the configuration data hold by the CM and uses services from SM and AL to realize this operational mode.

The following rules shall be observed when implementing DIwithSDCI:

The DI signal of the Device is not valid during the acyclic access of the gateway application.

It is likely that an invalid DI signal is detected very late. Thus, only after the next acyclic access an Event "PDInvalid" can be raised and wire break or Device replacement can be detected.

The access will consume more time due to establishing communication and fallback procedures including Data Storage.

The InspectionLevel shall at least comprise TYPE_COMP in order to detect an illegal Device.

The following state diagram in Figure 109 shows the individual states for the virtual operational mode DIwithSDCI.

Page 180: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 180 – 61131-9/WD V0.5 IEC

Idle_0

/Initialization

Check_Config_1

Service_req/T1Service_req/T1

[InspLevel_OK]/T3

DwS_Startup_2

[InspLevel_OK]/T3

[PreOperate]/T5

DwS_Await_Resp_3

[PreOperate]/T5

DwS_Fallback_4

[Service_complete]/T7[Service_complete]/T7

[Fallback_OK]/T9

Build_Service_Resp_5

[Error_any]/T8

[Error_any]/T6

[Error_any]/T4

[InspLevel_LOW]/T2

Service_rsp/T10

[Fallback_OK]/T9

[Error_any]/T8

[Error_any]/T6

[Error_any]/T4

[InspLevel_LOW]/T2

Service_rsp/T10

3210

3211

3212

3213

Figure 109 – Virtual port mode "DIwithSDCI"

Table 98 shows the states and transitions of the virtual port mode "DIwithSDCI".

Table 98 – State transitions of the state machine "DIwithSDCI"

STATE NAME STATE DESCRIPTION

Inactive_0 For the higher level control program the port is configured for the operational mode DIwithSDCI and waits on service requests.

Check_Config_1 Within this state the InspectionLevel of the port is checked for a sufficient level.

DwS_StartUp_2 Within this state a complete startup until the PREOPERATE state is performed. This can include Data Storage and Event handling.

DwS_Await_Resp_3 Wait on responses (AL-Read.rsp or AL-Write.rsp).

DwS_FallBack_4 After accomplishing the services, the Device is switched back to the SIO mode via the MasterCommand "Fallback" and the port will be configured as a DI.

Build_ServiceResp_5 The service response (positive or negative) will be created to finalize the service to the higher level control program.

3214

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T1 0 1 -

T2 1 5 -

T3 1 2 SM_SetPortConfig (to SDCI)

T4 2 5 SM_SetPortConfig (to DI)

T5 2 3 Start Service (AL_Read.req oder AL_Write.req)

T6 3 5 SM_SetPortConfig (to DI)

T7 3 4 -

T8 4 5 SM_SetPortConfig (to DI)

Page 181: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 181 – Working Draft

TRANSITION SOURCE STATE

TARGET STATE

ACTION

T9 4 5 SM_SetPortConfig (to DI)

T10 5 0 - 3215

INTERNAL ITEMS TYPE DEFINITION

InspLevel_LOW Bool The necessary InspectionLevel is not configured in order to detect the correct Device.

InspLevel_OK Bool The necessary InspectionLevel is configured to detect the correct Device.

PreOperate Bool State PREOPERATE is established

Service_complete Bool The gateway application received AL_Read.rsp or AL_Write.rsp

Fallback_OK Bool Fallback has been accomplished successfully

Error_any Bool Any error will quit this state

3216

Page 182: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 182 – 61131-9/WD V0.5 IEC

Annex A (normative)

Codings, timing constraints, and errors

3217 3218 3219

3222 3223

3225 3226 3227 3228

A.1 General structure and encoding of F-sequences 3220

A.1.1 Overview 3221

The general concept of F-sequences is outlined in 7.3.3.2. The following sections provide a detailed description of the individual elements of F-sequences.

A.1.2 F-sequence control (FC) 3224

The Master specifies the manner the user data are to be transmitted in an F-sequence control octet. This specification includes the transmission direction (read or write), the comunication channel, and the address (offset) of the data on the communication channel. The structure of the F-sequence control octet is illustrated in Figure A.1.

R / WCommunication

channel Address

3229

3230

3231

3232 3233 3234 3235 3236

3237

3238 3239

3240

Figure A.1 – F-sequence control

Bit 0 to 4: Address

These bits indicate the address, i.e. the octet offset of the user data on the specified communication channel (see also Table A.1). If an ISDU is selected via the communication channel value, these bits are used for flow control of the ISDU data. The address, which means in this case the position of the user data within the ISDU, is only available indirectly (see 7.3.6.2).

Bit 5 to 6: Communication channel

These bits indicate the communication channel for the access to the user data. The defined values for the communication channel parameter are listed in Table A.1.

Table A.1 – Values of communication channel

Value Definition

0 Process

1 Page

2 Diagnosis

3 ISDU

Bit 7: R/W 3241

3242 3243 3244 3245

3246

This bit indicates the transmission direction of the user data on the selected communication channel, i.e. read access (transmission of user data from Device to Master) or write access (transmission of user data from Master to Device). The defined values for the R/W parameter are listed in Table A.2.

Table A.2 – Values of R/W

Value Definition

0 Write access

1 Read access

Page 183: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 183 – Working Draft

3247 3248 3249

3251 3252

NOTE Generally, a Device is not obliged to support each and every of the 256 values of the F-sequence control octet. For read access to not implemented addresses or communication channels the value "0" is returned. A write access to not implemented addresses or communication channels shall be ignored.

A.1.3 Checksum / F-sequence type (CKT) 3250

The F-sequence type is transmitted together with the checksum in the check/type octet. The structure of this octet is illustrated in Figure A.2.

F-sequencetype Checksum

3253

3254

3255

3256 3257

3258

3259 3260 3261

3262

Figure A.2 – Checksum/F-sequence type octet

Bit 0 to 5: Checksum

These bits contain a 6 bit message checksum to ensure data integrity, see also A.1.6 and H.1.

Bit 6 to 7: F-sequence type

These bits indicate the F-sequence type. Herewith, the Master specifies how the messages within the F-sequence are structured. Defined values for the F-sequence type parameter are listed in Table A.3.

Table A.3 – Values of F-sequence types

Value Definition

0 Type 0

1 Type 1

2 Type 2 (see NOTE)

3 reserved

NOTE Subtypes depending on process data configuration and process data direction

3263

3265 3266 3267 3268

3269

A.1.4 User data (PD or OD) 3264

User data is a general term for both process data and on-request data. The length of user data can vary from 0 to 64 octets depending on F-sequence type and transmission direction (read/write). An overview of the available data types is shown in Table A.4. These data types can be arranged as records (different types) or arrays (same types).

Table A.4 – Data types for user data

Data type Reference

BooleanT See E.2

UIntegerT See E.2.3

IntegerT See E.2.4

StringT See E.2.6

OctetStringT See E.2.7

Float32T See E.2.5

TimeT See E.2.8 (IEC 61158-6)

TimeSpanT See E.2.9 (IEC 61158-6)

Page 184: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 184 – 61131-9/WD V0.5 IEC

The detailed coding of the data types can be found in Annex E. 3270

3272 3273 3274

A.1.5 Checksum / status (CKS) 3271

The checksum/status octet is part of the reply message from the Device to the Master. Its structure is illustrated in Figure A.3. It comprises a 6 bit checksum, a flag to indicate valid or invalid process data, and an event flag.

PDinvalid Checksum

Eventflag

3275

3276

3277

3278 3279

3280

3281 3282

3283 3284

3285 3286

3287

Figure A.3 – Checksum/status octet

Bit 0 to 5: Checksum

These bits contain a 6 bit checksum to ensure data integrity of the reply message. See also A.1.6 and H.1.

Bit 6: PD invalid

This bit represents a flag indicating that the Device cannot provide valid process data. Defined values for the parameter are listed in Table A.5.

This flag shall be used for Devices with input process data. Devices with output process data shall always indicate process data valid.

If the flag is set to “process data invalid” within one message, all the process input data of the complete process data cycle are invalid.

Table A.5 – Values of PD invalid

Value Definition

0 Process data valid

1 Process data invalid

3288 3289

3290 3291 3292 3293

3294

Bit 7: Event flag

This bit represents the event flag. It realizes a Device initiative for the data category "event" to be retrieved by the Master via the diagnosis communication channel (Table A.1). The Device can report events such as diagnosis information, failures, and errors via event response messages. Permissible values for the parameter are listed in Table A.6.

Table A.6 – Values of the event flag

Value Definition

0 No event

1 Event

3295

3297 3298 3299 3300 3301

A.1.6 Calculation of the checksum 3296

The message checksum provides data integrity protection for data transmission from Master to Device and from Device to Master. Each UART character is protected by the UART parity bit Figure 17. Besides this individual character protection, all of the UART characters in a message are XOR (exclusive or) processed octet by octet. The check/type octet is included with checksum bits set to "0". The resulting checksum octet is compressed from 8 to 6 bit in

Page 185: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 185 – Working Draft

accordance with the conversion procedure in Figure A.4 and its associated equations (A.1). The 6 bit compressed "Checksum6" is entered into the checksum/ F-sequence type octet (

3302 3303 3304 3305 3306

3307 3308

Figure A.2). The same procedure takes place to secure the message from the Device to the Master. In this case the compressed checksum is entered into the checksum/status octet (Figure A.3).

A seed value of 0x52 is used for the checksum calculation across the message. It is XORed with the first octet of the message (FC).

0x520x52Seed value

FC

CKT

...

Octet n

Message

XOR processing

+

+ +

+ + + +

Checksum 8

Checksum 6

3309

3310

3311

3312

3315 3316 3317

3318 3319 3320 3321 3322

3324

3325 3326

Figure A.4 – Principle of the checksum calculation and compression

The set of equations in (A.1) define the compression procedure from 8 to 6 bit in detail.

D56 = D78 xor D58 xor D38 xor D18

D46 = D68 xor D48 xor D28 xor D08

D36 = D78 xor D68

D26 = D58 xor D48

D16 = D38 xor D28

D06 = D18 xor D08

(A.1)

A.2 F-sequence types 3313

A.2.1 Overview 3314

Process data and on-request data use separate cyclic and acyclic communication channels (Figure 6) to ensure scheduled and deterministic delivery of process data while delivery of on-request data does not have consequences on the process data transmission performance.

Within SDCI, F-sequences provide the access to the communication channels via the F-sequence Control octet. The number of different F-sequence types meets the various requirements of sensors and actuators regarding their process data width. See Figure 36 for an overview of the available F-sequence types that are described in the following sections. See A.2.6 for rules on how to use the F-sequence types.

A.2.2 F-sequence TYPE_0 3323

F-sequence TYPE_0 is mandatory for all Devices.

F-sequence TYPE_0 only transmits on-request data. One octet of user data is read or written per cycle. This F-sequence is illustrated in Figure A.5.

Page 186: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 186 – 61131-9/WD V0.5 IEC

TYPE 0TYPE 0

FC CKT

OD CKS

Master read message

Device reply message

FC CKT OD

CKS

Master write message

Device reply message 3327

3328

3330

3331

Figure A.5 – F-sequence TYPE_0

A.2.3 F-sequence TYPE_1_x 3329

F-sequence TYPE_1_x is optional for all Devices.

F-sequence TYPE_1_1 is illustrated in Figure A.6.

TYPE_1_1TYPE_1_1

PD1

FC CKT

CKS

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

PD0

PD1PD0

3332

3333

3334 3335

3336 3337

3338 3339

3340 3341 3342

Figure A.6 – F-sequence TYPE_1_1

Two octets of process data are read or written per cycle. Address (bit offset) belongs to the process communication channel (A.2.1).

In case of interleave mode (7.3.4.2) and odd-numbered PD length the remaining octets within the frames are padded with 0x00.

F-sequence TYPE_1_2 is illustrated in Figure A.7. Two octets of on-request data are read or written per cycle.

For write access to on-request data via the page and diagnosis communication channels, only the first octet of on-request data is evaluated. The Device shall ignore the remaining octets. The Master shall send all other ODs with "0x00".

Page 187: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 187 – Working Draft

TYPE_1_2TYPE_1_2

FC CKT

OD0 CKS

Master read message

Device reply message

FC CKT

OD1

CKS

Master write message

Device reply message

OD0 OD1

3343

3344

3345 3346

3347 3348

3349

Figure A.7 – F-sequence TYPE_1_2

F-sequence TYPE_1_V providing variable (extendable) frame length is illustrated in Figure A.8. A number of m octets of on-request data are read or written per cycle.

For write access to on-request data via the page and diagnosis communication channels, only the first octet (OD0) of on-request data is evaluated. The Device shall ignore the remaining

octets. The Master shall send all other ODs with "0x00".

TYPE_1_VTYPE_1_V

FC CKT

OD0 CKS

Master read message

Device reply message

FC CKT

ODm-1

CKS

Master write message

Device reply message

OD0 ODm-1

3350

3351

3353 3354 3355 3356 3357 3358 3359

3360 3361

Figure A.8 – F-sequence TYPE_1_V

A.2.4 F-sequence TYPE_2_x 3352

F-sequence TYPE_2_x is optional for all Devices. F-sequences TYPE_2_1 through TYPE_2_6 are defined. F-sequence TYPE_2_V provides variable (extendable) frame length. F-sequence TYPE_2_x transmits process data and on-request data in one message. The number of process and on-request data read or written in each cycle depends on the type. The Address parameter (Figure A.1) belongs in this case to the on-request communication channel. The process data address is specified implicitly starting at "0". The format of process data is characterizing the F-sequence TYPE_2_x.

F-sequence TYPE_2_1 transmits one octet of read process data and one octet of read or write on-request data per cycle. This F-sequence type is illustrated in Figure A.9.

Page 188: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 188 – 61131-9/WD V0.5 IEC

TYPE_2_1TYPE_2_1

FC CKT

OD CKS

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

OD

PD

PD

3362

3363

3364 3365

Figure A.9 – F-sequence TYPE_2_1

F-sequence TYPE_2_2 transmits 2 octets of read process data and one octet of on-request data per cycle. This F-sequence type is illustrated in Figure A.10.

TYPE_2_2TYPE_2_2

FC CKT

OD CKS

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

OD

PD0

PD0

PD1

PD1

3366

3367

3368 3369

Figure A.10 – F-sequence TYPE_2_2

F-sequence TYPE_2_3 transmits one octet of write process data and one octet of read or write on-reqest data per cycle. This F-sequence type is illustrated in Figure A.11.

TYPE_2_3TYPE_2_3

FC CKT

OD CKS

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

ODPD

PD

3370

3371

3372 3373

Figure A.11 – F-sequence TYPE_2_3

F-sequence TYPE_2_4 transmits 2 octets of write process data and one octet of read or write on-request data per cycle. This F-sequence type is illustrated in Figure A.12

Page 189: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 189 – Working Draft

TYPE_2_4TYPE_2_4

FC CKT

OD CKS

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

ODPD0

PD0 PD1

PD1

3374

3375

3376 3377

Figure A.12 – F-sequence TYPE_2_4

F-sequence TYPE_2_5 transmits one octet of write and read process data and one octet of read or write on-request data per cycle. This F-sequence type is illustrated in Figure A.13.

TYPE_2_5TYPE_2_5

FC CKT

OD CKS

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

ODPD

PD

PD

PD

3378

3379

3380 3381

Figure A.13 – F-sequence TYPE_2_5

F-sequence TYPE_2_6 transmits 2 octets of write and read process data and one octet of read or write on-request data per cycle. This F-sequence type is illustrated in Figure A.14.

TYPE_2_6TYPE_2_6

FC CKT

OD

Master read message

Device reply message

FC CKT

CKS

Master write message

Device reply message

PD0

PD0

PD0

PD0

PD1

PD1 CKS

PD1 OD

PD1

3382

3383

3384 3385 3386 3387 3388

Figure A.14 – F-sequence TYPE_2_6

F-sequence TYPE_2_V transmits the entire write (read) ProcessDataIn n (k) octets per cycle. The range of n (k) is 0 to 32. Either PDin or PDout are not existing when n=0 or k=0. TYPE_2_V also transmits m octets of (segmented) read or write on-request data per cycle using the address in Figure A.1. Permitted values for m are 1, 2, 8, and 32. This variable F-sequence type is illustrated in Figure A.15.

Page 190: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 190 – 61131-9/WD V0.5 IEC

TYPE_2_VTYPE_2_V

FC CKT

OD0 ODm-1 PD0

PD0 PDn-1

CKS

Master readmessage

Device reply message

Master writemessage

Device reply message

PDk-1

FC CKT PD0 PDn-1

PD0 CKSPDk-1

OD0 ODm-1

3389

3390

3391 3392

3393

3395

3397 3398

3399

Figure A.15 – F-sequence TYPE_2_V

For write access to on-request data via the page and diagnosis communication channels, only the first octet (OD0) of on-request data is evaluated. The Device shall ignore the remaining

octets. The Master shall send all other ODs with "0".

A.2.5 F-sequence type 3 3394

F-sequence type 3 is reserved and shall not be used.

A.2.6 F-sequence type usage for STARTUP, PREOPERATE and OPERATE modes 3396

Table A.8 shows the F-sequence types for the STARTUP mode together with the minimum cycle time (Tinitcyc) to be observed for Master implementations.

Table A.7 – F-sequence types for the STARTUP mode

On-request data Minimum cycle time F-sequence Capability

Octets

F-sequence type

TBIT

n/a 1 TYPE_0 100

3400

3401 3402

3403

Table A.8 shows the F-sequence types for the PREOPERATE mode together with the minimum cycle time (Tinitcyc) to be observed for Master implementations.

Table A.8 – F-sequence types for the PREOPERATE mode

On-request data Minimum cycle time F-sequence Capability

Octets

F-sequence type

TBIT

0 1 TYPE_0 100

1 2 TYPE_1_2 100

2 8 TYPE_1_V 210

3 32 TYPE_1_V 550

NOTE The minimum cycle time in PREOPERATE mode is a requirement for the Master.

3404

3405 3406 3407

Table A.9 shows the F-sequence types for the OPERATE mode for legacy Devices according to [13]. The minimum cycle time for Master in OPERATE mode is defined by the parameter "MinCycleTime" of the Device (see B.1.4).

Page 191: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 191 – Working Draft

Table A.9 – F-sequence types for the OPERATE mode (V1.0) 3408

On-request Data Process Data (PD) F-sequence type F-sequence Capability

Octets PDin PDout V1.0 [13]

0 1 0 0 TYPE_0

1 2 0 0 TYPE_1_2

* 2 3…32 octets 0…32 octets TYPE_1_1/1_2 interleaved

* 2 0…32 octets 3…32 octets TYPE_1_1/1_2 interleaved

* 1 1…8 bit 0 TYPE_2_1

* 1 9…16 bit 0 TYPE_2_2

* 1 0 1…8 bit TYPE_2_3

* 1 0 9…16 bit TYPE_2_4

* 1 1…8 bit 1…8 bit TYPE_2_5

Key * = don't care

3409

3410 3411 3412

3413

Table A.10 shows the F-sequence types for the OPERATE mode for Devices according to this specification. The minimum cycle time for Master in OPERATE mode is defined by the parameter MinCycleTime of the Device (see B.1.4).

Table A.10 – F-sequence types for the OPERATE mode

On-request Data Process Data (PD) F-sequence Capability

Octets PDin PDout

F-sequence type

0 1 0 0 TYPE_0

1 2 0 0 TYPE_1_2

6 8 0 0 TYPE_1_V

7 32 0 0 TYPE_1_V

0 2 3…32 octets 0…32 octets TYPE_1_1/1_2 interleaved (see NOTE)

0 2 0…32 octets 3…32 octets TYPE_1_1/1_2 interleaved (see NOTE)

0 1 1…8 bit 0 TYPE_2_1

0 1 9…16 bit 0 TYPE_2_2

0 1 0 1…8 bit TYPE_2_3

0 1 0 9…16 bit TYPE_2_4

0 1 1…8 bit 1…8 bit TYPE_2_5

0 1 9…16 bit 1…16 bit TYPE_2_6

0 1 1…16 bit 9…16 bit TYPE_2_6

4 1 0…32 octets 3…32 octets TYPE_2_V

4 1 3…32 octets 0…32 octets TYPE_2_V

5 2 >0 bit, octets ≥0 bit, octets TYPE_2_V

5 2 ≥0 bit, octets >0 bit, octets TYPE_2_V

6 8 >0 bit, octets ≥0 bit, octets TYPE_2_V

6 8 ≥0 bit, octets >0 bit, octets TYPE_2_V

7 32 >0 bit, octets ≥0 bit, octets TYPE_2_V

7 32 ≥0 bit, octets >0 bit, octets TYPE_2_V

Page 192: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 192 – 61131-9/WD V0.5 IEC

On-request Data Process Data (PD) F-sequence Capability

Octets PDin PDout

F-sequence type

NOTE The interleave mode is not recommended for new developments of Devices. It is intended to not support this mode in future releases

3414

3417 3418

3420

3421

3422

3424

3425 3426

3428

3429 3430

3432

3433 3434 3435

3437 3438

A.3 Timing constraints 3415

A.3.1 General 3416

The interactions of a Master and its Device are characterized by a cycle time. This time includes the F-sequence duration and a subsequent idle time (Tidle).

A.3.2 Bit time 3419

The bit time TBIT is the time it takes to transmit a single bit. It is the inverse value of the

transmission rate (A.2).

TBIT = 1/(transmission rate) (A.2)

Values for TBIT are specified in Table 7.

A.3.3 Character transmission delay of Master (ports) 3423

The character transmission delay t1of a port is the duration of the pause between the end of

the stop bit of a UART character and the beginning of the start bit of the next UART character. The port shall transmit the UART characters within a maximum pause of 1 bit time (A.3).

0 ≤ t1 ≤ 1 TBIT (A.3)

A.3.4 Character transmission delay of Devices 3427

The Device’s character transmission delay t2 is the duration of the pause between the end of

the stop bit of a UART character and the beginning of the start bit of the next UART character. The Device shall transmit the UART characters within a maximum pause of 3 bit times (A.4).

0 ≤ t2 ≤ 3 TBIT (A.4)

A.3.5 Response time of Devices 3431

The Device's response time tA is the duration of the pause between the end of the stop bit of

a port's last UART character being received and the beginning of the start bit of the first UART character being sent. The Device shall observe a pause of at least 1 bit time but no more than 10 bit times (A.5).

1 TBIT ≤ tA ≤ 10 TBIT (A.5)

A.3.6 F-sequence time 3436

Communication between a port and and its associated Device takes place in a fixed schedule, called the F-sequence time (A.6).

t F-sequence = (m+n) * 11 * TBIT + tA + (m-1) * t1 + (n-1) * t2 (A.6)

Page 193: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 193 – Working Draft

3439 3440 3441

3442 3443

where m is the number of UART characters sent by the port to the Device and n is the number of UART characters sent by the Device to the port. The formula can only be used for estimates as the times t1 and t2 may not be constant.

Figure A.16 illustrates the timings of an F-sequence consisting of a Master (port) message and a Device message.

UARTcharacter

UARTcharacter

UARTcharacter

UARTcharacter

UARTcharacter

UARTcharacter

t1 t1

t2 t2tA

tF-sequence

Port(Master)

Device

3444

3445

3447

3448

3449 3450 3451

3452 3453 3454

3455

Figure A.16 – F-sequence timing

A.3.7 Cycle time 3446

The cycle time tCYC (A.7) is depending on the Device's parameter “MinCycleTime” and the

design and implementation of a Master and the number of ports.

tCYC = t F-sequence + tidle (A.7)

The adjustable Device parameter “MasterCycleTime” can be used for the design of a Device specific technology such as an actuator to derive the timing conditions for a de-activated or de-energized state.

Table A.11 shows recommended minimum cycle time values to be used as a setpoint for the specified transmission rate of a port. The values are calculated based on F-sequence Type_2_1.

Table A.11 – Recommended MinCycleTimes

Transmission rate tCYC

COM1 18,0 ms

COM2 2,3 ms

COM3 0,4 ms

A.3.8 Idle time 3456

The idle time tidle results from the configured cycle time tCYC and the F-sequence time

tF-sequence. With reference to a port, it includes the time between the end of the message of a

Device and the beginning of the next message from the Master (port).

3457

3458

3459

3460 NOTE The idle time shall be long enough for the Device to become ready to receive the next message.

Page 194: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 194 – 61131-9/WD V0.5 IEC

A.4 Errors and remedies 3461

A.4.1 UART errors 3462

A.4.1.1 Parity errors 3463

Both the UART parity bit (Figure 17) and the checksum (A.1.6) are two independent mechanisms to secure the data transfer. This means that duplicate bit errors in different octets of a message – resulting in the correct checksum – can also be detected. Both mechanisms lead to the same error processing.

3464 3465 3466 3467

3468 3469

3471 3472 3473

3474

3476 3477

3478

3481 3482

3483

3485 3486

3487

3489 3490

3491

3493 3494

3495

Remedy: The Master shall repeat the Master message 2 times (see 7.2.2.1). Devices shall reject all corrupted data and create no reaction.

A.4.1.2 UART framing errors 3470

The conditions for the correct detection of a UART frame are described in 5.3.3.2. Error processing shall take place, whenever wrong signal shapes or timings lead to a UART framing error.

Remedy: See A.4.1.1.

A.4.2 Wake-up errors 3475

The wake-up current pulse is described in 5.3.3.3 and the wake-up procedures in 7.3.2.1. Several faults may occcur during the attempts to establish communication.

Remedy: Retries are possible. See 7.3.2.1 for details.

A.4.3 Transmission errors 3479

A.4.3.1 Checksum errors 3480

The checksum mechanism is described in A.1.6. Any checksum error leads to an error processing.

Remedy: See A.4.1.1.

A.4.3.2 Timeout errors 3484

The diverse timing constraints with F-sequences are defined in A.3. Master (ports) and Devices are checking several critical timings such as lack of synchronism within messages.

Remedy: See A.4.1.1.

A.4.3.3 Collisions 3488

A collision occurs whenever the Master and Device are sending simultaneously due to an error. This error is interpreted as a faulty F-sequence.

Remedy: See A.4.1.1.

A.4.4 Protocol errors 3492

A protocol error occurs for example whenever the sequence of the segmented transmission of an ISDU is wrong (flow control case in A.1.2).

Remedy: Abort of service with ErrorType information (Annex C).

Page 195: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 195 – Working Draft

A.5 General structure and encoding of ISDUs 3496

A.5.1 Overview 3497

The purpose and general structure of an ISDU is outlined in 7.3.6.1. The following sections provide a detailed description of the individual elements of an ISDU and some examples.

3498 3499

A.5.2 Service 3500

Service Length

3501

3502

3503 3504

3505 3506

3507

3508

Figure A.17 – Service octet

Bits 0 to 3: Length The encoding of the nibble Length of the ISDU is defined in Table A.14 .

Bits 4 to 7: Service The encoding of the nibble Service of the ISDU is defined in Table A.12.

All other elements of the structure defined in 7.3.6.1 are transmitted as independent octets.

Table A.12 – Definition of the nibble "Service"

Definition Service (binary)

Master Device

Index format

0000 No Service No Service n/a

0001 Write Request Reserved 8-bit Index

0010 Write Request Reserved 8-bit Index and Subindex

0011 Write Request Reserved 16-bit Index and Subindex

0100 Reserved Write Response (-) none

0101 Reserved Write Response (+) none

0110 Reserved Reserved

0111 Reserved Reserved

1000 Reserved Reserved

1001 Read Request Reserved 8-bit Index

1010 Read Request Reserved 8-bit Index and Subindex

1011 Read Request Reserved 16-bit Index and Subindex

1100 Reserved Read Response (-) none

1101 Reserved Read Response (+) none

1110 Reserved Reserved

1111 Reserved Reserved

3509

3510

Table A.13 defines the syntax of the ISDUs. ErrorType can be found in Annex C.

Page 196: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 196 – 61131-9/WD V0.5 IEC

Table A.13 – ISDU syntax 3511

ISDU name ISDU structure

Write Request Service(0x1), LEN, Index, [Data*], CHKPDU ^ Service(0x2), LEN, Index, Subindex, [Data*], CHKPDU ^ Service(0x3), LEN, Index, Index, Subindex, [Data*], CHKPDU

Write Response (+) Service(0x5), Length(0x2), CHKPDU

Write Response (-) Service(0x4), Length(0x4), ErrorType, CHKPDU

Read Request Service(0x9), Length(0x3), Index, CHKPDU ^ Service(0xA), Length(0x4), Index, Subindex, CHKPDU ^ Service(0xB), Length(0x5), Index, Index, Subindex, CHKPDU

Read Response (+) Service(0xD), LEN, [Data*], CHKPDU

Read Response (-) Service(0xC), Length(0x4), ErrorType, CHKPDU

Key

LEN = Length(0x1), ExtLength ^ Length

3512

3514 3515 3516 3517

3518

A.5.3 Extended length (ExtLength) 3513

The number of octets transmitted in this service, including all protocol information (6 octets), is specified in the “Length” element of an ISDU. If the total length is more than 15 octets, the length is specified using extended length information ("ExtLength"). Permissible values for “Length” and "ExtLength" are listed in Table A.14.

Table A.14 – Definition of nibble Length and octet ExtLength

Service Length ExtLength Definition

0 0 n/a No service, ISDU length is 1. Protocol use.

0 1 n/a Device busy, ISDU length is 1. Protocol use.

0 2 to 15 n/a Reserved and shall not be used

1 to 15 0 n/a Reserved and shall not be used

1 to 15 1 0 to 16 Reserved and shall not be used

1 to 15 1 17 to 238 Length of ISDU in "ExtLength"

1 to 15 1 239 to 255 Reserved and shall not be used

1 to 15 2 to 15 n/a Length of ISDU

3519

3521 3522 3523

3524 3525

3526 3527 3528

3529 3530

A.5.4 Index and Subindex 3520

The parameter address of the data object to be transmitted using the ISDU is specified in the “Index” element. “Index” has a range of values from 0 to 65 535 (see B.2.1 for constraints). Index values 0 and 1 shall be rejected by the Device.

There is no need for the Device to support all Index and Subindex values. The Device shall send a negative response to Index or Subindex values not supported.

The data element address of a structured parameter of the data object to be transmitted using the ISDU is specified in the “Subindex” element. “Subindex” has a range of values from 0 to 255, whereby a value of "0" is used to reference the entire data object (Figure 4).

Table A.15 shows the Index formats used in the ISDU depending on the parameters transmitted.

Page 197: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 197 – Working Draft

Table A.15 – Use of Index formats 3531

Index Subindex Index format of ISDU

0 to 255 0 8 bit Index

0 to 255 1 to 255 8 bit Index and 8 bit Subindex

256 to 65 535 0 to 255 16-bit Index and 8 bit Subindex (see NOTE)

NOTE See B.2.1 for constraints on the Index range

3532

3534 3535 3536

3538 3539 3540

A.5.5 Data 3533

The “Data” element can contain the data objects described in Annex B or Device specific data objects respectively. The data length corresponds to the entries in the “Length” element minus the protocol frame.

A.5.6 Check ISDU (CHKPDU) 3537

The “CHKPDU” element provides data integrity protection. The sender calculates the value of "CHKPDU" by XOR processing all of the octets of an ISDU, including "CHKPDU" with a preliminary value "0", which is then replaced by the result of the calculation (Figure A.18).

+

Service

ExtLength

Index

Subindex

Data 1

...

Length

Data n

CHKPDU = Checksum

Service

ExtLength

Index

Subindex

Data 1

...

Length

Data n

CHKPDU = Checksum

+

+

+

+

+

+

Result = "0", otherwise perturbed bitsResult = "0", otherwise perturbed bits

XOR+

Service

ExtLength

Index

Subindex

Data 1

...

Length

Data n

1. CHKPDU = "0"2. CHKPDU = Checksum

Service

ExtLength

Index

Subindex

Data 1

...

Length

Data n

1. CHKPDU = "0"2. CHKPDU = Checksum

+

+

+

+

+

+

ChecksumChecksum

XOR

Prior to sending

Sender Receiver

3541

3542

3543 3544 3545

3547 3548

Figure A.18 – Check of ISDU integrity via CHKPDU

The receiver checks whether XOR processing of all of the octets of the ISDU will lead to the result "0" (see Figure A.18). If the result is <> "0", error processing shall take place. See also A.1.6.

A.5.7 ISDU examples 3546

Figure A.19 illustrates typical examples of request formats for ISDUs, which are explained in the following sections.

Page 198: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 198 – 61131-9/WD V0.5 IEC

8 Bit Index8 Bit Index andSubindex

16 Bit Index andSubindex

Service

Index

Data 1 (MSO)

Data 2 (LSO)

CHKPDU

0101Service

Index

Data 1 (MSO)

Data 2 (LSO)

CHKPDU

0101 Service

Index

Subindex

Data 1

CHKPDU

0110

Data 2

Service

Index

Subindex

Data 1

CHKPDU

0110

Data 2

Service

Index

Subindex

Data 1

CHKPDU

0111

Data 2

Index

Service

Index

Subindex

Data 1

CHKPDU

0111

Data 2

Index

Request example 1 Request example 2 Request example 3 Request example 4

Service

ExtLength (n) 1)

Data 1

0001

Data 2

Index

CHKPDU

Data (n-4)

...

...

Service

ExtLength (n) 1)

Data 1

0001

Data 2

Index

CHKPDU

Data (n-4)

...

...

1) Overall ISDU ExtLength = n (1 to 238); Length = 1 ("0001")

0000 0000

Request example 5

"Idle" request

3549

3550

3551 3552 3553 3554

3555 3556 3557

3558 3559 3560

3561 3562 3563

3564 3565

3566 3567

Figure A.19 – Examples of request formats for ISDUs

The ISDU request in example 1 comprises one Index element allowing addressing from 0 to 254 (Table A.15). The Subindex is supposed to be "0". Thus, the whole content of Index is Data 1 with the most significant octet (MSO) and Data 2 with the least significant octet (LSO) according to Figure 1. The total length is 5 ("0101").

The ISDU request in example 2 comprises one Index element allowing addressing from 0 to 254 and the Subindex element allowing addressing an element of a data structure. The total length is 6 ("0110").

The ISDU request in example 3 comprises two Index elements allowing to address from 256 to 65 535 (Table A.15) and the Subindex element allowing to address an element of a data structure. The total length is 7 ("0111").

The ISDU request in example 4 comprises one Index element and the ExtLength element indicating the number of ISDU elements (n), permitting numbers from 17 to 238. In this case the Length element has the value "1".

The ISDU request "Idle" in example 5 should be used as a "keep alive" message in order to detect any communication interrupts.

Figure A.20 illustrates typical examples of response ISDUs, which are explained in the following sections

Service

Data 1 (MSO)

Data 2 (LSO)

CHKPDU

0100Service

Data 1 (MSO)

Data 2 (LSO)

CHKPDU

0100Service

CHKPDU

0010 1)Service

CHKPDU

0010 1)

Response example 2Response example 1 Response example 3

Service

ExtLength (n) 2)

Data 1

0001

Data 2

CHKPDU

Data (n-3)

...

...

Service

ExtLength (n) 2)

Data 1

0001

Data 2

CHKPDU

Data (n-3)

...

...1) Minimum length = 2 ("0010")

2) Overall ISDU ExtLength = n (17 to 238);Length = 1 ("0001")

0000 0001

Response example 4

"Busy" response

3568

3569

3570

Figure A.20 – Examples of response ISDUs

The ISDU response in example 1 shows the minimum value 2 for the Length element ("0010").

Page 199: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 199 – Working Draft

The ISDU response in example 2 shows two Data elements and a total number of 4 elements in the Length element ("0100"). Data 1 carries the most significant octet (MSO) and Data 2 the least significant octet (LSO) according to

3571 3572 3573

3574 3575 3576

3577 3578

3579 3580

Figure 1.

The ISDU response in example 3 shows the ExtLength element indicating the number of ISDU elements (n), permitting numbers from 17 to 238. In this case the Length element has the value "1".

The ISDU response "Busy" in example 4 should be used as a "keep alive" response of a Device to an "Idle" request of the Master in order to detect any communication interrupts.

Figure A.21 illustrates a typical example of both a read and a write request ISDU, which are explained in the following sections.

1001

Index

CHKPDU

0011

Read.req (Index)

0010

Index

Subindex

Data 1 (MSO)

CHKPDU

0110

Data 2 (LSO)

Write.req (Index, Data)

1101

Data 1 (MSO)

Data 2 (LSO)

CHKPDU

0100

Read.res (+, Data)

0101

CHKPDU

0010

Write.res (+)

1100

ErrorCode

AdditionalCode

CHKPDU

0100

Read.res (-, Error)

0100

ErrorCode

AdditionalCode

CHKPDU

0100

Write.res (-, Error)

or

or

3581

3582

3583 3584 3585 3586 3587

3588 3589 3590 3591 3592

3595 3596 3597

Figure A.21 – Examples of read and write request ISDUs

The code of the read request service is "1001". According to Table A.13 this comprises an Index element. A successful read response (+) of the Device with code "1101" is shown next to the request with two Data elements. Total length is 4 ("0100"). An unsuccessful read response (-) of the Device with code "1100" is shown next in line. It carries the ErrorType with the two Data elements ErrorCode and AdditionalCode (Annex C).

The code of the write request service is "0010". According to Table A.13 this comprises an Index and a Subindex element. A successful write response (+) of the Device with code "0101" is shown next to the request with no Data elements. Total length is 2 ("0010"). An unsuccessful read response (-) of the Device with code "0100" is shown next in line. It carries the ErrorType with the two Data elements ErrorCode and AdditionalCode (Annex C).

A.6 General structure and encoding of events 3593

A.6.1 General 3594

In 7.3.8.1 and Table 50 the purpose and general structure of the event buffer is described. This buffer accommodates a StatusCode, several EventQualifiers and their associated EventCodes. The coding of these buffer elements is defined in the subsequent sections.

Page 200: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 200 – 61131-9/WD V0.5 IEC

A.6.2 StatusCode type 1 (no details) 3598

Existing sensor or actuator Devices may have implemented a StatusCode type 1 that shall not be used for new Device developments. However, all Master shall support this StatusCode type 1 also.

3599 3600 3601 Figure A.22 shows the structure of this StatusCode.

0

DetailsPD

Invalid Event Code (type 1)Reserv.

3602

3603

3604 3605 3606

3607

Figure A.22 – Structure of StatusCode type 1

Bits 0 to 4: EventCode (type 1) The coding of this data structure is listed in Table A.16. The EventCodes are mapped into EventCodes (type 2) as listed in Annex D. See 7.3.8.2 for additional information.

Table A.16 – Mapping of EventCodes (type 1)

EventCode (type 1)

EventCode (type2)

Instance Type Mode

****1 0xFF80 Application Notification Event single shot

***1* 0xFF80 Application Warning Event single shot

**1** 0x6320 Application Error Event single shot

*1*** 0xFF80 Application Error Event single shot

1**** 0xFF10 Application Error Event single shot

Key * Don't care type 2 See Table D.1 and Table D.2

3608 3609 3610

3611

3612

3613 3614 3615

3617

Bit 5: Reserved This bit is reserved and shall be set to zero in StatusCode type 1.

Bit 6: Reserved

NOTE This bit is used in V1.0 for PDinvalid indication

Bit 7: Event Details This bit indicates that no detailed event information is available. It shall always be set to zero in StatusCode type 1.

A.6.3 StatusCode type 2 (with details) 3616

Figure A.23 shows the structure of the StatusCode type 2.

1

Details Reserv. Activated events

3618

3619

3620 3621 3622 3623 3624

Figure A.23 – Structure of StatusCode type 2

Bits 0 to 5: Activated Events Each bit is linked to an event in the buffer (7.3.8.1) as demonstrated in Figure A.24. Bit 0 is linked to event 1, bit 1 to event 2, etc. A bit with value "1" indicates that the corresponding EventQualifier and the EventCode have been entered in valid formats in the buffer. A bit with value "0" indicates an invalid entry.

Page 201: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 201 – Working Draft

1

Details Reserv. Activated events

StatusCode (type 2)

EventQualifier and EventCode 1

EventQualifier and EventCode 2

EventQualifier and EventCode 3

EventQualifier and EventCode 4

EventQualifier and EventCode 5

EventQualifier and EventCode 6

05

3625

3626

3627 3628

3629

3630 3631 3632

3634

Figure A.24 – Indication of activated events

Bit 6: Reserved This bit is reserved and shall be set to zero.

NOTE This bit is used in the legacy protocol version V1.0 [13] for PDinvalid indication

Bit 7: Event Details This bit indicates that detailed event information is available. It shall always be set in StatusCode type 2.

A.6.4 EventQualifier 3633

The EventQualifier is illustrated in Figure A.25.

MODE INSTANCESOURCETYPE

3635

3636

3637 3638 3639

3640

3641

Figure A.25 – Structure of the EventQualifier

Bits 0 to 2: INSTANCE These bits indicate the particular source (instance) of an Event thus refining its evaluation on the receiver side. Permissible values for INSTANCE are listed in Table A.17.

Table A.17 – Values of INSTANCE

Value Definition

0 Unknown

1 PL

2 DL

3 AL

4 Application

5 to 7 Reserved

Page 202: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 202 – 61131-9/WD V0.5 IEC

3642 3643 3644 3645

3646

Bit 3: SOURCE This bit indicates the source of the Event. Permissible values for SOURCE are listed in Table A.18.

Table A.18 – Values of SOURCE

Value Definition

0 Device application (remote)

1 Master application (local)

3647 3648 3649

3650

Bits 4 to 5: TYPE These bits indicate the event category. Permissible values for TYPE are listed in Table A.19.

Table A.19 – Values of TYPE

Value Definition

0 Reserved

1 Notification

2 Warning

3 Error

3651 3652 3653

3654

Bits 6 to 7: MODE These bits indicate the event mode. Permissible values for MODE are listed in Table A.20.

Table A.20 – Values of MODE

Value Definition

0 reserved

1 Event single shot

2 Event disappears

3 Event appears

3655

3657 3658

A.6.5 EventCode 3656

The EventCode entry contains the identifier of an actual event. Permissible values for EventCode are listed in Annex D.

Page 203: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 203 – Working Draft

Annex B (normative)

Parameter and commands

3659 3660 3661

3664 3665 3666 3667 3668

3669 3670

B.1 Direct parameter page 1 and 2 3662

B.1.1 Overview 3663

In principle, the designer of a Device has a large amount of space for parameters and commands as shown in Figure 4. However, small sensors with a limited number of parameters and limited resources are striving for a simple subset. SDCI offers the so-called direct parameter pages 1 and 2 with a simplified access method (page communication channel according Table A.1) to meet this requirement.

The range of direct parameters is structured as shown in Figure B.1. It is split into page 1 and page 2.

Communication control

0x00 … 0x06

Identification

0x07 … 0x0E

Application control

0x0F

Device specific

0x10 … 0x1F

Direct parameter

Page 2:

Device(individual orprofile)

Page 1:

System and predefinedparametersand controls(fixed)

3671

3672

3673

3674

3675

3676

3677 3678 3679

3680 3681 3682 3683 3684

3685 3686

Figure B.1 – Classification and mapping of direct parameters

Page 1 ranges from 0x00 to 0x0F. It comprises the following categories of parameters:

Communication control

Identification parameter

Application control

The Master application layer (AL) provides read only access to direct parameter page 1 in form of data objects (8.2.1) via Index 0. Single octets can be read via Index 0 and the corresponding Subindex. Subindex 1 indicates address 0x00 and Subindex 16 address 0x0F.

Page 2 ranges from 0x10 to 0x1F. This page comprises parameters optionally used by the individual Device technology. The Master application layer (AL) provides read/write access to direct parameter page 2 in form of data objects (8.2.1) via Index 1. Single octets can be written or read via Index 1 and the corresponding Subindex. Subindex 1 indicates address 0x10 and Subindex 16 address 0x1F.

A Device shall always return the value 0 upon a read access to direct parameter addresses, which are not implemented (for example in case of reserved parameter addresses or not

Page 204: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 204 – 61131-9/WD V0.5 IEC

supported optional parameters). The Device shall ignore a write access to not implemented parameters.

3687 3688

3689 Table B.1 – Direct parameter page 1 and 2

Address Parameter name

Access Implementation/reference

Description

Direct parameter page 1

0x00 Master-Command

W Mandatory/ B.1.2

Master command to switch to operating states (see NOTE)

0x01 MasterCycle-Time

R/W Mandatory/ B.1.3

Actual cycle duration used by the Master to address the Device. Can be used as a parameter to monitor process data transfer.

0x02

MinCycleTime R Mandatory/ B.1.4

Minimum cycle duration supported by a Device. This is a performance feature of the Device and depends on its technology and implementation.

0x03 F-sequence Capability

R Mandatory/ B.1.5

Information about implemented options related to F-sequences and physical configuration

0x04 RevisionID R/W Mandatory/ B.1.6

ID of the used protocol version for implementation (shall be set to 0x11)

0x05 ProcessDataIn R Mandatory/ B.1.7

Number and structure of input data (process data from Device to Master)

0x06 ProcessData-Out

R Mandatory/ B.1.8

Number and structure of output data (process data from Master to Device)

0x07 VendorID 1 (MSB)

0x08 VendorID 2 (LSB)

R Mandatory/ B.1.9

Unique vendor identification (see Annex K for support)

0x09 DeviceID 1 (Octet 2,MSB)

0x0A DeviceID 2 (Octet 1)

0x0B DeviceID 3 (Ocet 0, LSB)

R/W Mandatory/ B.1.10

Unique Device identification allocated by a vendor

0x0C FunctionID 1 (MSB)

0x0D FunctionID 2 (LSB)

R B.1.11 Reserved (Engineering shall set both octets to "0x00")

0x0E R reserved

0x0F System-Command

W Optional/ B.1.12

Command interface for end user applications only and Devices without ISDU support (see NOTE)

Direct parameter page 2

0x10… 0x1F

Vendor specific Optional Optional/ B.1.13

Device specific parameters

NOTE A read operation returns undefined values

3690

3692 3693

3694

B.1.2 MasterCommand 3691

The Master application is able to check the status of a Device or to control its behaviour with the help of MasterCommands (7.3.7).

Permissible values for these parameters are defined in Table B.2.

Page 205: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 205 – Working Draft

Table B.2 – Types of MasterCommands 3695

Value MasterCommand Description

0x00 to 0x59 Reserved

0x5A Fallback Transition from communication to SIO mode. The Device shall execute this transition after 3 Master-CycleTimes and or before 500 ms elapsed after the MasterCommand.

0x5B to 0x94 Reserved

0x95 MasterIdent Indicates a Master revision higher than 1.0

0x96 DeviceIdent Start check of direct parameter page for changed entries

0x97 DeviceStartup Switches the Device from OPERATE or PREOPERATE to STARTUP

0x98 ProcessDataOutputOperate Process output data valid

0x99 DeviceOperate Process output data invalid or not available. Switches the Device from STARTUP or PREOPERATE to OPERATE

0x9A DevicePreoperate Switches the Device from STARTUP to state PREOPERATE

0x9B to 0xFF Reserved

3696

3698 3699 3700

3702 3703

B.1.3 MasterCycleTime 3697

This is a Master property and sets up the actual cycle time of a particular port. See A.3.7 for the application of the MasterCycleTime and B.1.4 for the coding and for the definition of the time base.

B.1.4 MinCycleTime 3701

See A.3.7 for the application of the MinCycleTime. The structure of the MinCycleTime parameter is illustrated in Figure B.2.

Time base Multiplier

3704

3705

3706

3707 3708

3709

3710

3711 3712 3713

3714 3715

Figure B.2 – MinCycleTime

Bits 0 to 5: Multiplier

These bits contain a 6-bit multiplier for the calculation of the MinCycleTime. Permissible values for the multiplier are 0 to 63.

Bits 6 to 7: Time Base

These bits contain the time base for the calculation of the MinCycleTime.

With a value of 0x00 assigned to this octet, the Device will not be restricted regarding the cycle time (i.e. Device has no MinCycleTime). In this case the Master shall use the calculated worst case F-sequence timing (A.3.6).

The permissible combinations for time base and multiplier are listed in Table B.3 along with the resulting values for MinCycleTime.

Page 206: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 206 – 61131-9/WD V0.5 IEC

Table B.3 – Possible values of MinCycleTime 3716

Code (binary)

Time Base Calculation Cycle Time

00 0,1 ms Multiplier * Time Base 0,4 ms to 6,3 ms

01 0,4 ms 6,4 ms + Multiplier * Time Base

6,4 ms to 31,6 ms

10 1,6 ms 32,0 ms + Multiplier * Time Base

32,0 ms to 132,8 ms

11 Reserved Reserved Reserved

3717

3719

B.1.5 F-sequence Capability 3718

The structure of the F-sequence Capability parameter is illustrated in Figure B.3.

Reserved ISDUPREOPERATE

F-sequence typeOPERATE

F-sequence type

3720

3721

3722

3723 3724

3725

Figure B.3 – F-sequence Capability

Bit 0: ISDU

This bit indicates whether or not the ISDU communication channel is supported. Permissible values for ISDU are listed in Table B.4.

Table B.4 – Values of ISDU

Value Definition

0 ISDU not supported

1 ISDU supported

3726

3727

3728 3729 3730

3731

3732 3733

3734

3735

3737 3738 3739

3740

Bits 1 to 3: OPERATE F-sequence type

This parameter indicates the available F-sequence type during the OPERATE state. Permissible values for the OPERATE F-sequence type are listed in Table A.9 for legacy Devices according to [13] and in Table A.10 for Devices according to this specification.

Bits 4 to 5: PREOPERATE F-sequence type

This parameter indicates the available F-sequence type during the PREOPERATE state. Permissible values for the PREOPERATE F-sequence type are listed in Table A.8.

Bits 6 to 7: Reserved

These bits are reserved and shall be set to zero in this version of the specification.

B.1.6 RevisionID (RID) 3736

The RevisionID parameter is the two-digit version number of the SDCI protocol implemented within the Device. Its structure is illustrated in Figure B.4. The RevisionID can be overwritten (10.6.3). An accepted different RevisionID shall be volatile.

The legacy protocol version 1.0 is defined in [13]. This specification defines version 1.1.

Page 207: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 207 – Working Draft

MinorRevMajorRev

3741

3742

3743

3744 3745

3746

3747 3748

3750

Figure B.4 – RevisionID

Bits 0 to 3: MinorRev

These bits contain the minor digit of the version number, for example 0 for the protocol version 1.0. Permissible values for MinorRev are 0x0 to 0xF.

Bits 4 to 7: MajorRev

These bits contain the major digit of the version number, for example 1 for the protocol version 1.0. Permissible values for MajorRev are 0x0 to 0xF.

B.1.7 ProcessDataIn 3749

The structure of the ProcessDataIn parameter is illustrated in Figure B.5.

LengthReserveSIOBYTE

3751

3752

3753

3754 3755 3756

3757

3758

3759

3760 3761

3762

Figure B.5 – ProcessDataIn

Bits 0 to 4: Length

These bits contain the length of the input data (process data from Device to Master) in the length unit designated in the BYTE parameter bit. Permissible codes for Length are defined in Table B.6.

Bit 5: Reserve

This bit is reserved and shall be set to zero in this version of the specification.

Bit 6: SIO

This bit indicates whether the Device provides a switching signal in SIO mode. Permissible values for SIO are listed in Table B.5.

Table B.5 – Values of SIO

Value Definition

0 SIO mode not supported

1 SIO mode supported

3763 3764

3765 3766

3767

Bit 7: BYTE

This bit indicates the length unit for Length. Permissible values for BYTE and the resulting definition of the process data length in conjunction with Length are listed in Table B.6.

Table B.6 – Permitted combinations of BYTE and Length

BYTE Length Definition

0 0 no process data

0 1 1 bit process data, structured in bits

0 ... dito

0 16 16 bit process data, structured in bits

Page 208: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 208 – 61131-9/WD V0.5 IEC

BYTE Length Definition

0 17 to 31 Reserved

1 0, 1 Reserved

1 2 3 octets process data, structured in octets

1 ... dito

1 31 32 octets process data, structured in octets

3768

3770 3771

3773 3774

3776 3777

3778 3779

3781

3783 3784 3785

3786 3787

3789 3790

3791 3792

3795 3796 3797 3798 3799 3800 3801

B.1.8 ProcessDataOut 3769

The structure of the ProcessDataOut parameter is the same as with ProcessDataIn, except with bit 6 ("SIO") reserved.

B.1.9 VendorID (VID) 3772

These octets contain a worldwide unique value per vendor. This value is assigned by the organization listed in Annex K.

B.1.10 DeviceID (DID) 3775

These octets contain the actual DeviceID. A value of "0" is not permitted. It can be overwritten (10.6.2). An accepted different DeviceID shall be volatile.

NOTE The communication parameters MinCycleTime, F-sequence Capability, Process Data In and Process Data Out can be changed to achieve compatibility to the requested DeviceID.

B.1.11 FunctionID (FID) 3780

This parameter will be defined in a later version.

B.1.12 SystemCommand 3782

Only Devices without ISDU support shall use the parameter SystemCommand in the direct parameter page 1. The implementation of SystemCommand is optional. See Table B.8 for a detailed description of the SystemCommand functions.

NOTE The SystemCommand on the Direct Parameter page 1 does not provide a positive or negative response upon execution of a selected function

B.1.13 Device specific direct parameter page 2 3788

The Device specific direct parameters are a set of parameters available to the Device specific technology. The implementation of Device specific direct parameters is optional.

NOTE The complete parameter list of the direct parameter page 2 is read or write accessible via index 1 (see B.1.1).

B.2 Predefined Device parameters 3793

B.2.1 Overview 3794

The many different technologies and designs of sensors and actuators require individual and easy access to complex parameters and commands beyond the capabilities of the direct parameter page 2. From a Master's point of view, these complex parameters and commands are called application data objects. So-called ISDU "containers" are the transfer means to exchange application data objects or short data objects. The index of the ISDU is used to address the data objects. The following Figure B.6 illustrates the general mapping of data objects for the ISDU transmission.

Page 209: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 209 – Working Draft

System

0x02 … 0x0F

Identification

0x10 … 0x1F

Diagnosis

0x20 … 0x2F

Preferred Index

0x40 … 0xFE

Parameter via ISDU

Device para-meters(individual orprofile)

Predefinedparameters

Profile specific parameter

0x30 … 0x3F

Extended Index

0x0100 … 0x3FFF

Reserved

0x5000 … 0xFFFF

Profile specific Index

0x4000 … 0x4FFF

3802

3803

3804 3805 3806

3807

3808

3809 3810

3811

Figure B.6 – Index space for ISDU data objects

This clause contains definitions and requirements for the implementation of technology specific Device applications. General implementation rules for parameters and commands shall be considered as shown in Figure B.7:

1) All parameters of an Index shall be readable and/or writeable as an entire data object via Subindex 0.

2) The technology specific device application shall resolve inconsistencies of dependent parameter sets during reparameterization.

3) The duration of an SPDU service request is limited (Table 91). A master application can abort SPDU services after this timeout.

4) Application commands (for example teach-in, reset to factory settings, etc.) are treated like parameters. The initiated execution of an application command is confirmed with a positive service response – Write.res(+). A negative service response – Write.res(-) – shall indicate that the execution of the application command failed. In both cases the timeout limit shall be considered (Table 91)

Figure B.7 – Implementation rules for parameters and commands

Table B.7 defines the assignment of data objects (parameters and commands) to the Index range of ISDUs. All indices above 2 are ISDU related.

Table B.7 – Index assignment of data objects (Device parameter)

Index (dec)

Object name

Access Length Data type M/O/C

Remark

0x0000 (0)

Direct Parameter Page 1

R RecordT M Redirected to the page communication channel, see 10.7.4

Page 210: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 210 – 61131-9/WD V0.5 IEC

Index (dec)

Object name

Access Length Data type M/O/C

Remark

0x0001 (1)

Direct Parameter Page 2

R/W RecordT M Redirected to the page communication channel, see 10.7.4

0x0002 (2)

System-Command

W 1 octet UIntegerT M/O Command Code Definition (See B.2.2)

0x0003 (3)

Data Storage Index

R/W variable RecordT M Set of data objects for storage (See B.2.3)

0x0004- 0x000B (4-11)

Reserved Reserved for exceptional operations

0x000C (12)

Device Access Locks

R/W 2 octets RecordT C Standardized Device locking functions (See B.2.4)

0x000D (13)

Profile Charac-teristic

R variable RecordT

O See [12]

0x000E (14)

PDInput Descriptor

R variable RecordT

O See [12]

0x000F (15)

PDOutput Descriptor

R variable RecordT

O See [12]

0x0010 (16)

Vendor Name

R max. 64 octets

StringT M Informative (See B.2.6)

0x0011 (17)

Vendor Text

R max. 64 octets

StringT O Additional vendor information (See B.2.7)

0x0012 (18)

Product Name

R max. 64 octets

StringT M Detailed product or type name (See B.2.8)

0x0013 (19)

Product ID R max. 64 octets

StringT O Product or type identification (See B.2.9 and [3] for details)

0x0014 (20)

Product Text

R max. 64 octets

StringT O Description of Device function or characteristic (See B.2.10)

0x0015 (21)

Serial- Number

R max. 16 octets

StringT O Vendor specific serial number (See B.2.11)

0x0016 (22)

Hardware Revision

R max. 64 octets

StringT O Vendor specific format (See B.2.12)

0x0017 (23)

Firmware Revision

R max. 64 octets

StringT O Vendor specific format (See B.2.13)

0x0018 (24)

Application Specific Tag

R/W Min. 16, max. 32 octets

StringT O Tag location or tag function defined by user (See B.2.14)

0x0019- 0x001F (25-31)

Reserved

0x0020 (32)

Error Count

R 2 octets UIntegerT O Errors since power-on or reset (See B.2.15)

0x0021- 0x0023 (33-35)

Reserved

0x0024 (36)

Device Status

R 1 octet UIntegerT O Contains current status of the Device (See B.2.16)

0x0025 (37)

Detailed Device Status

R variable RecordT O See B.2.17 and [12]

0x0026- 0x0027 (38-39)

Reserved

Page 211: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 211 – Working Draft

Index (dec)

Object name

Access Length Data type M/O/C

Remark

0x0028 (40)

Process- DataInput

R PD length

Device specific O Read last valid process data from PDin channel (See B.2.17)

0x0029 (41)

Process- DataOutput

R PD length

Device specific O Read last valid process data from PDout channel (See B.2.19)

0x002- 0x002F (42-47)

Reserved

0x0030 (48)

Offset Time

R/W 1 octet RecordT O Synchronization of Device application timing to F-sequence timing (See B.2.20)

0x0031- 0x003F (49-63)

Reserved for profiles

0x0040-0x00FE (64-254)

Preferred Index

Device specific (8 bit)

0x00FF (255)

Reserved

0x0100-0x3FFF

(256-16383)

Extended Index

Device specific (16 bit)

0x4000-0x4FFF (16384-20479)

Profile specific Index

To be defined within a separate document [12]

0x5000-0xFFFF (20480-65535)

Reserved

Key M = mandatory; O = optional; C = conditional

3812

3814 3815 3816 3817 3818

3819 3820

3821

B.2.2 SystemCommand 3813

Devices with ISDU support shall use the ISDU Index 0x0002 to receive the SystemCommand. The commands shall be acknowledged. A positive acknowledge indicates the complete and correct finalization of the requested command. A negative acknowlegde indicates the command cannot be realized or ended up with an error. A SystemCommand shall be executed within less than 5 seconds to fulfil the ISDU timing requirements (Table 91).

Implementation of the SystemCommand feature is mandatory for Masters and optional for Devices. The coding of SystemCommand is shown in Table B.8.

Table B.8 – Coding of SystemCommand (ISDU)

Command (hex)

Command (dec)

Command name M/O Definition

0x00 0 Reserved

0x01 1 ParamUploadStart O Start parameter upload

0x02 2 ParamUploadEnd O Stop parameter upload

0x03 3 ParamDownloadStart O Start parameter download

0x04 4 ParamDownloadEnd O Stop parameter download

0x05 5 ParamDownloadStore O Finalize parameterization and start data storage

0x06 6 ParamBreak O Cancel all Param commands

0x07 to 0x3F 7 to 63 Reserved

Page 212: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 212 – 61131-9/WD V0.5 IEC

Command (hex)

Command (dec)

Command name M/O Definition

0x40 to 0x7F 64 to 127 Reserved for profiles

0x80 128 Device reset O

0x81 129 Application reset O

0x82 130 Restore factory settings O

0x83 to 0x9F 131 to 159 Reserved

0xA0 to 0xFF 160 to 255 Vendor specific

NOTE See 10.3

Key M = mandatory; O = optional

The implementation of the parameterization commands is optional. However, all of these commands 0x01 … 0x06 or none of them shall be implemented.

3822 3823

3824

3826 3827

3828

See B.1.12 for SystemCommand options on the direct parameter page 1.

B.2.3 Data Storage Index 3825

The parameter Data Storage Index (0x0003) contains all the information to be used for the data storage handling. Table B.9 shows the Data Storage Index assignments.

Table B.9 – Data Storage Index assignments

Index Subindex Access Parameter Name

Coding Data type

01 R/W DS_Command 0x00: Reserved 0x01: DS_UploadStart 0x02: DS_UploadEnd 0x03: DS_DownloadStart 0x04: DS_DownloadEnd 0x05: DS_Break 0x06 to 0xFF: Reserved

UIntegerT (8 bit)

02 R State_Property Bit 0: Reserved

Bit 1and 2: State of Data Storage 0b00: Inactive 0b01: Upload 0b10: Download 0b11: Data storage locked

Bit 3 to 6: Reserved Bit 7: DS_UPLOAD_FLAG "1": DS_UPLOAD_REQ pending "0": no DS_UPLOAD_REQ

UIntegerT (8 bit)

03 R Data_Storage_ Size

Number of octets for storing all the necessary information for the Device replacement (see 10.4.5). Maximum size is 2 048 octets.

UIntegerT (32 bit)

04 R Parameter_ Checksum

Parameter set revision indication: CRC signature or Revision Counter (10.4.8)

UIntegerT (32 bit)

0x0003

05 R Index_List List of parameter indices to be saved (Table B.10)

OctetStringT (variable)

3829 3830

3831

DS_Command

This octet carries the Data Storage commands for the Device.

Page 213: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 213 – Working Draft

State_Property 3832

3833 3834 3835

3836

3837 3838 3839 3840

3841

3842 3843 3844 3845 3846

3847

3848 3849

3850

This octet indicates the current status of the Data Storage mechanism. Bit 7 shall be stored in non-volatile memory. The Master checks this bit at start-up and performs a parameter upload if requested.

Data_Storage_Size

These four octets provide the requested memory size as number of octets for storing all the information required for the replacement of a Device including the structural information (Index, Subindex). Data type is UIntegerT (32 bit). The maximum size is 2 048 octets. See Table F.1.

Parameter_Checksum

This checksum is used to detect changes in the parameter set without reading all parameters. The value of the checksum is calculated according to the procedure in 10.4.8. The Device shall change the checksum whenever a parameter out of the parameter set has been altered. Different parameter sets shall hold different checksums. It is recommended that the Device stores this parameter locally in non-volatile memory.

Index_List

Table B.10 shows the structure of the Index_List. Each Index_List can carry up to 70 entries (Table 91).

Table B.10 – Structure of Index_List

Entry Address Definition Data type

Index Index of first parameter to be saved Unsigned16 X1

Subindex Subindex of first parameter to be saved Unsigned8

Index Index of next parameter to be saved Unsigned16 X2

Subindex Subindex of next parameter to be saved Unsigned8

….. ……… ………………………………………. ………..

Index Index of last parameter to be saved Unsigned16 Xn

Subindex Subindex of last parameter to be saved Unsigned8

Xn+1 Index Termination_Marker 0x0000: End of Index_List >0x0000: Next Index containing an Index_List

Unsigned16

Large sets of parameters can be handled via concatenated Index_Lists. The last two octets of the Index_List shall carry the Termination Marker. A value 0 indicates the end of the Index List. In case of concatenation the Termination Marker is set to the next Index containing an Index List. The structure of the following Index List is the same as described in

3851 3852 3853 3854 3855

3857 3858 3859 3860 3861 3862

3863

3864

3865

Table B.10. Thus, the concatenation of lists ends if a Termination Marker with the value 0 is found.

B.2.4 Device Access Locks 3856

The parameter Device Access Locks allows control of the Device behaviour. Standardized Device functions can independently be configured via defined flags in this parameter. The Device Access Locks configuration can be changed by overwriting the parameter. The actual configuration setting is available per read access to this parameter. The data type is RecordT of BooleanT. Access is only permitted via Subindex 0. This parameter is optional. If implemented it shall be non-volatile.

The following Device access lock categories are defined.

Parameter write access (optional)

Data storage (mandatory if the Device supports data storage)

Page 214: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 214 – 61131-9/WD V0.5 IEC

Local parameterization (optional) 3866

3867

3868

3869

Local user interface operation (optional)

The following Table B.11 shows the Device locking possibilities.

Table B.11 – Device locking possibilities

Bit Category Definition

0 Parameter (write) access (optional) 0: unlocked (default) 1: locked

1 Data storage (mandatory if the Device supports data storage)

0: unlocked (default) 1: locked (see NOTE)

2 Local parameterization (optional) 0: unlocked (default) 1: locked

3 Local user interface (optional) 0: unlocked (default) 1: locked

4 - 15 Reserved

NOTE The Master reads the parameter State_Property/State of Data Storage (Table B.9 prior to any actions

3870 3871

3872 3873 3874 3875

3876 3877

3878

3879 3880 3881

3882

3883

3884

3885

3886

3888 3889

3891 3892 3893

3894

Parameter (write) access:

If this bit is set, write access to all Device parameters over the SDCI communication interface is inhibited for all read/write parameters of the Device except the parameter Device Access Locks. Read access is not affected. The Device shall respond with the negative service response - access denied – to a write access, if the parameter access is locked.

The Data Storage mechanism overrules the parameter (write) access lock mechanism temporarily between DS_DownloadStart and DS_DownloadEnd or DS_Break.

Data storage:

If this bit is set, the data storage mechanism is inhibited. In this case, the Device shall respond to a write access (within the Data Storage Index) with a negative service response – access denied – (see B.2.3). Read access to Data Storage Index is not affected.

This setting is also indicated in the State Property within Data Storage Index

Local parameterization:

If this bit is set, the parameterization via local control elements on the Device is inhibited.

Local user interface:

If this bit is set, operation of the human machine interface on the Device is disabled.

B.2.5 Profile Characteristic 3887

The profile parameter Profile Characteristic is defined in a separate document [12]. Indices 0x000E to 0x000F are reserved for further Device profiles.

B.2.6 Vendor Name 3890

The parameter Vendor Name contains only one of the names of the vendors listed for the assigned VendorID. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64. This parameter is mandatory.

NOTE These predefined parameters are always coded as UTF-8 (see E.2.6)

Page 215: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 215 – Working Draft

B.2.7 Vendor Text 3895

The parameter Vendor Text contains additional information about the vendor. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64. This parameter is optional.

3896 3897 3898

3900 3901 3902

3904 3905 3906

3908 3909 3910 3911

3913 3914 3915

3917 3918 3919

3921 3922 3923

3925 3926 3927 3928 3929

3930

3932 3933 3934 3935

B.2.8 Product Name 3899

The parameter Product Name shall contain the complete product name and shall match the corresponding entry in the IODD Device variant list. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64. This parameter is mandatory.

B.2.9 Product ID 3903

The parameter Product ID shall contain the vendor specific product or type identification of the Device. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64 (see [3] for details). This parameter is optional.

B.2.10 Product Text 3907

The parameter Product Text shall contain additional product information for the Device, such as product category (for example Photoelectric Background Suppression, Ultrasonic Distance Sensor, Pressure Sensor, etc.). The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64. This parameter is optional.

B.2.11 SerialNumber 3912

The parameter SerialNumber shall contain a unique vendor specific code for each individual Device. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 16. This parameter is optional.

B.2.12 Hardware Revision 3916

The parameter Hardware Revision shall contain a vendor specific coding for the hardware revision of the Device. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64. This parameter is optional.

B.2.13 Firmware Revision 3920

The parameter Firmware Revision shall contain a vendor specific coding for the firmware revision of the Device. The parameter is a read-only data object. The data type is StringT with a maximum fixedLength of 64. This parameter is optional.

B.2.14 Application Specific Tag 3924

The parameter Application Specific Tag shall be provided as read/write data object for the user application. It can serve as a "tag function" (role of the Device) or a "tag location" (location of the Device). The data type is StringT with a minimum fixedLength of 16 and a maximum fixedLength of 32. As default it is recommended to fill this parameter with "***". This parameter is optional.

NOTE In process automation usually this length is 32 octets.

B.2.15 Error Count 3931

The parameter Error Count provides information on errors occurred in the Device application since power-on or reset. Usage of this parameter is vendor or Device specific. The data type is UIntegerT with a bitLength of 16. The parameter is a read-only data object. This parameter is optional.

Page 216: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 216 – 61131-9/WD V0.5 IEC

B.2.16 Device Status 3936

B.2.16.1 Overview 3937

3938 3939 3940

3941 3942 3943

3944 3945 3946

The parameter Device Status shall provide information about the Device condition (diagnosis) by the Device's technology. The data type is UIntegerT with a bitLength of 8. The parameter is a read-only data object. This parameter is optional.

The following Device conditions in Table B.12 are defined. They shall be generated by the Device applications. The parameter Device Status can be screened by any PLC program or tools such as Asset Management (11).

Table B.12 shows the different Device Status information together with the recommended colors and symbols in [16]. The criteria for these indications are defined in sections B.2.16.2 through B.2.16.5.

Investigations are in progress to find relevant standards in ISO/IEC if any 3947

3948 Table B.12 – Device status parameter

Value Definition Color indication (process monitoring)

Symbol (process monitoring)

0 Device is OK Green None

1 Maintenance-RequiredB.2.16.2

Blue

2 Out-of-Specification B.2.16.3

Yellow

??

3 Functional-Check B.2.16.4

Orange

4 Failure B.2.16.5

Red

5 - 255 Reserved - -

3949

3951 3952 3953

3955 3956 3957 3958

3960 3961

B.2.16.2 Maintenance-required 3950

Although the process data are valid, the Device is close to loose its ability of correct functioning due to operational conditions, for example optical lenses dusty, build-up of deposits, lubricant level low, etc.

B.2.16.3 Out-of-Specification 3954

Although the process data are valid, the Device is operating outside its specified measuring range or environmental conditions (power supply, auxiliary energy, temperature, pneumatic pressure, magnetic interference, vibrations, acceleration, interfering light, bubble formation in liquids, etc.).

B.2.16.4 Functional-Check 3959

Process Data temporarily invalid due to intended manipulations on the Device (calibrations, teach-in, position adjustments, simulation, etc.).

Page 217: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 217 – Working Draft

B.2.16.5 Failure 3962

Process Data invalid due to malfunction in the Device or its peripherals. The Device is unable to perform its intended function.

3963 3964

3966 3967 3968 3969 3970 3971 3972 3973 3974 3975

3976

B.2.17 Detailed Device Status 3965

The parameter Detailed Device Status shall provide information about currently pending Events in the Device. Events of TYPE "Error" or "Warning" and MODE "Event appears" (A.6.4) shall be entered into the list of Detailed Device Status with EventQualifier and Event-Code. Upon occurrence of an Event with MODE "Event disappears", the corresponding entry in Detailed Device Status shall be set to EventQualifier "0x00" and EventCode "0x0000". This way this parameter always provides the current diagnosis status of the Device. The parameter is a read-only data object. The data type is ArrayT with a maximum number of 64 array elements (Event entries). The number of array elements of this parameter is Device specific. Upon power-off or reset of the Device the contents of all array elements is set to initial settings - EventQualifier "0x00", EventCode "0x0000". This parameter is optional.

Table B.13 – Detailed Device Status (Index 0x0025)

Sub-index

Object name R/W Mandatory/optional

Data Type Comment

1 Error_Warning_1 R M 3 octets All octets 0x00: no Error/ Warning Octet 1: EventQualifier Octet 2,3: EventCode

2 Error_Warning_2 R M 3 octets dito

3 Error_Warning_3 R M 3 octets dito

4 Error_Warning_4 R M 3 octets dito

n Error_Warning_n R M 3 octets dito

3977

3978

3979 3980

3982 3983 3984 3985

3987 3988 3989 3990

3992 3993 3994 3995

Table B.13 shows the structure of the parameter Detailed Device Status [12].

NOTE The vendor can choose the implementation of a static list, i.e. one fix array position for each Event with a specific EventCode, or a dynamic list, i.e. each Event entry is stored into the next free array position.

B.2.18 ProcessDataInput 3981

The parameter ProcessDataInput shall provide the last valid process input data from the Device application. The data type and structure is identical to the Process Data In transferred in the process communication channel. The parameter is a read-only data object. This parameter is optional.

B.2.19 ProcessDataOutput 3986

The parameter ProcessDataOutput shall provide the last valid process output data written to the Device application. The data type and structure is identical to the Process Data Out transferred in the process communication channel. The parameter is a read-only data object. This parameter is optional.

B.2.20 Offset Time 3991

The parameter Offset Time allows a Device application to synchronize on F-sequence cycles of the data link layer via adjustable offset times. The data type is RecordT. Access is only possible via Subindex 0. The parameter is a read/write data object. This parameter is optional.

Page 218: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 218 – 61131-9/WD V0.5 IEC

The structure of the parameter Offset Time is illustrated in the following Figure B.8: 3996

Time base Multiplier

3997

3998

3999

4000 4001

4002

4003

4004 4005 4006 4007

4008

Figure B.8 – Structure of the Offset Time

Bits 0 to 5: Multiplier

These bits contain a 6-bit factor for the calculation of the Offset Time. Permissible values for the multiplier are 0 to 63.

Bits 6 to 7: Time Base

These bits contain the time base for the calculation of the Offset Time.

The permissible combinations for Time Base and Multiplier are listed in the following Table B.14 along with the resulting values for Offset Time. Setting both Multiplier and Time Base to zero deactivates synchronization with the help of an Offset Time. The value of Offset Time shall not exceed the MasterCycleTime (see B.1.3)

Table B.14 – Time base coding and values of Offset Time

Code (binary)

Time Base Calculation Offset Time

00 0,01 ms Multiplier * Time Base 0,01 ms to 0,63 ms

01 0,04 ms 0,64 ms + Multiplier * Time Base

0,64 ms to 3,16 ms

10 0,64 ms 3,20 ms + Multiplier * Time Base

3,20 ms to 43,52 ms

11 2,56 ms 44,16 ms + Multiplier * Time Base

44,16 ms to 126,08 ms

4009

4011 4012

4014 4015 4016 4017

4019

4021 4022

B.2.21 Profile Parameter (reserved) 4010

Indices 0x0031 to 0x003F are reserved for Device profiles. These parameters will be specified within a separate document [12].

B.2.22 Preferred Index 4013

Preferred Indices (0x0040 to 0x00FE) can be used for vendor specific Device functions. This range of indices is considered preferred due to lower protocol overhead within the ISDU and thus higher data throughput for small data objects as compared to the Extended Index (see B.2.23).

B.2.23 Extended Index 4018

Extended Indices (0x0100 to 0x3FFF) can be used for vendor specific Device functions.

B.2.24 Profile specific Index (reserved) 4020

Indices 0x4000 to 0x4FFF are reserved for Device profiles. These parameters will be specified within a separate document [12].

Page 219: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 219 – Working Draft

Annex C (normative)

ErrorTypes (ISDU errors)

4023 4024 4025

4027 4028 4029

4030

4031

4032

4033 4034 4035

4038

4039

C.1 General 4026

An ErrorType is used within negative service confirmations of ISDU s (A.5.2 and Table A.13). It indicates the cause of a negative confirmation of a Read or Write service. The origin of the error may be located in the Master (local) or in the Device (remote).

The ErrorType consists of two octets, the main error cause and more specific information:

ErrorCode (high order octet)

AdditionalCode (low order octet)

The ErrorType represents information about the incident, the origin and the instance. The permissible ErrorTypes and the criteria for their deployment are listed in C.2 and C.3. All other ErrorType values are reserved and shall not be used.

C.2 Application related ErrorTypes 4036

C.2.1 Overview 4037

The permissible ErrorTypes resulting from the Device application are listed in Table C.1.

Table C.1 – ErrorTypes

Incident Error Code

Additional Code

Name Definition

Device application error – no details

0x80 0x00 APP_DEV See C.2.2

Index not available

0x80 0x11 IDX_NOTAVAIL See C.2.3

Subindex not available

0x80 0x12 SUBIDX_NOTAVAIL See C.2.4

Service temporarily not available

0x80 0x20 SERV_NOTAVAIL See C.2.5

Service temporarily not available - local control

0x80 0x21 SERV_NOTAVAIL_LOCCTRL See C.2.6

Service temporarily not available – Device control

0x80 0x22 SERV_NOTAVAIL_DEVCTRL See C.2.7

Access denied 0x80 0x23 IDX_NOT_WRITABLE See C.2.8

Parameter value out of range

0x80 0x30 PAR_VALOUTOFRNG See C.2.9

Parameter value above limit

0x80 0x31 PAR_VALGTLIM See C.2.10

Parameter value below limit

0x80 0x32 PAR_VALLTLIM See C.2.11

Parameter length overrun

0x80 0x33 VAL_LENOVRRUN See C.2.12

Parameter length underrun

0x80 0x34 VAL_LENUNDRUN See C.2.13

Page 220: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 220 – 61131-9/WD V0.5 IEC

Incident Error Code

Additional Code

Name Definition

Function not available

0x80 0x35 FUNC_NOTAVAIL See C.2.14

Function temporarily unavailable

0x80 0x36 FUNC_UNAVAILTEMP See C.2.15

Invalid parameter set

0x80 0x40 PAR_SETINVALID See C.2.16

Inconsistent parameter set

0x80 0x41

PAR_SETINCONSIST See C.2.17

Application not ready

0x80 0x82 APP_DEVNOTRDY See C.2.18

Vendor specific 0x81 0x00 UNSPECIFIC See C.2.19

Vendor specific 0x81 0x01 to 0xFF VENDOR_SPECIFIC See C.2.19

4040

4042 4043

4045

4047 4048

4050 4051

4053 4054 4055

4057 4058 4059

4061

4063 4064

C.2.2 Device application error – no details 4041

This ErrorType shall be used if the requested service has been refused by the Device application and no detailed information of the incident is available.

C.2.3 Index not available 4044

This ErrorType shall be used whenever a read or write access occurs to a not existing Index.

C.2.4 Subindex not available 4046

This ErrorType shall be used whenever a read or write access occurs to a not existing Subindex.

C.2.5 Service temporarily not available 4049

This ErrorType shall be used if a parameter is not accessible for a read or write service due to the current state of the Device application.

C.2.6 Service temporarily not available – local control 4052

This ErrorType shall be used if a parameter is not accessible for a read or write service due to an ongoing local operation at the Device (for example operation or parameterization via an on-board Device control panel).

C.2.7 Service temporarily not available – device control 4056

This ErrorType shall be used if a read or write service is not accessible due to a remote triggered state of the device application (for example parameterization during a remote triggered teach-in operation or calibration).

C.2.8 Access denied 4060

This ErrorType shall be used if a write service tries to access a read-only parameter.

C.2.9 Parameter value out of range 4062

This ErrorType shall be used for a write service to a parameter outside its permitted range of values.

Page 221: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 221 – Working Draft

C.2.10 Parameter value above limit 4065

This ErrorType shall be used for a write service to a parameter above its specified value range.

4066 4067

4069 4070

4072 4073 4074

4076 4077

4079 4080

4082 4083 4084

4086 4087

4089 4090 4091

4093 4094

4096 4097

4098

C.2.11 Parameter value below limit 4068

This ErrorType shall be used for a write service to a parameter below its specified value range.

C.2.12 Parameter length overrun 4071

This ErrorType shall be used for a write service to a parameter above its specified length. This ErrorType shall also be used, if a data object is too large to be processed by the Device application (for example ISDU buffer restriction).

C.2.13 Parameter length underrun 4075

This ErrorType shall be used for a write service to a parameter below its predefined length (for example write access of an Unsigned16 value to an Unsigned32 parameter).

C.2.14 Function not available 4078

This ErrorType shall be used for a write service with a command value not supported by the Device application (for example a SystemCommand with a value not implemented).

C.2.15 Function temporarily unavailable 4081

This ErrorType shall be used for a write service with a command value calling a Device function not available due to the current state of the Device application (for example a SystemCommand).

C.2.16 Invalid parameter set 4085

This ErrorType shall be used if values via single parameter transfer collide with other actual parameter settings (for example overlapping set points for a binary data setting; see 10.3.4).

C.2.17 Inconsistent parameter set 4088

This ErrorType shall be used at the termination of a block parameter transfer with ParamDownloadEnd or ParamDownload Store if the plausibility check shows inconsistencies (see 10.3.5 and B.2.2).

C.2.18 Application not ready 4092

This ErrorType shall be used if a read or write service is refused due to a temporarily unavailable application (for example peripheral controllers during startup).

C.2.19 Vendor specific 4095

This ErrorType will be propagated directly to higher level processing elements as an error (no warning) by the Master.

Page 222: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 222 – 61131-9/WD V0.5 IEC

C.3 Derived ErrorTypes 4099

C.3.1 Overview 4100

Derived ErrorTypes are generated in the Master application and are caused by internal incidents or those received from the Device. Table C.2 lists the defined Derived ErrorTypes.

4101 4102

4103 Table C.2 – Derived ErrorTypes

Incident Error Code

Additional Code

Name Definition

Communication error 0x10 0x00 COM_ERR See C.3.2

Timeout 0x11 0x00 SERV_TIMEOUT See C.3.3

Device event – ISDU error (DL, Error, single shot, 0x5600)

0x11 0x00 SERV_TIMEOUT See C.3.4

Device event – ISDU illegal service primitive (AL, Error, single shot, 0x5800)

0x11 0x00 SERV_TIMEOUT See C.3.5

Master – ISDU checksum error

0x56 0x00 M_ ISDU_CHECKSUM See C.3.6

Master – ISDU illegal service primitive

0x57 0x00 M_ ISDU_ILLEGAL See C.3.7

Device event – ISDU buffer overflow (DL, Error, single shot, 0x5200)

0x80 0x33 VAL_LENOVRRUN See C.3.8 and C.2.12 (see NOTE)

NOTE Events from legacy V1.0 Devices [13] are redirected in compatibility mode to this derived ErrorType

4104

4106 4107

4109 4110

4112 4113 4114

4116 4117 4118

4120 4121

C.3.2 Communication error 4105

The Master generates a negative service response with this ErrorType if a communication error occurred during a read or write service, for example the SDCI connection is interrupted.

C.3.3 Timeout 4108

The Master generates a negative service response with this ErrorType, if a Read or Write service is pending longer than the defined service timeout in the Master.

C.3.4 Device event – ISDU error 4111

If the Master received an event with the EventQualifier (A.6.4: DL, Error, Event single shot) and the EventCode 0x5600, a negative service response indicating a service timeout is generated and returned to the requester (see C.3.3).

C.3.5 Device event – ISDU illegal service primitive 4115

If the Master received an event with the EventQualifier (A.6.4: AL, Error, Event single shot) and the EventCode 0x5800, a negative service response indicating a service timeout is generated and returned to the requester (see C.3.3).

C.3.6 Master – ISDU checksum error 4119

The Master generates a negative service response with this ErrorType, if its data link layer detects an ISDU checksum error.

Page 223: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 223 – Working Draft

C.3.7 Master – ISDU illegal service primitive 4122

The Master generates a negative service response with this ErrorType, if its data link layer detects an ISDU illegal service primitive.

4123 4124

4126 4127 4128

C.3.8 Device event – ISDU buffer overflow 4125

If the Master received an event with the EventQualifier (A.6.4: DL, Error, Event single shot) and the EventCode 0x5200, a negative service response indicating a parameter length overrun is generated and returned to the requester (see C.2.12).

Page 224: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 224 – 61131-9/WD V0.5 IEC

Annex D (normative)

EventCodes (diagnosis information)

4129 4130 4131

4133 4134 4135 4136 4137 4138

4140 4141

4142

D.1 General 4132

The concept of events is described in 7.3.8.1 and the general structure and encoding of events in A.6. Whenever the Status Code indicates an event in case of a Device or a Master incident, the associated EventCode shall be provided as diagnosis information. As specified in A.6, the event entry contains an EventCode in addition to the Event Qualifier. The EventCode identifies an actual incident. Permissible values for EventCode are listed in Table D.1; all other EventCode values are reserved and shall not be used.

D.2 EventCodes for Devices 4139

Table D.1 lists the defined EventCode identifiers and their definitions. The EventCodes are created by the technology specific Device application (instance = APP).

Table D.1 – EventCodes

EventCodes Definition Device Status Value

(NOTE 1)

TYPE (NOTE 2)

0x0000 No malfunction 0 Notification

0x1000 General malfunction – unknown error 4 Error

0x1001 to 0x17FF Reserved

0x1800 to 0x18FF Manufacturer/ vendor specific

0x1900 to 0x3FFF Reserved

0x4000 Temperature fault – Overload 4 Error

0x4001 to 0x420F Reserved

0x4210 Device temperature over-run – Clear source of heat 2 Warning

0x4211 to 0x421F Reserved

0x4220 Device temperature under-run – Insulate Device 2 Warning

0x4221 to 0x4FFF Reserved

0x5000 Device hardware fault – Device exchange 4 Error

0x5001 to 0x500F Reserved

0x5010 Component malfunction – Repair or exchange 4 Error

0x5011 Non volatile memory loss – Check batteries 4 Error

0x5012 Batteries low – Exchange batteries 2 Warning

0x5013 to 0x50FF Reserved

0x5100 General power supply fault – Check availability 4 Error

0x5101 Fuse blown/open – Exchange fuse 4 Error

0x5102 to 0x510F Reserved

0x5110 Primary supply voltage over-run – Check tolerance 2 Warning

0x5111 Primary supply voltage under-run – Check tolerance 2 Warning

0x5112 Secondary supply voltage fault (Port Class B) – Check tolerance

2 Warning

0x5113 to 0x5FFF Reserved

0x6000 Device software fault – Check firmware revision 4 Error

Page 225: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 225 – Working Draft

0x6001 to 0x631F Reserved

0x6320 Parameter error – Check data sheet and values 4 Error

0x6321 Parameter missing – Check data sheet 4 Error

0x6322 to 0x634F Reserved

0x6350 Parameter changed – Check configuration 4 Error

0x6351 to 0x76FF Reserved

0x7700 Wire break of a subordinate device – Check installation 4 Error

0x7701 to 0x770F Wire break of subordinate device 1 …device 15 – Check installation

4 Error

0x7710 Short circuit – Check installation 4 Error

0x7711 Ground fault – Check installation 4 Error

0x7712 to 0x8BFF Reserved

0x8C00 Technology specific application fault – Reset Device 4 Error

0x8C01 Simulation active – Check operational mode 3 Warning

0x8C02 to 0x8C0F Reserved

0x8C10 Process variable range over-run – Process Data uncertain

2 Warning

0x8C11 to 0x8C1F Reserved

0x8C20 Measurement range over-run – Check application 4 Error

0x8C21 to 0x8C2F Reserved

0x8C30 Process variable range under-run – Process Data uncertain

2 Warning

0x8C31 to 0x8C3F Reserved

0x8C40 Maintenance required – Cleaning 1 Notification

0x8C41 Maintenance required – Refill 1 Notification

0x8C42 Maintenance required – Exchange wear and tear parts 1 Notification

0x8C43 to 0x8C9F Reserved

0x8CA0 to 0x8DFF Manufacturer/ vendor specific

0x8E00 to 0xAFFF Reserved

0xB000 to 0xBFFF Reserved for profiles [12]

0xC000 to 0xFEFF Reserved

0xFF00 to 0xFFFF SDCI specific EventCodes (see Table D.2)

NOTE 1 See B.2.16 NOTE 2 See Table A.19

4143

4144 4145 4146

4147

Table D.2 presents an overview of the encoding of typical SDCI events related to Process Data, System Management, Device or Master application and others. This overview does not claim to be complete.

Table D.2 – Exemplary SDCI specific EventCodes

Incident Origin Instance Type Mode Name Event Code Action Remark

With details

Process Data

Address increment error

Remote DL ERROR Single- shot

PD_INCR 0xFFE1 PD stop Missing PD address

Page 226: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 226 – 61131-9/WD V0.5 IEC

Incident Origin Instance Type Mode Name Event Code Action Remark

Access outside PD length

Remote DL ERROR Single-shot

PD_LEN 0xFFE2 PD stop Written or read PD length too long

Incomplete PD length

Remote DL ERROR Single- shot

PD_SHORT 0xFFE3 PD stop Written or read PD length too short

Read at input length "0"

Remote DL ERROR Single- shot

NO_PDIN 0xFFE4 PD stop

Write at output length "0"

Remote DL ERROR Single- shot

NO_PDOUT 0xFFE5 PD stop

System Management

Mode indication

Local DL NOTIFI-CATION

Single- shot

NEW_SLAVE 0xFF21 PD stop See 11

Device communi-cation lost

Local APP NOTIFI-CATION

Single- shot

DEV_COM_ LOST

0xFF22 - See 11

Data Storage identification mismatch

Local APP NOTIFI-CATION

Single- shot

DS_IDENT_ MISMATCH

0xFF23 - See 11

Data Storage buffer overflow

Local APP NOTIFI-CATION

Single- shot

DS_BUFFER_OVERFLOW

0xFF24 - See 11

Data Storage parameter access denied

Local APP NOTIFI-CATION

Single- shot

DS_ACCESS_DENIED

0xFF25 - See 11

Unspecified

Incorrect event signalling

Local DL ERROR Single- shot

EVENT 0xFF31 Event.ind See 11

Device specific application

Data Storage upload request

Remote APP NOTIFI-CATION

Single- shot

DS_UPLOAD_REQ

0xFF91 Event.ind

Reserved Remote APP NOTIFI-CATION

Single- shot

0xFF98 Event.ind Shall not be used

4148

Page 227: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 227 – Working Draft

Annex E (normative) Data types

4149 4150 4151

4153 4154 4155

4158

4159

4160

4161 4162

4164 4165 4166 4167 4168

4169

E.1 General 4152

This annex provides a brief overview of the available basic and composite data types to be used. More detailed definitions are available in [3]. Examples demonstrate the structures and the transmission aspects of data types for singular use or in a packed manner.

E.2 Basic data types 4156

E.2.1 General 4157

The coding of basic data types is shown only for singular use, which is characterized by

Process data consisting of one basic data type

Parameter consisting of one basic data type

Subindex (>0) access on individual data items of parameters of composite data types (arrays, records)

E.2.2 BooleanT 4163

A BooleanT is representing a data type that can have only two different values i.e. TRUE and FALSE. The data type is defined in Table E.1. For singular use the coding is shown in Table E.2. A sender shall always use 0xFF for 'TRUE' or 0x00 for 'FALSE'. A receiver can interpret the range from 0x01 through 0xFF for 'TRUE' and shall interpret 0x00 for 'FALSE' to simplify implementations. The packed form is demonstrated in Table E.20 and Figure E.10.

Table E.1 – BooleanT

Data type name Value range Resolution Length

BooleanT TRUE / FALSE - 1 bit or 1 octet

4170

4171 Table E.2 – BooleanT coding

Bit 7 6 5 4 3 2 1 0 Values

TRUE 1 1 1 1 1 1 1 1 0xFF

FALSE 0 0 0 0 0 0 0 0 0x00

4172

4174 4175 4176 4177

E.2.3 UIntegerT 4173

A UIntegerT is representing an unsigned number depicted by 2 up to 64 bits ("enumerated"). The number is accommodated and right-aligned within the following permitted octet con-tainers: 1, 2, 4, or 8. High order padding bits are filled with "0". Coding examples are shown in Figure E.1.

Page 228: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 228 – 61131-9/WD V0.5 IEC

00 00 00 00 11 11 00 11

11 11 00 11

Padding bits = 0

Value = 13

4 bit 1 octet

00 00 00 00 00 00 00 00

11

Padding bits = 0

Value = 93786

17 bit 4 octets

00 11 11 00 11 11 11 00 00 11 00 11 11 00 11 00

00 00 00 00 00 00 00 11 00 11 11 00 11 11 11 00 00 11 00 11 11 00 11 00

4178

4179

4180

4181

4182

Figure E.1 – Coding examples of UIntegerT

The data type UIntegerT is defined in Table E.3 for singular use.

Table E.3 – UIntegerT

Data type name Value range Resolution Length

UIntegerT 0 … 2bitlength - 1 1 1 octet, or 2 octets, or 4 octets, or 8 octets

NOTE 1 High order padding bits are filled with "0"

NOTE 2 Most significant octet (MSO) sent first

4183

4185 4186 4187 4188 4189

4190

E.2.4 IntegerT 4184

An IntegerT is representing a signed number depicted by 2 up to 64 bits. The number is accommodated within the following permitted octet containers: 1, 2, 4, or 8 and right-aligned and extended correctly signed to the chosen number of bits. The data type is defined in Table E.4 for singular use. SN represents the sign with "0" for all positive numbers and zero, and "1" for all negative numbers. Padding bits are filled with the content of the sign bit (SN).

Table E.4 – IntegerT

Data type name Value range Resolution Length

IntegerT -2bitlength -1 … 2bitlength -1 - 1 1 1 octet, or 2 octets, or 4 octets, or 8 octets

NOTE 1 High order padding bits are filled with the value of the sign bit (SN)

NOTE 2 Most significant octet (MSO) sent first (lowest respective octet number in Table E.5)

4191

4192

4193

The 4 coding possibilities in containers are shown in Table E.5 through Table E.8.

Page 229: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 229 – Working Draft

Table E.5 – IntegerT coding (8 octets) 4194

Bit 7 6 5 4 3 2 1 0 Container

Octet 1 SN 262 261 260 259 258 257 256

Octet 2 255 254 253 252 251 250 249 248

Octet 3 247 246 245 244 243 242 241 240

Octet 4 239 238 237 236 235 234 233 232

Octet 5 231 230 229 228 227 226 225 224

Octet 6 223 222 221 220 219 218 217 216

Octet 7 215 214 213 212 211 210 29 28

Octet 8 27 26 25 24 23 22 21 20

8 octets

4195

4196 Table E.6 – IntegerT coding (4 octets)

Bit 7 6 5 4 3 2 1 0 Container

Octet 1 SN 230 229 228 227 226 225 224

Octet 2 223 222 221 220 219 218 217 216

Octet 3 215 214 213 212 211 210 29 28

Octet 4 27 26 25 24 23 22 21 20

4 octets

4197

4198 Table E.7 – IntegerT coding (2 octets)

Bit 7 6 5 4 3 2 1 0 Container

Octet 1 SN 214 213 212 211 210 29 28

Octet 2 27 26 25 24 23 22 21 20

2 octets

4199

4200 Table E.8 – IntegerT coding (1 octet)

Bit 7 6 5 4 3 2 1 0 Container

Octet 1 SN 26 25 24 23 22 21 20 1 octet

4201

4202 Coding examples within containers are shown in Figure E.2

Page 230: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 230 – 61131-9/WD V0.5 IEC

11 11 11 11 11 11 00 00

11 11 00 00

Padding bits = 1 (SN)

Value = -4

11 11 11 11 11 11 11 11

11

Padding bits = 1 (SN)

Value = -28250 17 bit 4 octets 11 00 00 11 00 00 00 11 11 00 11 00 00 11 11 00

11 11 11 11 11 11 11 11 11 00 00 11 00 00 00 11 11 00 11 00 00 11 11 00

SN

SN = 0: positive numbers and zero

SN = 1: negative numbers

(Two's complement)

SN

SN

00 00 00 00 00 11 00 00

00 11 00 00

Padding bits = 0 (SN)

Value = +4

SN

4203

4204

4205

4207 4208 4209

4210

Figure E.2 – Coding examples of IntegerT

E.2.5 Float32T 4206

A Float32T is representing a number defined by [10] as single precision (32 bit). Table E.9 shows the definition and Table E.10 the coding. SN represents the sign with "0" for all positive numbers and zero, and "1" for all negative numbers.

Table E.9 – Float32T

Data type name Value range Resolution Length

Float32T Refer to [10] Refer to [10] 4 octets

4211

4212

Table E.10 – Coding of Float32T

Bits 7 6 5 4 3 2 1 0

SN Exponent (E) Octet 1

20 27 26 25 24 23 22 21

(E) Fraction (F) Octet 2

20 2-1 2-2 2-3 2-4 2-5 2-6 2-7

Fraction (F) Octet 3

2-8 2-9 2-10 2-11 2-12 2-13 2-14 2-15

Fraction (F) Octet 4

2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23

4213

4214 4215

4216 4217

In order to realize negative exponent values a special exponent encoding mechanism is set in place as follows:

The Float32T exponent (E) is encoded using an offset binary representation, with the zero offset being 127; also known as exponent bias in [10].

Page 231: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 231 – Working Draft

4218

4219

4220

4221 4222

4223

4225 4226 4227 4228

4229

Emin = 0x01 - 0x7F = -126

Emax = 0xFE - 0x7F = 127

Exponent bias = 0x7F = 127

Thus, as defined by the offset binary representation, in order to get the true exponent the offset of 127 shall be subtracted from the stored exponent.

E.2.6 StringT 4224

A StringT is representing an ordered sequence of symbols (characters) with a variable or fixed length of octets (maximum of 232 octets) coded in US-ASCII (7 bit) or UTF-8 [7]. UTF-8 uses one octet for all ASCII characters and up to 4 octets for other characters. 0x00 is not permitted as a character. Table E.11 shows the definition.

Table E.11 – StringT

Data type name Encoding Standards Length

US-ASCII [11] StringT

UTF-8 [7]

Any length of character string with a maximum of 232 octets. The length shall be defined within a Device's IODD via the attribute 'fixedLength'.

4230

4231 4232 4233 4234 4235 4236

An instance of StringT can be shorter than defined by the IODD attribute 'fixedLength'. 0x00 shall be used for the padding of unused octets. Character strings can be transmitted in their actual length in case of singular access (Figure E.3). Optimization for transmission is possible by omitting the padding octets if the IODD attribute 'fixedLengthRestriction' is not set. The receiver can deduce the original length from the length of the ISDU or by searching the first NULL (0x00) character (See A.5.2 and A.5.3).

0x480x48 0x450x45 0x4C0x4C 0x4C0x4C 0x4F0x4F 0x000x00 0x000x000x480x48 0x450x45 0x4C0x4C 0x4C0x4C 0x4F0x4F 0x000x00 0x000x00

H E L L O

Transmission

Sender: 'fixedLength' =7

Padding of unused octets = 0x00

0x480x48 0x450x45 0x4C0x4C 0x4C0x4C 0x4F0x4F0x480x48 0x450x45 0x4C0x4C 0x4C0x4C 0x4F0x4F

Transmission options:

StringT can be transmitted in condensed form orunmodified.

0x480x48 0x450x45 0x4C0x4C 0x4C0x4C 0x4F0x4F 0x000x00 0x000x000x480x48 0x450x45 0x4C0x4C 0x4C0x4C 0x4F0x4F 0x000x00 0x000x00Receiver: 'fixedLength' =7

Padding of unused octets = 0x00

Octet number0 1 2 3 4 5 6

4237

4238

4239

4241 4242 4243

Figure E.3 – Singular access of StringT

E.2.7 OctetStringT 4240

An OctetStringT is representing an ordered sequence of octets with a fixed length (maximum of 232 octets). Table E.12 shows the definition and Figure E.4 a coding example for a fixed length of 7.

Page 232: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 232 – 61131-9/WD V0.5 IEC

Table E.12 – OctetStringT 4244

Data type name Value range Standards Length

OctetStringT 0x00 … 0xFF per octet - Fixed length with a maximum of 232 octets

NOTE The length is defined within a Device's IODD via the attribute 'fixedLength'.

4245

0x1F0x1F 0x0A0x0A 0x230x23 0xAA0xAA 0xBB0xBB 0xA10xA1 0xD00xD0

Octet number0 1 2 3 4 5 6

4246

4247

4248

4250 4251 4252 4253

4254 4255 4256 4257 4258 4259

Figure E.4 – Coding example of OctetStringT

E.2.8 TimeT 4249

A TimeT corresponds to the data type NetworkTime in IEC 61158-6:2003. It is based on the RFC 1305 standard [8] and composed of two unsigned values that express the network time related to a particular date. Its semantic has changed from RFC 1305 in IEC 61158-6:2003 [9] according to Figure E.5. Table E.13 shows the definition and Table E.14 the coding of TimeT.

The first element is a 32-bit unsigned integer data type that provides the network time in seconds since 1900-01-01 0.00,00(UTC) or since 2036-02-07 6.28,16(UTC) for time values less than 0x9DFF4400, which represents the 1984-01-01 0:00,00(UTC). The second element is a 32-bit unsigned integer data type that provides the fractional portion of seconds in 1/232 s. Rollovers after 136 years are not automatically detectable and are to be maintained by the application.

Time1900-01-01 1984-01-01 2036-02-07

RFC 1305 Standard

New definition in IEC 61158-6:2003

0x00000000 s 0x9DFF4400 s 0xFFFFFFFF s 4260

4261

4262

4263

Figure E.5 – New definition of NetworkTime in IEC 61158-6:2003

Table E.13 – TimeT

Data type name Value range Resolution Length

Octet 1 to 4 (see Table E.14):

0 i (232-1)

s (Seconds) TimeT

Octet 5 to 8 (see Table E.14):

0 i (232-1) (1/232) s

8 Octets (32 bit unsigned integer + 32 bit unsigned integer)

NOTE 32 bit unsigned integer are normal computer science data types

Page 233: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 233 – Working Draft

4264

4265 Table E.14 – Coding of TimeT

Bit 7 6 5 4 3 2 1 0 Definitions

Octet 1 231 230 229 228 227 226 225 224

Octet 2 223 222 221 220 219 218 217 216

Octet 3 215 214 213 212 211 210 29 28

Octet 4 27 26 25 24 23 22 21 20

Seconds since 1900-01-01 0.00,00 or since 2036-02-07 6.28,16 when time value less than 0x9DFF4400.00000000

Octet 5 231 230 229 228 227 226 225 224

Octet 6 223 222 221 220 219 218 217 216

Octet 7 215 214 213 212 211 210 29 28

Octet 8 27 26 25 24 23 22 21 20

Fractional part of seconds.

One unit is 1/(232) s

MSB LSB MSB = Most significant bit LSB = Least significant bit

4266

4268 4269 4270 4271

4272

E.2.9 TimeSpanT 4267

A TimeSpanT corresponds to the data type NetworkTimeDifference in IEC 61158-6:2003. It is composed of a 32-bit integer value that provides the network time difference in seconds and of a 32-bit unsigned integer value that provides the fractional portion of seconds in 1/232 seconds. Table E.15 shows the definition and Table E.16 the coding of TimeSpanT.

Table E.15 – TimeSpanT

Data type name Value range Resolution Length

Octet 1 to 4 (see Table E.16):

-231 i (231-1)

s (Seconds) TimeSpanT

Octet 5 to 8 (see Table E.16):

0 i (232-1) (1/232) s

8 octets (32 bit integer + 32 bit unsigned integer)

NOTE 32 bit integer and 32 bit unsigned integer are normal computer science data types

4273

4274 Table E.16 – Coding of TimeSpanT

Bit 7 6 5 4 3 2 1 0 Definitions

Octet 1 231 230 229 228 227 226 225 224

Octet 2 223 222 221 220 219 218 217 216

Octet 3 215 214 213 212 211 210 29 28

Octet 4 27 26 25 24 23 22 21 20

Seconds (s) as 32 bit integer

Octet 5 231 230 229 228 227 226 225 224

Octet 6 223 222 221 220 219 218 217 216

Octet 7 215 214 213 212 211 210 29 28

Octet 8 27 26 25 24 23 22 21 20

Fractional part of seconds as 32 bit unsigned integer.

One unit is 1/(232) s.

Page 234: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 234 – 61131-9/WD V0.5 IEC

MSB LSB MSB = Most significant bit LSB = Least significant bit

4275

4278 4279 4280 4281

4283 4284 4285

4286

4287

4288 4289

4290

E.3 Composite data types 4276

E.3.1 General 4277

Composite data types are combinations of basic data types only. Requirements on how to handle these data structures in a consistent manner can be found in [3]. Composite data types consist of several basic data types in a packed manner within a sequence of octets. Unused bit space shall be padded with "0".

E.3.2 ArrayT 4282

An ArrayT addressed by an Index is a data structure with data items of the same data type. The individual data items are addressable by the Subindex. Subindex = 0 addresses the whole array within the Index space. The structuring rules for arrays are shown in Figure E.6.

1) The Subindex data items are packed in a row without gaps describing an octet sequence

2) The highest Subindex data item n starts right-aligned within the octet sequence

3) UIntegerT and IntegerT with a length of ≥ 58 bit and < 64 bit are not permitted

Figure E.6 – Structuring rules for ArrayT

Table E.17 shows an example for the access of an array. Its content is a set of parameters of the same basic data type.

Table E.17 – Example for the access of an ArrayT

Index Subindex Offset Data items Data Type

1 12 0x2

2 9 0x6

3 6 0x4

4 3 0x7

66

5 0 0x5

IntegerT, 'bitLength' = 3

4291

00 11 00 11 11 00 11

Bit 0

Bit offset: 3

"Subindex5"

Transmission

direction

00 00 11 11 11 11 00 11

"Subindex4"

"Subindex3"

"Subindex2"

"Subindex1"

Bit 15

06912

4292

4293 Figure E.7 – Example of an ArrayT data structure

Page 235: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 235 – Working Draft

E.3.3 RecordT 4294

A record addressed by an Index is a data structure with data items of different data types. The Subindex allows addressing individual data items within the record on certain bit positions to be defined via the IODD of the particular Device. The structuring rules for records are shown in

4295 4296 4297 4298

4299

4300

4301 4302

4303

Figure E.8.

4) The Subindices within the IODD shall be listed in ascending order from 1 to n describing an octet sequence. Gaps within the list of Subindices are allowed.

5) Bit offsets shall always be indicated within this octet sequence (may show no strict order in the IODD)

6) The bit offset starts with the last octet within the sequence; this octet starts with offset 0 for the least significant bit and offset 7 for the most significant bit

7) The following data types shall always be aligned on octet boundaries: Float32T, StringT, OctetStringT, TimeT, and TimeSpanT

8) UIntegerT and IntegerT with a length of ≥ 58 bit shall always be aligned on one side of an octet boundary

9) It is highly recommended for UIntegerT and IntegerT with a length of ≥ 8 bit to align always on one side of an octet boundary

10) It is highly recommended for UIntegerT and IntegerT with a length of < 8 bit not to cross octet boundaries

Figure E.8 – Structuring rules for RecordT

Table E.18 shows an example 1 for the access of a RecordT. It consists of varied parameters named "Status", "Text", and "Value".

Table E.18 – Example 1 for the access of a RecordT

Index Subindex Offset Data items Data Type Name

1 88 0x23 0x45 UIntegerT, 'bitLength' = 16

Status

2 32 H E L L O 0x00 0x00 StringT, 'fixedLength' = 7

Text

47

3 0 0x56 0x12 0x22 0x34 UIntegerT, 'bitLength' = 32

Value

NOTE 'bitLength' and 'fixedLength' are defined in the IODD of the particular Device

4304

4305 4306

4307

Table E.19 shows an example 2 for the access of a RecordT. It consists of varied parameters named "Level", "Min", and "Max". Figure E.9 shows the corresponding data structure.

Table E.19 – Example 2 for the access of a RecordT

Index Subindex Offset Data items Data Type Name

1 2 0x32 0xF1 UIntegerT, 'bitLength' = 14

Level

2 1 FALSE BooleanT Min

46

3 0 TRUE BooleanT Max

NOTE 'bitLength' is defined in the IODD of the particular Device

Page 236: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 236 – 61131-9/WD V0.5 IEC

11 11 00 00 11 00 11 11

Bit 0

Bit offset:

Transmission

direction

11 11 00 00 00 11 00 11

"Level"

Bit 15

012

"Min"

"Max" 4308

4309

4310 4311 4312

4313

Figure E.9 – Example 2 of a RecordT structure

Table E.20 shows an example 3 for the access of a RecordT. It consists of varied parameters named "Control" through "Enable". Figure E.10 illustrates the corresponding RecordT structure of example 3 with the bit offsets.

Table E.20 – Example 3 for the access of a RecordT

Index Subindex Offset Data items Data Type Name

1 32 TRUE BooleanT NewBit

2 33 FALSE BooleanT DR4

3 34 FALSE BooleanT CR3

4 35 TRUE BooleanT CR2

5 38 TRUE BooleanT Control

6 16 0xF8 0x23 OctetStringT, 'fixedLength' = 2

Setpoint

7 8 0x41 StringT, 'fixedLength' = 1

Unit

45

8 0 0xC3 OctetStringT, 'fixedLength' = 1

Enable

NOTE 'fixedLength' is defined in the IODD of the particular Device

4314

Bit 39

0xF8 0x230xF8 0x23 0x410x41 0xC30xC3

Bit 0

Bit offset: 38 35 32 16 8

"Setpoint""Setpoint" "Unit""Unit" "Enable""Enable"

Transmission

direction

4315

4316

4317 4318

Figure E.10 – Example 3 of a RecordT structure

Figure E.11 shows a selective write request of a variable within the RecordT of example 3 and a write request of the complete RecordT (see A.5.7).

Page 237: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 237 – Working Draft

0010

Index = 45

Subindex = 4

CHKPDU

0101

0x01

Write request

0010

Index = 45

Subindex = 4

CHKPDU

0101

0x01

Write request

Selective writeof a variable withinthe record

0001

Index = 45

CHKPDU

1000

Write request

0x49

0xF8

0x41

0xC3

0x23

Write of a record

4319

4320

4321

Figure E.11 – Write requests for example 3

Page 238: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 238 – 61131-9/WD V0.5 IEC

Annex F (

4322 4323 4324

4325 4326

4327

normative) Structure of the Data Storage data object

Table F.1 illustrates the structure of a Data Storage (DS) data object within the Master (See 11.3.2).

Table F.1 – Structure of the stored DS data object

Part Parameter name Definition Data type

ISDU_Index ISDU Index (0 to 65 535) Unsigned16

ISDU_Subindex ISDU Index (0 to 255) Unsigned8

ISDU_Length Length of the subsequent record Unsigned8

Object 1

ISDU_Data Record of length ISDU_Length Record

ISDU_Index ISDU Index (0 to 65 535) Unsigned16

ISDU_Subindex ISDU Index (0 to 255) Unsigned8

ISDU_Length Length of the subsequent record Unsigned8

Object 2

ISDU_Data Record of length ISDU_Length Record

----------

ISDU_Index ISDU Index (0 to 65 535) Unsigned16

ISDU_Subindex ISDU Index (0 to 255) Unsigned8

ISDU_Length Length of the subsequent record Unsigned8

Object n

ISDU _Data Record of length ISDU_Length Record

4328

4329 4330

4331 4332

4333

The Device shall calculate the required memory size by summarizing the objects 1 to n (See Table B.9, Subindex 3).

The Master shall store locally in non-volatile memory the header information shown in Table F.2. See Table B.9.

Table F.2 – Associated header information for stored DS data objects

Part Parameter name Definition Data type

Parameter Checksum 32 bit CRC signature or revision counter (10.4.8) Unsigned32

VendorID See B.1.9 Unsigned16

DeviceID See B.1.10 Unsigned32

Header

FunctionID See B.1.11 Unsigned16

4334

Page 239: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 239 – Working Draft

Annex G (

4335 4336 4337

4340

4342

4344

4347 4348 4349 4350 4351

4352 4353 4354 4355

4357 4358 4359 4360 4361

4363

4364 4365 4366

normative) Master and Device conformity

G.1 Conformance classes 4338

G.1.1 Overview 4339

To be defined in conjunction with [14].

G.1.2 Functional requirements for Devices 4341

To be defined in conjunction with [14].

G.1.3 Functional requirements for Master 4343

To be defined in conjunction with [14].

G.2 Electromagnetic compatibility requirements (EMC) 4345

G.2.1 General 4346

The EMC requirements of this specification are only relevant for the SDCI interface part of a particular Master or Device. The technology functions of a Device and its relevant EMC requirements are not in the scope of this specification. For this purpose the Device specific product standards shall apply. For Master usually the EMC requirements for peripherals are defined in IEC 61131-2 or IEC 61000-6-2.

To ensure proper operating conditions of the SDCI interface, the test configurations defined in section G.2.6 (Master) or G.2.7 (Device) shall be maintained during all the EMC tests. The tests required in the product standard of equipment under test (EUT) can alternatively be performed in SIO mode.

G.2.2 Operating conditions 4356

It is highly recommended to evaluate the SDCI during the startup phase with the cycle times given in Table G.1. In most cases, this leads to the minimal time requirements for the performance of these tests. Alternatively, a manufacturer can decide to evaluate the SDCI during normal operation of the Device, but then he shall confirm that the required number of F-sequences specified in Table G.1 took place during each test.

G.2.3 Performance criteria 4362

a) Performance criterion A

The SDCI operating at an average cycle time as defined in Table G.1 shall not show more than six detected F-sequence errors within the number of F-sequences given in Table G.1. No interruption of communication is permitted.

Page 240: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 240 – 61131-9/WD V0.5 IEC

Table G.1 – EMC test conditions for SDCI 4367

Master Device Transmission rate

tCYC Number of F-sequences of

TYPE_2_5 (read)(6 octets)

tCYC Number of F-sequences of TYPE_0 (read)

(4 octets)

Maximum of F-sequence

errors

4,8 Kbit/s 18,0 ms 300 (6 000) 100 TBIT (20,84 ms)

350 (7 000) 6

38,4 Kbit/s 2,3 ms 450 (9 000) 100 TBIT (2,61 ms)

500 (10 000) 6

230,4 Kbit/s 0,4 ms 700 (14 000) 100 TBIT (0,44 ms)

800 (16 000) 6

NOTE The numbers of F-sequences are calculated according to the algorithm in H.2 and rounded up. The larger number of F-sequences (in brackets) are required if a certain test (for example fast transients/burst) applies interferences only with a burst/cycle ratio (see Table G.2)

4368

4369

4370 4371

4373

4374

b) Performance Criterion B

The error rate of criterion A shall also be satisfied after but not during the test. No change of actual operating state (e.g. permanent loss of communication) or stored data is allowed.

G.2.4 Required immunity tests 4372

Table G.2 specifies the EMC tests to be performed.

Table G.2 – EMC test levels

Phenomena Test Level Performance Criterion

Constraints

Electrostatic discharges (ESD)

IEC 61000-4-2

Air discharge: ± 8 kV

Contact discharge: ± 4 kV

B See NOTE 1

Radio-frequency electromagnetic field. Amplitude modulated

IEC 61000-4-3

80 MHz – 1 000 MHz 10 V/m

1 400 MHz – 2 000 MHz 3 V/m

2 000 MHz – 2 700 MHz 1 V/m

A See NOTE 1 and NOTE 2

± 1 kV A Fast transients (Burst)

IEC 61000-4-4 ± 2 kV B

5 kHz only. The number of F-sequences in Table G.1 shall be increased by a factor of 20 due to the burst/cycle ratio 15 ms/300 ms. See NOTE 3

Surge

IEC 61000-4-5

Not required for an SDCI link (SDCI link is limited to 20 m)

-

Radio-frequency common mode

IEC 61000-4-6

0,15 MHz – 80 MHz 10 VEMF

A See NOTE 2 and NOTE 4

Voltage dips and interruptions

IEC 61000-4-11

Not required for an SDCI link

Page 241: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 241 – Working Draft

Phenomena Test Level Performance Criterion

Constraints

NOTE 1 As this phenomenon influences the entire device under test, an existing device specific product standard takes precedence over the test levels specified here.

NOTE 2 The test shall be performed with a step size of 1 % and a dwell of 1 s. If a single F-sequence error occurs at a certain frequency, that frequency shall be tested until the number of F-sequences according Table G.1 has been transmitted or until 6 F-sequence errors have occurred.

NOTE 3 Depending on the transmission rate the test time varies. The test time shall be at least one minute (with the transmitted F-sequences and the permitted errors increased accordingly).

NOTE 4 This phenomenon is expected to influence most probably the EUTs internal analog signal processing and only with a very small probability the functionality of the SDCI communication. Therefore an existing device specific product standard takes precedence over the test levels specified here.

4375

4377 4378 4379

4380 4381

4384

4385 4386

4387 4388

4389 4390 4391

4392

4393 4394

4395

4397

G.2.5 Required emission tests 4376

The definition of emission limits is not in the scope of this specification. The requirements of the Device specific product family or generic standards apply, usually for general industrial environments the IEC 61000-6-4.

All emission tests shall be performed at the fastest possible communication rate with the fastest cycle time.

G.2.6 Test configurations for Master 4382

G.2.6.1 General rules 4383

The following rules apply for the test of Masters:

In the following test setup diagrams only the SDCI and the power supply cables are shown. All other cables shall be treated as required by the relevant product standard.

Grounding of the Master and the Devices shall be according to the relevant product standard or manual.

Where not otherwise stated, the SDCI cable shall have an overall length of 20 m. Excess length laid as an inductive coil with a diameter of 0,3 m, where applicable mounted 0,1 m above reference ground.

Where applicable, the auxiliary Devices shall be placed 10 cm above RefGND.

A typical test configuration consists of the Master and two Devices, except for the RF common mode test, where only one Device shall be used.

Each port shall fulfill the EMC requirements.

G.2.6.2 Electrostatic discharges 4396

Figure G.1 shows the test setup for electrostatic discharge according IEC 61000-4-2.

D=0,3 m

d ≥ 1,0 m

EUT(Master)

AUX 1(Device)

AUX 2(Device)

Power Supply

d ≥ 1,0 m 4398

4399 Figure G.1 – Test setup for electrostatic discharge (Master)

Page 242: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 242 – 61131-9/WD V0.5 IEC

G.2.6.3 Radio-frequency electromagnetic field 4400

4401 4402

Figure G.2 shows the test setup for radio-frequency electromagnetic field according IEC 61000-4-3.

D=0,3 m

EUT(Master)

AUX 1(Device)Power

Supply

l = 1,0 m l = 1,0 m

AUX 2(Device)

Ferrite clamp or other decoupling

Uniform area

4403

4404

4406

Figure G.2 – Test setup for RF electromagnetic field (Master)

G.2.6.4 Fast transients (burst) 4405

Figure G.3 shows the test setup for fast transients according IEC 61000-4-4.

D=0,3 m

EUT(Master)

AUX 1(Device)Power

Supply

l = 0,5 m

AUX 2(Device)

CDN

CCC

l = 0,5 m l = 0,5 m 4407

4408

4409

4410

4411

4413

Figure G.3 – Test setup for fast transients (Master)

NOTE 1 No coupling into SDCI line to AUX 2 is required

NOTE 2 CDN: Coupling/Decoupling Network

NOTE 3 CCC: Capacitive coupling clamp

G.2.6.5 Radio-frequency common mode 4412

Figure G.4 shows the test setup for radio-frequency common mode according IEC 61000-4-6.

EUT(Master)

AUX 1(Device)Power

SupplyCDN

EM-Clamp

x x x 4414

4415

4416

4417

4418

Figure G.4 – Test setup for RF common mode (Master)

NOTE 1 0,1 m < x < 0,3 m

NOTE 2 SDCI overall cable length = 1 m

Page 243: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 243 – Working Draft

G.2.7 Test configurations for Devices 4419

G.2.7.1 General rules 4420

4421

4422 4423

4424 4425

4426 4427 4428

4429

4430

4431

4433

For the test of Devices the following rules apply:

In the following test setup diagrams only the SDCI and the power supply cables are shown. All other cables shall be treated as required by the relevant product standard.

Grounding of the Master and the Devices according to the relevant product standard or user manual.

Where not otherwise stated, the SDCI cable shall have an overall length of 20 m. Excess length laid as an inductive coil with a diameter of 0,3 m, where applicable mounted 0,1 m above RefGND.

Where applicable, the auxiliary Devices shall be placed 10 cm above RefGND.

Test with Device AUX 2 is optional

G.2.7.2 Electrostatic discharges 4432

Figure G.5 shows the test setup for electrostatic discharge according to IEC 61000-4-2.

D=0,3 m

d ≥ 1,0 m

AUX 1(Master)

EUT(Device)

AUX 2(Device)

Power Supply

4434

4435

4437 4438

Figure G.5 – Test setup for electrostatic discharges (Device)

G.2.7.3 Radio-frequency electromagnetic field 4436

Figure G.6 shows the test setup for radio-frequency electromagnetic field according to IEC 61000-4-3.

D=0,3 m

AUX 1(Master)

EUT(Device)

AUX 2(Device)

Power Supply

l = 1,0 m Uniform areaFerrite clamp or other decoupling 4439

4440

4442

Figure G.6 – Test setup for RF electromagnetic field (Device)

G.2.7.4 Fast transients (burst) 4441

Figure G.7 shows the test setup for fast transients according IEC 61000-4-4.

Page 244: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 244 – 61131-9/WD V0.5 IEC

D=0,3 m

AUX 1(Master)

EUT(Device)

AUX 2(Device)

Power Supply CCC

l = 0,5 m l = 0,5 m

CDN

4443

4444

4445

4446

4448

Figure G.7 – Test setup for fast transients (Device)

NOTE 1 CDN: Coupling/Decoupling Network, here only used for decoupling

NOTE 2 CCC: Capacitive coupling clamp

G.2.7.5 Radio-frequency common mode 4447

Figure G.8 shows the test setup for radio-frequency common mode according IEC 61000-4-6.

AUX 1(Master)

DUT(Device)Power

SupplyCDN

EM-Clamp

x x x 4449

4450

4451

4452

4455

4457 4458 4459

4461 4462 4463 4464 4465 4466 4467 4468

4469 4470

Figure G.8 – Test setup for RF common mode (Device)

NOTE 1 0,1 m < x < 0,3 m

NOTE 2 SDCI overall cable length = 1 m

G.3 Test strategies for conformity 4453

G.3.1 General 4454

Detailed instructions for the Master and Device tests are specified in [14].

G.3.2 Test of a Device 4456

The Master AUX 1 (Figure G.5 ff) shall continuously send an F-sequence TYPE_0 (read Direct Parameter page 2) message at the cycle time defined in Table G.1 and count the missing and the erroneous Device responses. Both numbers shall be added and indicated.

G.3.3 Test of a Master 4460

The Device AUX 1 (Figure G.1 ff) shall use F-sequence TYPE_2_5. Its input Process Data shall be generated by an 8 bit random or pseudo random generator. The Master shall copy the input Process Data of any received Device message to the output Process Data of the next Master message to be sent. The cycle time shall be according to Table G.1. The Device AUX 1 shall compare the output Process Data with the previously sent input Process Data and count the number of deviations. The Device shall also count the number of missing (not received within the expected cycle time) or received perturbed Master messages. All numbers shall be added and indicated.

NOTE A deviation of sent and received Process Data indicates to the AUX1 that the EUT (Master) did not receive the Device message.

Page 245: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 245 – Working Draft

G.4 Manufacturer declaration 4471

Figure G.9 shows a layout proposal for a manufacturer's declaration of conformity. 4472

(Consortium logo) MANUNFACTURER'S DECLARATION OF CONFORMITY

(Company logo)

WE: Company's name and address

declare under our own responsibility that the product(s):

Trademark, IO-Link product types (annotate "IO-Link Master" or "IO-Link Device")

to which this declaration refers conform to:

IO-Link Interface and System Specification, V1.1, <month> 2010

IO Device Description, V1.1, <month> 2010

IEC 61000-6-2 (IEC 61131-2) (see NOTE 1)

IEC 60947-5-2 (see NOTE 2)

The conformity tests are documented in the test report:

Testreport identification

Issued at location, date Authorized signatory

Name: First, last name

Title: Job title

Signature: Signature

Reproduction and all distribution without written authorization prohibited

NOTE 1 Relevant EMC standards in case of a Master 4473

4474

4475

NOTE 2 Relevant EMC standard in case of a Device, other product standards possible

Figure G.9 – Layout proposal for a manufacturer's declaration

Page 246: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 246 – 61131-9/WD V0.5 IEC

Annex H (informative)

Residual error probabilities

4476 4477 4478

4480 4481 4482 4483

H.1 Residual error probability of the SDCI data integrity mechanism 4479

Figure H.1 shows the residual error probability (REP) of the SDCI data integrity mechanism consisting of the checksum data integrity procedure ("XOR6") as defined in A.1.6 and the UART parity. The diagram refers to IEC 60870-5-1 [6] with its data integrity class I2 for a minimum Hamming distance of 4 (red dotted line).

Bit error probability (BEP)

Re

sid

ual

err

or

pro

bab

ility

(R)

10,10,011* 10-31* 10-4

1

0,1

0,01

1* 10-3

1* 10-4

1* 10-5

1* 10-6

1* 10-7

1* 10-8

1* 10-9

1* 10-10

1* 10-11

1* 10-12

1* 10-13

Integrity class I2

Hamming distance 4

KeySDCI with 2 octetsSDCI with 3 octetsSDCI with 4 octets

4484

4485

4486 4487 4488

4490 4491

4492

4493

4494

4495 4496

Figure H.1 – Residual error probability for the SDCI data integrity mechanism

The blue line shows the residual error curve for a data length of 2 octets. The black curve shows the residual error curve for a data length of 3 octets. The purple curve shows the residual error curve for a data length of 4 octets.

H.2 Derivation of EMC test conditions 4489

The performance criterion A in G.2.3 is derived from requirements defined in IEC 61158-2 in respect to interference susceptibility and error rates (citation):

Only 1 undetected erroneous frame in 20 years at 1 600 frames/s

The ratio of undetected to detected frames shall not exceed 10-6

EMC tests shall not show more than 6 erroneous frames within 100 000 frames

With SDCI, the first requirement transforms into the equation (H.1). This equation allows determining a value of BEP. The equation can be resolved in a numerical way.

Page 247: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 247 – Working Draft

120 )BEP(RF (H.1)

4497

4498

4499

4500

4501 4502 4503 4504 4505

The Terms in equation (H.1) are:

F20 = Number of frames in 20 years

R(BEP) = Residual error probability of the checksum and parity mechanism (Figure H.1)

BEP = Bit error probability from Figure H.1

The objective of the EMC test is to proof that the BEP of the SDCI communication meets the value determined in the first step. The maximum number of detected perturbed frames is chosen to be 6 here for practical reasons. The number of required SDCI test frames can be determined with the help of equation (H.2) and the value of BEP determined in the first step.

NopErrBitPerFBEP

NoTF 11

(H.2)

4506

4507

4508

4509

4510 4511 4512 4513

The Terms in equation (H.2) are:

NoTF = Number of test frames

BitPerF = Number of bit per frame

NopErr = Maximum number of detected perturbed frames = 6

Equation (H.2) is only valid under the assumption that frames with 1 bit error are more frequent than frames with more bit errors. An F-sequence consists of two frames. Therefore, the calculated number of test frames has to be divided by 2 to provide the numbers of F-sequences for Table G.1.

Page 248: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 248 – 61131-9/WD V0.5 IEC

Annex I (

4514 4515 4516

4517 4518 4519

4520

informative) Example sequence of an ISDU transmission

Figure I.1 and Figure I.2 illustrate an example for the transmission of ISDUs using an AL_Read service with a 16-bit Index and Subindex for 19 octets of user data with mapping to an F-sequence TYPE_2_5 for sensors and with interruption in case of an event transmission.

Master Device

FC CKT PD OD OD PD CKS

comment cycle R Com Flow Frame CHK Process OnReq Data Process CHK comment

(state, action) nr W Chan. CTRL Typ Data Master Device Data E PD (state, action)

(see in Table 46) 1bit 2bit 5bit 2bit 6bit 8bit 8bit 8bit

Idle_1 0 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx OnReq idle

ISDURequest_2, transmission, 1 0111 0000 10 xxxxxx xxxxxxxx 1011 0101 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 2 0110 0001 10 xxxxxx xxxxxxxx Index(hi) xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 3 0110 0010 10 xxxxxx xxxxxxxx Index(lo) xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 4 0110 0011 10 xxxxxx xxxxxxxx Subindex xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 5 0110 0100 10 xxxxxx xxxxxxxx CHKPDU xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDUWait_3, start ISDU Timer 6 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 7 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 8 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 9 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 10 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busyISDUResponse_4, reception

Stop ISDU Timer 11 1111 0000 10 xxxxxx xxxxxxxx 1101 0001 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 12 1110 0001 10 xxxxxx xxxxxxxx 0001 0011 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 13 1110 0010 10 xxxxxx xxxxxxxx Data 1 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 14 1110 0011 10 xxxxxx xxxxxxxx Data 2 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 15 1110 0100 10 xxxxxx xxxxxxxx Data 3 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 16 1110 0101 10 xxxxxx xxxxxxxx Data 4 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 17 1110 0110 10 xxxxxx xxxxxxxx Data 5 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 18 1110 0111 10 xxxxxx xxxxxxxx Data 6 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 19 1110 1000 10 xxxxxx xxxxxxxx Data 7 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, no response,retry in next cycle 20 1110 1001 10 Err xxxxxxxx xxxxxx

ISDUResponse_4,korrupted CHK, don' t send resp.

ISDUResponse_4, no response,retry in next cycle 21 1110 1001 10 Err xxxxxxxx xxxxxx

ISDUResponse_4,corrupted CHK, don' t send resp.

ISDUResponse_4, reception 22 1110 1001 10 xxxxxx xxxxxxxx Data 8 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 34 1110 1010 10 xxxxxx xxxxxxxx Data 9 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception,start eventhandler 35 1110 1011 10 xxxxxx xxxxxxxx Data 10 xxxxxxxx 1 0 xxxxxx

ISDUResponse_4, transmission,freeze event

Read_Event_2, reception 36 1100 0000 10 xxxxxx xxxxxxxxDiag Statewith detail xxxxxxxx 1 0 xxxxxx Read_Event_2, transmission

Read_Event_2, reception 37 110x xxxx 10 xxxxxx xxxxxxxxEvent

qualifier xxxxxxxx 1 0 xxxxxx Read_Event_2, transmission

Command handler_2, transmissionset PDOutdata state to invalid

ComandHandler_2, reception,set PDOutdata state to invalid38 0010 0000 10 xxxxxx xxxxxxxx 1001 1001 xxxxxxxx 1 0 xxxxxx

Read_Event_2, reception 39 110x xxxx 10 xxxxxx xxxxxxxxErrorCode

msb xxxxxxxx 1 0 xxxxxx Read_Event_2, transmission

Read_Event_2, reception 40 110x xxxx 10 xxxxxx xxxxxxxxErrorCode

lsb xxxxxxxx 1 0 xxxxxx Read_Event_2, transmissionEventConfirmation_4,

transmission,event handler idle 41 0100 0000 10 xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 0 0 xxxxxx EventConfirmation, reception

ISDUResponse_4, reception 42 1110 1100 10 xxxxxx xxxxxxxx Data 11 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 43 1110 1101 10 xxxxxx xxxxxxxx Data 12 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 44 1110 1110 10 xxxxxx xxxxxxxx Data 13 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 45 1110 1111 10 xxxxxx xxxxxxxx Data 14 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 46 1110 0000 10 xxxxxx xxxxxxxx Data 15 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 47 1110 0001 10 xxxxxx xxxxxxxx Data 16 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 48 1110 0010 10 xxxxxx xxxxxxxx CHKPDU xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

Idle_1 49 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 50 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 51 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 52 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Write Parameter, transmission 53 0011 0000 10 xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 0 0 xxxxxx Write Parameter, reception

Read Parameter, reception 54 1011 0000 10 xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 0 0 xxxxxx Read Parameter, transmission

Idle_1 55 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 56 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 57 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_14521

4522

Figure I.1 – Example for ISDU transmissions

Page 249: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 249 – Working Draft

ISDURequest_2, transmission 58 0111 0000 10 xxxxxx xxxxxxxx 0001 1011 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 59 0110 0001 10 xxxxxx xxxxxxxx Index xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 60 0110 0010 10 xxxxxx xxxxxxxx Data 1 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 61 0110 0011 10 xxxxxx xxxxxxxx Data 2 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 62 0110 0100 10 xxxxxx xxxxxxxx Data 3 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 63 0110 0101 10 xxxxxx xxxxxxxx Data 4 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 64 0110 0110 10 xxxxxx xxxxxxxx Data 5 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 65 0110 0111 10 xxxxxx xxxxxxxx Data 6 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 66 0110 1000 10 xxxxxx xxxxxxxx Data 7 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 67 0110 1001 10 xxxxxx xxxxxxxx Data 8 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 68 0110 1010 10 xxxxxx xxxxxxxx CHKPDU xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDUWait_3, start ISDU Timer 69 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busyISDUResponse_4, reception

Stop ISDU Timer 70 1111 0000 10 xxxxxx xxxxxxxx 0101 0010 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 71 1110 0001 10 xxxxxx xxxxxxxx CHKPDU xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

Idle_1 72 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 73 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

ISDURequest_2, transmission, 74 0111 0000 10 xxxxxx xxxxxxxx 1011 0101 xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 75 0110 0001 10 xxxxxx xxxxxxxx Index(hi) xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 76 0110 0010 10 xxxxxx xxxxxxxx Index(lo) xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 77 0110 0011 10 xxxxxx xxxxxxxx Subindex xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDURequest_2, transmission 78 0110 0100 10 xxxxxx xxxxxxxx CHKPDU xxxxxxxx 0 0 xxxxxx ISDURequest_2, reception

ISDUWait_3, start ISDU Timer 79 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 80 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 81 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 82 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busy

ISDUWait_3, inc. ISDU timer 83 1111 0000 10 xxxxxx xxxxxxxx 0000 0001 xxxxxxxx 0 0 xxxxxx ISDUWait_3, application busyISDUResponse_4, reception

Stop ISDU Timer 84 1111 0000 10 xxxxxx xxxxxxxx 1101 0001 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 85 1110 0001 10 xxxxxx xxxxxxxx 0001 1110 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, reception 86 1110 0010 10 xxxxxx xxxxxxxx Data 1 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, transmission

ISDUResponse_4, ABORT 87 1111 1111 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx ISDUResponse_4, ABORT

Idle_1 88 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1

Idle_1 89 1111 0001 10 xxxxxx xxxxxxxx 0000 0000 xxxxxxxx 0 0 xxxxxx Idle_1 4523

4524 Figure I.2 – Example for ISDU transmissions (continued)

Page 250: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 250 – 61131-9/WD V0.5 IEC

Annex J (

4525 4526 4527

4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540

4541

informative) Recommended methods for detecting parameter changes

J.1 CRC signature 4528

Cyclic Redundancy Checking belongs to the HASH function family. A CRC signature across all changeable parameters can be calculated by the Device with the help of a so-called proper generator polynomial. The calculation results in a different signature whenever the parameter set has been changed. It should be noted that the signature secures also the octet order within the parameter set. Any change in the order when calculating the signature will lead to a different value. The quality of securing (undetected changes) depends heavily on both the CRC generator polynomial and the length (number of octets) of the parameter set. The seed value should be > 0. One calculation method uses directly the formula, another one uses octet shifting and lookup tables. The first one requests less program memory and is a bit slower, the other one requires memory for a lookup table (1 * 210 octets for a 32 bit signature) and is fast. The parameter data set comparison is performed in state "Checksum_9" of the Data Storage (DS) state machine in Figure 96.

Table J.1 – Proper CRC generator polynomials

Generator polynomial Signature Data length Undetected changes

0x9B 8 bit 1 octet < 2-8 (not recommended)

0x4EAB 16 bit 1 < octets < 3 < 2-16 (not recommended)

0x5D6DCB 24 bit 1 < octets < 4 < 2-24 (not recommended)

0xF4ACFB13 32 bit 1 < octets < 232 < 2-32 (recommended)

4542

4544 4545 4546 4547 4548 4549

4550

4551

J.2 Revision counter 4543

A 32 bit revision counter can be implemented, counting any change of the parameter set. The Device shall use a random initial value for the Revision Counter. The counter itself shall not be stored via Index List of the Device. After the download the actual counter value is read back from the Device to avoid multiple writing initiated by the download sequence. The parameter data set comparison is performed in state "Checksum_9" of the Data Storage (DS) state machine in Figure 96.

Page 251: IOL-Interface-Spec 10002 V11 Nov10

61131-9/WD V0.5 IEC – 251 – Working Draft

Annex K (informative)

Information on conformity testing of SDCI

4552 4553 4554

4555 4556

4557 4558 4559 4560 4561 4562 4563 4564 4565

Information about testing Masters and Devices for conformity with IEC 61131-9 can be obtained from the National Committees of the IEC or from the following organization:

IO-Link Consortium Haid-und-Neu-Str. 7 76131 Karlsruhe Germany Phone: +49 (0) 721 / 96 58 590 Fax: +49 (0) 721 / 96 58 589 E-mail: [email protected] Web site: http://www.io-link.com

Page 252: IOL-Interface-Spec 10002 V11 Nov10

Working Draft – 252 – 61131-9/WD V0.5 IEC

4566 Bibliography

List below all documents referenced from informative text in this document (including 4567 those referenced in definitions), as well as other documents providing background 4568 information that may be useful for understanding the standard. These bibliographic 4569 references shall be ordered in ascending order within the following groups: IEC, then 4570 ISO/IEC, then ISO, then other organizations by alphabetical order. 4571

The examples provided below include automatic numbering of the documents, using a 4572 dedicated caption label “Reference” (for easy update and referencing within the text). 4573

If this caption label is not known in your environment, you can add it as follows: 4574

1) Put your cursor on a new line 4575

2) From the main menu, select “Insert – Reference - Caption”, then select “New label”, 4576 then enter the string “Reference” as new label, then OK twice. 4577

3) Delete the (un-useful) line that was just created (the new label will still be 4578 remembered). 4579

To insert a cross-reference to a bibliographic entry, you may then use “Insert – cross-4580 reference”, then select the “Reference” label, and the entry you want to reference. If 4581 you select the option “Only number and label”, you will need to insert the closing 4582 bracket “]” manually after the reference. 4583

4584

4585 4586

4587 4588

4589

4590

4591 4592

4593 4594

4595

4596 4597

4598 4599

4600

4601 4602

4603

4604

4605

4606 4607

4608

4609

—————————

[1] IEC 60050 (all parts), International Electrotechnical Vocabulary

NOTE See also the IEC Multilingual Dictionary – Electricity, Electronics and Telecommunications (available on CD-ROM and at <http://domino.iec.ch/iev>).

[2] IEC/TR 62453-61, Field device tool interface specification – Device Type Manager (DTM) Styleguide for common object model

[3] IO-Link Consortium, IO Device Description (IODD), V1.0, Order No. 10.012

[4] IEC/TR 62390: 2005, Common automation device profile guideline

[5] ISO/IEC DIS 19505:2009 Information technology – OMG Unified Modeling Language (OMG UML) Version 2.1.2

[6] IEC 60870-5-1:1990, Telecontrol equipment and systems. Part 5: Transmission protocols - Section One: Transmission frame formats

[7] "The Unicode Standard", V5.0

[8] Internet Engineering Task Force (IETF): RFC 1305 – Network Time Protocol (Version 3) Specification, Implementation and Analysis; available at < www.ietf.org >

[9] IEC 61158-6:2003, Digital data communication for measurement and control – Fieldbus for use in industrial control systems – Part 6: Application Layer protocol specification

[10] ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic

[11] ISO/IEC 646:1991, Information technology – ISO 7-bit coded character set for information interchange

[12] IO-Link Consortium, IO-Link Device Profiles, Vx.y4

[13] IO-Link Consortium, IO-Link Communication, V1.0, January 2009, Order No. 10.002

[14] IO-Link Consortium, IO-Link Test Specification, Vx.y4

[15] Adrian Farrel, The Internet and its Protocols: A Comparative Approach, Morgan Kaufmann, ISBN-13 978-1558609136

[16] NE107, Self-Monitoring and Diagnosis of Field Devices, June 2006, <www.namur.de>

____________

4 In progress

Page 253: IOL-Interface-Spec 10002 V11 Nov10

Copyright by:

IO-Link Consortium Haid-und-Neu-Str. 7 76131 Karlsruhe Germany Phone: +49 (0) 721 / 96 58 590 Fax: +49 (0) 721 / 96 58 589 e-mail: [email protected] http://www.io-link.com/


Recommended