CiA Draft Standard 401
CANopen
Device Profile for Generic I/O Modules
Version 2.1
Date: 17 May 2002
© CAN in Automation (CiA) e. V.
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
Table of contents
1
2
3
Scope........................................................................................................................................ 7
Normative references................................................................................................................ 7
Definitions, acronyms and abbreviations.................................................................................. 7
4 Operating principle ................................................................................................................... 8
4.1
5
5.1
5.2
5.3
Introduction ........................................................................................................................... 8
Error handling........................................................................................................................ 8
Principle................................................................................................................................ 8
Error behaviour...................................................................................................................... 8
Additional error code meanings............................................................................................... 9
6
Pre-definitions..........................................................................................................................10
6.1
6.2
Introduction ..........................................................................................................................10
Pre-defined communication objects........................................................................................10
6.2.1 Device type (1000h)...............................................................................................................10
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
6.2.7
6.2.8
6.2.9
Error Register (1001h) ...........................................................................................................10
Error Behaviour (1029h).........................................................................................................11
1st RPDO mapping (digital outputs) .......................................................................................12
1st TPDO mapping (digital inputs)..........................................................................................13
2nd RPDO mapping (analogue outputs) .................................................................................14
2nd TPDO mapping (analogue inputs)....................................................................................15
3rd RPDO mapping (analogue outputs)..................................................................................16
3rd TPDO mapping (analogue inputs) ....................................................................................17
6.2.10 4th RPDO mapping (analogue outputs) ..................................................................................18
6.2.11 4th TPDO mapping (analogue inputs) ....................................................................................19
7 Object dictionary......................................................................................................................20
7.1
Input and output function principles .......................................................................................20
7.1.1 Object dictionary for the digital input and output modules ........................................................20
7.1.2 Digital input module ..............................................................................................................21
7.1.3 Digital output module ............................................................................................................23
7.1.4
Analogue input module..........................................................................................................25
7.1.5. Analogue output module........................................................................................................26
7.1.6
7.1.7
Analogue input set-ups .........................................................................................................27
Analogue output set-ups........................................................................................................27
7.1.8 General device profile objects................................................................................................27
-2-
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
8 Object descriptions..................................................................................................................28
8. 1
Digital input module ..............................................................................................................28
8.1.1 Read Input 8-Bit (6000h) .......................................................................................................28
8.1.2
8.1.3
Polarity Input 8-Bit (6002h).....................................................................................................30
Filter Constant Input 8-Bit (6003h) ..........................................................................................31
8.1.4 Global Interrupt Enable Digital 8-Bit (6005h)............................................................................32
8.1.5
8.1.6
8.1.7
Interrupt Mask Any Change 8-Bit (6006h)................................................................................33
Interrupt Mask Low-to-High 8-Bit (6007h) ................................................................................34
Interrupt Mask High-to-Low 8-Bit (6008h) ................................................................................35
8.1.8 Read Input Bit 1 to 128 .. Read Input Bit 897 to 1024 (6020h .. 6027h).......................................36
8.1.9
Polarity Input Bit 1 to 128 .. Polarity Input Bit 897 to 1024 (6030h .. 6037h)................................37
8.1.10 Filter Constant Input Bit 1 to 128 .. Filter Constant Input Bit 897 to 1024 (6038h .. 603Fh)...........38
8.1.11 Interrupt Mask Input Any Change Bit 1 to 128 .. Interrupt Mask Input Any Change Bit 897 to 1024
(6050h .. 6057h).....................................................................................................................39
8.1.12 Interrupt Mask Input Low-to-High Bit 1 to 128 .. Interrupt Mask Input Low-to-High Bit 897 to 1024
(6060h .. 6067h).....................................................................................................................40
8.1.13 Interrupt Mask Input High-to-Low Bit 1 to 128 .. Interrupt Mask Input High-to-Low Bit 897 to 1024
(6070h .. 6077h).....................................................................................................................41
8.1.14 Read Input 16-bit (6100h).......................................................................................................43
8.1.15 Polarity Input 16-bit (6102h) ...................................................................................................44
8.1.16 Filter Constant Input 16-bit (6103h).........................................................................................45
8.1.17 Interrupt Mask Input Any Change 16-bit (6106h)......................................................................46
8.1.18 Interrupt Mask Input Low-to-High 16-bit (6107h) ......................................................................47
8.1.19 Interrupt Mask Input High-to-Low 16-bit (6108h) ......................................................................48
8.1.20 Read Input 32-bit (6120h).......................................................................................................49
8.1.21 Polarity Input 32-bit (6122h) ...................................................................................................50
8.1.22 Filter Constant Input 32-bit (6123h).........................................................................................51
8.1.23 Interrupt Mask Input Any Change 32-bit (6126h)......................................................................52
8.1.24 Interrupt Mask Input Low-to-High 32-bit (6127h) ......................................................................53
8.1.25 Interrupt Mask Input High-to-Low 32-bit (6128h) ......................................................................54
8.2
Digital output module ............................................................................................................55
8.2.1 Write Output 8-Bit (6200h)......................................................................................................55
8.2.3 Change Polarity Output 8-Bit (6202h)......................................................................................56
8.2.4
8.2.5
8.2.6
Error Mode Output 8-Bit (6206h).............................................................................................57
Error Value Output 8-Bit (6207h).............................................................................................58
Filter Mask Output 8-Bit (6208h).............................................................................................60
8.2.7 Write Output Bit 1 to 128 .. Write Output Bit 897 to 1024 (6220h .. 6227h)..................................61
8.2.8 Change Polarity Output Bit 1 to 128 .. Change Polarity Output Bit 897 to 1024 (6240h .. 6247h)..62
8.2.9
Error Mode Output Bit 1 to 128 .. Error Mode Output Bit 897 to 1024 (6250h .. 6257h)................63
8.2.10 Error Value Output Bit 1 to 128 .. Error Value Output Bit 897 to 1024 (6260h .. 6267h)................64
-3-
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
8.2.11 Filter Mask Output Bit 1 to 128 .. Filter Mask Bit 897 to 1024 (6270h ..6277h).............................65
8.2.12 Write Output 16-bit (6300h) ....................................................................................................67
8.2.13 Change Polarity Output 16-Bit (6302h)....................................................................................68
8.2.14 Error Mode Output 16-Bit (6306h)...........................................................................................69
8.2.15 Error Value Output 16-Bit (6307h)...........................................................................................70
8.2.16 Filter Mask Output 16-Bit (6308h) ...........................................................................................71
8.2.17 Write Output 32-Bit (6320h)....................................................................................................72
8.2.21 Change Polarity Output 32-Bit (6322h)....................................................................................73
8.2.22 Error Mode Output 32-Bit (6326h)...........................................................................................74
8.2.23 Error Value Output 32-Bit (6327h)...........................................................................................75
8.2.24 Filter Mask Output 32-Bit (6328h) ...........................................................................................76
8.3
Analogue input module..........................................................................................................77
8.3.1 Read Analogue Input 8-Bit (6400h).........................................................................................77
8.3.2 Read Analogue Input 16-Bit (6401h) .......................................................................................78
8.3.3 Read Analogue Input 32-Bit (6402h) .......................................................................................80
8.3.4 Read Analogue Input Float (6403h).........................................................................................81
8.3.5 Read Manufacturer-specific Analogue Input (6404h)................................................................82
8.4
Analogue output module........................................................................................................83
8.4.1 Write Analogue Output 8-Bit (6410h).......................................................................................83
8.4.2 Write Analogue Output 16-Bit (6411h).....................................................................................84
8.4.3 Write Analogue Output 32-Bit (6412h).....................................................................................85
8.4.4 Write Analogue Output Float (6413h)......................................................................................86
8.4.5 Write Manufacturer-specific Analogue Output (6414h)..............................................................87
8.5
8.5.1
8.5.2
8.5.3
8.5.4
8.5.5
8.5.6
8.5.7
8.5.8
8.5.9
Analogue input set-ups..........................................................................................................88
(6420h) 88
Analogue Input Interrupt Trigger Selection (6421h) ..................................................................89
Analogue Input Interrupt Source (6422h).................................................................................90
Analogue Input Global Interrupt Enable (6423h).......................................................................91
Analogue Input Interrupt Upper Limit Integer (6424h)...............................................................92
Analogue Input Interrupt Lower Limit Integer (6425h)...............................................................93
Analogue Input Interrupt Delta Unsigned (6426h).....................................................................94
Analogue Input Interrupt Negative Delta Unsigned (6427h).......................................................95
Analogue Input Interrupt Positive Delta Unsigned (6428h)........................................................96
8.5.10 Analogue Input Interrupt Upper Limit Float (6429h)..................................................................98
8.5.11 Analogue Input Interrupt Lower Limit Float (642Ah)..................................................................99
8.5.12 Analogue Input Interrupt Delta Float (642Bh).........................................................................100
8.5.13 Analogue Input Interrupt Negative Delta Float (642Ch)...........................................................101
8.5.14 Analogue Input Interrupt Positive Delta Float (642Dh) ............................................................102
8.5.15 Analogue Input Offset Float (642Eh) .....................................................................................103
8.5.16 Analogue Input Scaling Float (642Fh) ...................................................................................104
-4-
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
8.5.17 Analogue Input SI Unit (6430h).............................................................................................105
8.5.18 Analogue Input Offset Integer (6431h)...................................................................................106
8.5.19 Analogue Input Scaling Integer (6432h).................................................................................107
8.6
8.6.1
8.6.2
8.6.3
8.6.4
8.6.5
8.6.8
8.6.9
Analogue output set-ups......................................................................................................108
(6440h) 108
Analogue Output Offset Float (6441h)...................................................................................109
Analogue Output Scaling Float (6442h).................................................................................110
Analogue Output Error Mode (6443h)....................................................................................111
Analogue Output Error Value Integer (6444h)........................................................................112
Analogue Output Error Value Float (6445h)...........................................................................113
Analogue Output Offset Integer (6446h)................................................................................114
8.6.10 Analogue Output Scaling Integer (6447h)..............................................................................115
8.6.11 Analogue Output SI Unit (6450h) ..........................................................................................116
8.7
General device profile objects..............................................................................................117
8.7.1 Device type (67FF) .............................................................................................................117
A1 Pre-defined communication objects for joysticks ...................................................................118
A1.1 Index 1000h (device type) ........................................................................................................118
A2 Joystick buttons......................................................................................................................118
A3 Joystick proportional inputs....................................................................................................118
A4 Joystick PDO mappings ..........................................................................................................118
A4.1 1st TPDO mapping (buttons) ...................................................................................................118
A4.2 2nd TPDO mapping (proportional inputs)..................................................................................118
A4.3 Joystick implementation hints...................................................................................................119
A4.3.1 Periodical PDO transmission.................................................................................................119
A4.3.2 Additional proportional inputs ................................................................................................119
A4.3.3 Transmission of proportional inputs .......................................................................................119
-5-
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
History
This document is based on version 2.0 and includes the corrections already published in the errata sheet.
Additional type error corrections and other editorial changes (mostly clarifications and rewordings) are not
listed in detail, only changes with technical content are recorded in the following table:
Chapter
Comment
Joystick appendix
Internal freeze function is optionally allowed.
General information on licensing and patents
CAN in AUTOMATION (CiA) calls attention to the possibility that some of the elements of this CiA
specification may be subject of patent rights. CiA shall not be responsible for identifying any or all such
patent rights.
© CiA 2005-01-01
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from CiA at the address below.
CAN in Automation e. V.
Am Weichselgarten 26
DE - 91058 Erlangen, Germany
Tel.: +49-9131-69086-0
Fax: +49-9131-69086-79
Url: www.can-cia.org
Email: headquarters@can-cia.org
-6-
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
1
Scope
This document represents the CANopen device profiles for generic digital and analogue input and output
modules. All these devices use communication techniques, which conform to those described in the CiA DS-
301CANopen Communication Profile. In addition, programmable I/O devices may use communication
techniques, which conform to those described in the CiA DSP-302 Framework for programmable CANopen
Devices or in the CiA DSP Layer Setting Services (LSS) specification. These specifications should be
consulted in parallel to this device profile specification.
In the appendices, some specific I/O devices are defined.
2
Normative references
/1/:
IS 11898, Road vehicles – Interchange of digital information – Controller area network
(CAN), November 1993.
/2/: CiA DS-301 V4.01, CANopen application layer and communication profile, June 2000.
/3/ CiA DRP-303-2 V1.1, Representation of SI Units and Prefixes, January 2000.
/4/ CiA DSP-302 V3.0, Framework for programmable CANopen devices, June 2000
/5/ CiA DSP-305 V1.1, Layer Setting Specification (LSS), January 2001
Definitions, acronyms and abbreviations
Controller Area Network. Data link layer protocol for serial communication as specified in ISO 11898-
1 (1999).
CAN in Automation international users and manufacturers group e.V. Non-profit association
promoting Controller Area Network (CAN).
Communication Object, which is made of one or more CAN frames. Any information transmitted via
3
CAN
CiA
COB
CANopen has to be mapped into COBs.
COB-ID
COB-Identifier. Identifies a COB uniquely in a CAN network. The identifier determines the priority of
I/O
RPDO
SDO
TPDO
that COB in the data link layer, too.
Input and output
Receive Process Data Object. Communication object of a device, which contains output data.
Service Data Object. Peer-to-peer communication with access to the Object Dictionary of a
CANopen device.
Transmit Process Data Object. Communication object of a device, which contains input data.
-7-
DS 401 V2.1
CANopen Device Profile for Generic I/O Modules
CiA
4
Operating principle
4.1
Introduction
The purpose of I/O modules is to connect sensors and actuators to CANopen networks. In operational mode,
input data can be transmitted from the inputs via TPDOs. By default, the PDO transmission is triggered by an
interrupt (event). Optionally PDOs may be transmitted synchronously or remotely requested. In addition, it is
possible to read input data via SDO communication from another module, or to write data via SDO to the
network, if the module provides SDO client functionality.
Output data can be received via RPDO by those I/O modules that have output capabilities. Output data also
can be received via SDO communication services.
However, the main purpose of SDO communication is to configure an I/O module. The module can receive
via SDO I/O configuration data, parameters for converting data into meaningful measurements and so on.
I/O modules compliant with this device profile use pre-defined PDOs. The default mapping of application
objects into TPDO respectively RPDO may be changed via SDO, if variable PDO mapping is supported. An
I/O module may provide optionally Sync producer/consumer, Time-Stamp producer/consumer and
Emergency producer/consumer functionality. For new designs, it is highly recommended to support
Heartbeat functionality.
5
Error handling
5.1
Principle
Emergency messages shall be triggered by internal errors in the device and they are assigned the highest
possible priority to ensure that they get access to the bus without latency. By default, the Emergency
messages shall contain the error field with pre-defined error numbers and additional information.
5.2
Error behaviour
If a serious device failure is detected the module shall enter by default autonomously the Pre-operational
state. If 1029h object is implemented, the device may be configured to enter alternatively the Stopped state
or remain in the current state in case of a device failure. Device failures should include the following
communication errors:
• Bus-off conditions of the CAN interface
• Life guarding event with the state ‘occurred’
• Heartbeat event with state ‘occurred’
Severe device errors also may be caused by device internal failures.
-8-