04-68280A Manual Digsy Chapter K Communication via CANopen

February 24, 2018 | Author: schlimmtimm | Category: Computer Data, Computing, Technology, Computer Engineering, Computer Networking
Share Embed Donate


Short Description

04-68280A Manual Digsy Chapter K Communication via CANopen...

Description

Manual digsy®

Chapter K Communication via CANopen

Drawing Number: 04 - 68 280 000/A Issued: 14.10.02 Stored: 14.10.02 Version: 1.0.0 File name: 04-68280 Manual Communication via CANopen Prepared by: Ralf Neuber

This manual was prepared with great care. The details and data in this document are regularly checked and updated and are at any time subject to change without notice. Nevertheless, INTER CONTROL does not assume liability for the correctness of the details/data in this document, since, despite great effort, mistakes cannot always be completely ruled out. In addition, INTER CONTROL reserves the right to make at any time technical changes to the product, which can also result in deviations from the contents of this document. The document includes information that enjoys protection of copyright. No part of this publication may be reproduced and/or translated into other languages without the prior written permission of INTER CONTROL. Of course, any ideas and suggestions regarding amendments, or notes concerning mistakes in this document are welcome. Please refer to INTER CONTROL.

INTER CONTROL Hermann Köhler Elektrik GmbH & Co. KG Schafhofstraße 30 D-90411 Nürnberg Germany Tel.: Fax: E-mail: Internet:

++49 911 9522-5 ++49 911 9522-857 [email protected] http://www.intercontrol.de

K Communication via CANopen

Manual digsy®

Table of Contents K

Communication via CANopen ..................................................................................................K-5 K.1 Fundamentals ...................................................................................................................K-5 K.1.1 Data exchange principle ............................................................................................K-6 K.1.2 CANopen ...................................................................................................................K-7 K.1.2.1 Object directory ......................................................................................................K-7 K.1.2.2 CANopen-communication: .....................................................................................K-7 K.1.2.3 NMT .......................................................................................................................K-8 K.1.2.3.1 Nodeguarding ................................................................................................K-10 K.1.2.3.2 Heartbeat .......................................................................................................K-11 K.2 CANopen-Interfaces of digsy®compact / digsy®CGM ..............................................................K-12 K.2.1 Object directory........................................................................................................K-12 K.2.1.1 Object directory digsy®compact E (4885.27.102/202/302) .......................................K-12 K.2.1.1.1 Allocation of the network variables ................................................................K-23 K.2.1.2 Object directory digsy®CGM ....................................................................................K-25 K.2.1.2.1 Allocation of the network variables ................................................................K-36 K.2.1.3 Differences between digsy®compact and digsy®CGM ..................................................K-37 K.2.2 Default settings in digsy®compact / digsy®CGM ...............................................................K-38 K.2.2.1 Default PDOs / Default PDO-Mapping.................................................................K-38 K.2.2.2 NMT-values..........................................................................................................K-38 K.2.3 Function blocks and functions under PROSYD 1131..............................................K-39 K.2.3.1 Introduction ..........................................................................................................K-39 K.2.3.2 Initialization of the CAN-bus and setup of objects ...............................................K-40 K.2.3.2.1 CM_Init(): Setting up a CANopen-node.........................................................K-40 K.2.3.2.2 COPINIT(): Setting up a CANopen-node – DcP/DcE-compatible .................K-42 K.2.3.2.3 COBADD() : Setting up a new entry in the object directory:..........................K-43 K.2.3.2.4 CM_AddNode(): Setting up the node list .......................................................K-45 K.2.3.2.5 CM_Reset():CM_Reset(): Resetting the network settings of the control unitK-47 K.2.3.3 NMT and guarding mechanisms ..........................................................................K-48 K.2.3.3.1 CM_SetNodeState(): Setting the node state .................................................K-48 K.2.3.3.2 CM_GetNodeState(): Reading the node state of a slave ..............................K-50 K.2.3.3.3 CM_StartStopGuarding(): Starting or stopping the network guarding...........K-51 K.2.3.3.4 : CM_Guarding(): Heartbeat and guarding mechanism ................................K-53 K.2.3.4 Functions and function blocks for SDO-transfer ..................................................K-55 K.2.3.4.1 SDOADD(): Setting up SDO-channels ..........................................................K-55 K.2.3.4.2 CM_SDO_RW(): Executing an SDO-transfer................................................K-56 K.2.3.4.3 SDOTRANS(): Executing an SDO-transfer –VERSION in DcP ....................K-59 K.2.3.4.4 CM_DCFTrans( ): SDO-transfer of groups....................................................K-61 K.2.3.5 Functions for PDO-transfer ..................................................................................K-63 K.2.3.5.1 CM_PDO_Sync():SYNC-object output ..........................................................K-63 K.2.4 Error codes of the CANopen-functions or CANopen-function-blocks .....................K-64 K.2.4.1 Error of the CM-functions and CM-function-blocks..............................................K-64 K.2.5 CAN-variables in data structures or in the control configuration .............................K-66 K.2.5.1 digsy®compact E .......................................................................................................K-66 K.2.5.2 digsy®CGM ..............................................................................................................K-67 K.2.6 Summary .................................................................................................................K-68 K.3 SDO-Transfer..................................................................................................................K-69 K.3.1 Basics ......................................................................................................................K-69 K.3.1.1 Segmented SDO-transfer ....................................................................................K-69

04 - 68 280 000/A Version 1.0.0

Page K-2

K Communication via CANopen

Manual digsy®

K.3.1.2 Expedited SDO download....................................................................................K-71 K.3.1.3 Block transfer .......................................................................................................K-71 K.3.2 SDO-transfer in the case of digsy®compact E/ digsy®CGM..............................................K-71 K.3.2.1 SDOADD() ...........................................................................................................K-71 K.3.2.2 CM_SDO_RW() ...................................................................................................K-72 K.3.2.3 CM_DCFTrans()...................................................................................................K-73 K.4 Mapping and COP-ID-setup in digsy®compact / digsy®CGM...................................................K-75 K.4.1 Basics ......................................................................................................................K-75 K.4.1.1 General ................................................................................................................K-75 K.4.1.2 Basic information on digsy®compact E/ digsy®CGM.....................................................K-77 K.4.1.2.1 Structure of the Config-objects for an SDO-transfer to the CANopen-nodesK-77 K.4.1.2.2 COB-Identifier-setup ......................................................................................K-77 K.4.1.2.3 Re-mapping process......................................................................................K-77 K.4.2 Setting up the COB-Ids............................................................................................K-78 K.4.3 Mapping in digsy®compact E/ digsy®CGM ........................................................................K-80 K.4.4 Mapping of slaves – in this case with DIGSYcompact ............................................K-84 K.4.5 Mapping of slaves – in this case with CGC .............................................................K-86 K.4.6 Mapping of slaves – in this case standardized nodes acc. to DS301 .....................K-89 K.5 Sequencer for setting up a CANopen-network with digsy®compact -/ digsy®CGM as a manager K-90 K.5.1 Steps of the runup sequencer .................................................................................K-90 K.5.2 Keeping to the times between the individual steps .................................................K-91 K.6 PDO-Transfer..................................................................................................................K-94 K.6.1 PDO: Transfer of values in the REAL-format ..........................................................K-94 K.7 NMT Guarding mechanisms ...........................................................................................K-95 K.7.1 Bootup process........................................................................................................K-95 K.7.2 Nodeguarding ..........................................................................................................K-95 K.7.3 Heartbeat .................................................................................................................K-96 K.8 Error Handling.................................................................................................................K-99 K.8.1 Introduction ..............................................................................................................K-99 K.8.2 Functionalities regarding the emergency-objects in digsy®compact E / digsy®CGM .....K-100 K.8.2.1 Basic user-functions regarding the error memory..............................................K-100 K.8.2.1.1 GetNextError(): Inquiring the error memory.................................................K-100 K.8.2.1.2 GetNextErrorTS(): Inquiring the error memory with time indication ............K-101 K.8.2.1.3 SetNextError(): Generating an error / a message .......................................K-101 K.8.2.1.4 Emergency-variables in data structures or of the adjustable control configuration .................................................................................................................K-102 K.8.2.2 Reading-out an emergency message ................................................................K-103 K.8.2.3 Generating emergency messages .....................................................................K-104 K.9 Example Project............................................................................................................K-106 K.9.1 Task definition........................................................................................................K-106 K.9.2 Implementation of the CANopen-slave-nodes.......................................................K-107 K.9.2.1 CAN-Initialization................................................................................................K-107 K.9.2.2 PDO-Setup.........................................................................................................K-108 K.9.2.3 Guarding mechanism.........................................................................................K-109 K.9.2.4 SDO-transfer ......................................................................................................K-110 K.9.2.5 Error evaluation in slave-node implementations................................................K-110 K.9.3 Implementation of the CANopen-manager............................................................K-111 K.9.3.1 CAN-Initialization................................................................................................K-111 K.9.3.2 PDO-Setup.........................................................................................................K-112 K.9.3.3 Guarding mechanism.........................................................................................K-112 K.9.3.4 Runup sequencer for setting up the network .....................................................K-115 K.9.3.4.1 Setting up node 3, optionally node 5 ...........................................................K-115 K.9.3.4.2 Individual setup of the node 5......................................................................K-116 K.9.3.5 Network management........................................................................................K-117 K.9.3.6 Error evaluation in the CANopen-manager-implementation..............................K-117

04 - 68 280 000/A Version 1.0.0

Page K-3

K Communication via CANopen

Manual digsy®

K.10 Technical Data and Important Additions.......................................................................K-120 K.10.1 Technical data .......................................................................................................K-120 K.10.2 Storage processes in FLASH-memory in the case of digsy®compact E/ digsy®CGM ....K-120 K.11 Appendix .......................................................................................................................K-121 K.11.1 List of illustrations: .................................................................................................K-121 K.11.2 List of tables:..........................................................................................................K-123 K.11.3 Bibliography ...........................................................................................................K-124 K.12 Notes.............................................................................................................................K-125

04 - 68 280 000/A Version 1.0.0

Page K-4

K Communication via CANopen

K

Manual digsy®

COMMUNICATION VIA CANOPEN

K.1 Fundamentals Apart from some general words about CAN and CANopen this functional description basically covers the features of the devices of the digsyoutdoor electronics-family and their handling. It is not meant to give a general description of the features of the CAN-bus or of CANopen. Basic information on the subjects CAN-bus and CANopen may be found under http://www.cancia.de (CiA - CAN in Automation e.V., CAN-Nutzerorganisation (user organization)) or in the appropriate technical literature.

NOTE:

To understand this functional description it is indispensable to have a basic knowledge of the subjects CAN-bus and CANopen.

NOTE:

The CANopen-functionality described in this manual is based on the CANopen Draft Standard DS301, V4.01, which is available from „CiA CAN in Automation e.V.“

CAN stands for „Controller Area Network“ and was originally developed by the companies Bosch and Intel as a bus system for vehicles. Meanwhile, however, CAN proved to be very good as a field bus in automation technology applications, too. As virtually all field buses CAN too is based on the OSI 7-layer model. CAN is only standardized for the OSI-layers 1 and 2 in the ISO 11898. The "missing" user layer is defined by the layer 7 protocols DeviceNet, J1939, SDS, CAL and CANopen that are based on CAN. The CAN-bus is a serial bus system in the case of which all the connected stations have equal rights, i.e., each control unit (CAN-node) is both able to transmit and to receive. Therefore, the connected control units can „talk to each other“ and exchange information via cables. Due to the linear structure of the network the bus system continues to be fully available for all the other stations if one station fails. The following figure shows a schematic diagram of a CAN-network:

Device 1

Device 2

Device 3

Device n

CAN

CAN

CAN

CAN

120Ω

120Ω

Figure K.1 Schematic device connection on the CAN-bus With the lines CAN-High and CAN-Low the CAN-bus represents a two-wire-solution. The realizable bus length depends on the chosen transmission rate. To avoid reflections of the bus levels, each of

04 - 68 280 000/A Version 1.0.0

Page K-5

K Communication via CANopen

Manual digsy®

the bus ends is terminated with a terminating resistor of R=120Ω. The length of the tap lines to the individual participants must not exceed a length of l=30cm.

K.1.1 Data exchange principle The CAN-bus represents a multi-master-system. With regard to their content and priority, the messages on the CAN-bus are clearly identified by a so-called identifier (in the arbitration field, see Figure K.2). Stations on a CAN-Bus are able to transmit messages at any time. If two or more stations start to send messages at the same time, the message with the highest priority gets the transmission right after a nondestructive arbitration process. Messages deferred by this arbitration process are automatically repeated.

Arbitration Field S O F

11- bzw. 29-Bit Identifier

Control Field R T R

I D E

Data Field

CRC Field

0...8 Bytes

15-Bit CRC

Ackn. Field

End of Frame

R 0 DLC

Figure K.2 Structure of a CAN-message CAN-messages comprise up to 8 bytes of user data. They can be received and evaluated by each of the stations. For this, however, both the producers and the consumers of a message require the same information about the quality and the contents of the message. This information is to be communicated to the individual stations of a CAN-network by means of a configuration process.

04 - 68 280 000/A Version 1.0.0

Page K-6

K Communication via CANopen

Manual digsy®

K.1.2 CANopen CANopen is an open protocol standard for the CAN-communication in automation engineering. It was standardized by the association „CAN in Automation“ (CiA). The protocol uses the CAN-bus as a transmission medium and defines an application-layer (corresponds with OSI-layer 7) with the following features: • • • • • • •

network management object directory default settings for the allocation of identifiers data transmission objects for process and configuration data network guarding error messages and function profiles

Task definition:- to be able to operate CANopen-components of different producers on one bus. This functional description is based on CANopen according to Draft Standard DS301, V4.01.

K.1.2.1 Object directory All the variables and parameters of a CANopen-device, which are important for the CANcommunication, are put together in the object directory. The object directory contains entries which are mandatory and others that are freely definable. The entries are clearly identified by a number, the so-called index, and besides they are addressable, too. They may contain simple data types, e.g., bytes, integers, long integers, .. and complex data types such as arrays, too. The structure of the object directory, the allocation of the index numbers as well as some mandatory entries are defined in the CANopen device profiles.

NOTE:

In the case of the products digsy®compact and digsy®CGM the CANopenconfiguration, i.e., the change of entries in the object directory, is to be carried out from the application program.

K.1.2.2 CANopen-communication: The data exchange in CANopen is effected in the form of messages by means of which the user data are transmitted. In this connection, one distinguishes between service data objects (SDO), which are used for the transmission of the service data from and to the object directory or for the non-time-critical transmission of data (even those exceeding a data length of 8 bytes), and process data objects (PDO), which are used for the exchange of the current process states. In addition, messages for the network management (NMT) and for error messages (emergencies) can be defined as well. By means of SDOs it is possible to access all the entries in the object directory. In practice, SDOs are mainly used for initialization and configuration purposes during the run-up of the CAN-bus. An SDO can always access only one object of the object directory. SDOs represent a logic peer-topeer connection between two stations in the form of an acknowledged service.

04 - 68 280 000/A Version 1.0.0

Page K-7

K Communication via CANopen

Manual digsy®

A PDO can transport a maximum of 8 bytes of data. The data contents of a PDO can be composed of various objects from the object directory. The compilation of various data in a PDO is also referred to as PDO-mapping.

PDO (Process Data Object)

SDO (Service Data Object)

- real-time data - message is not answered (faster transfer) - high-priority identifiers - synchronous and asynchronous transfer possible - max. 8 bytes / message - prearranged data format

- system parameter - message is answered (slower transfer) - low-priority identifiers - only asynchronous transfer - data spread over several messages - index-addressable data

Table K.1 Communication types in the case of CANopen Exclusively for the network management CANopen dispenses with the multi-master-capability of the CAN-bus. For this, a station in the CAN-network takes on the tasks of the network management. These tasks comprise, e.g., defined starts and stops of the network or individual stations of the network and the network guarding. All the other stations in the CAN-network are to be implemented as so-called slaves. For the network management and network guarding, for error messages and other services in CANopen there are predefined logic communication objects: -

for the boot-up (start of the network after switch-on), starting, stopping, resetting one or all stations in the network, for node guarding and life guarding or heartbeat for guarding the network, for the synchronization of messages or of stations in the network, for emergency messages.

These objects are firmly defined in CANopen and have global news broadcasting characteristics.

K.1.2.3 NMT A CANopen-node can take the following states: Node state 1 (INIT) 4 (STOPPED or. PREPARED) 5 (OPERATIONAL) 127 (PREOPERATIONAL)

SDO-Transfer not possible not possible possible possible

PDO-Transfer not possible not possible possible not possible

NMT not possible possible possible possible

Table K.2 Network states and how they differ Possible state changes are indicated in Figure K.3:

04 - 68 280 000/A Version 1.0.0

Page K-8

Special features boot- up message

automatically after Init

K Communication via CANopen

Manual digsy®

Initialization Reset Application

Reset Communication

power on Init

Preoperational Stopped

Operational

Figure K.3 NMT-states After switching the network on (Power on) a network participant goes through an initialization stage (Init). Afterwards it sends a so-called boot-up message on the bus. The other network participants, especially the CANopen-manager, automatically change to the Preoperational state. All the following state changes are effected by order of the network master. In general, a network slave is configured in the Preoperational state. That means that the CANopen-Manager, via SDO-communication, makes adjustments with regard to the input/output configuration, the PDO-communication and the network guarding. When the configuration stage is finished, the CANopen-Manager switches the network slave over to the Operational state. Guarding mechanisms: In CANopen there are 2 types of network guarding: • •

Nodeguard Heartbeat

04 - 68 280 000/A Version 1.0.0

Page K-9

K Communication via CANopen

K.1.2.3.1

Manual digsy®

Nodeguarding

The NMT-master cyclically sends a guard request to an NMT-slave-node with a time interval of tGUARD. This slave node answers the master with its current node state. If the NMT-master, after nLIFETIME-requests, receives no answer, the nodeguarding will deactivate itself and an error handling has to be effected. Relevant entries in the object directory: 16#100C => Guarding time tGUARD [WORD] 16#100D => Life-time-factor nLIFETIME [BYTE]

NMT-Master

NMT-Slave 700 h + Node – ID

( request )

700 h + Node - ID

( response )

tGUARD

Figure K.4 Nodeguard principle

04 - 68 280 000/A Version 1.0.0

Page K-10

K Communication via CANopen

K.1.2.3.2

Manual digsy®

Heartbeat

The heartbeat-producer (this may be the NMT-master or an NMT-slave) cyclically transmits its current node state without request at a time interval of tHEARTBEAT. The heartbeat-consumer (this may be the NMT-master or an NMT-slave, too) receives this node state and can react to it. If, after tHB-Consum, no heartbeat follows, the heartbeat guarding in the heartbeat-consumer will be deactivated and an error handling has to be effected. In this connection, the heartbeat-consumertime should be an integer multiple of the heartbeat-producer-time tHEARTBEAT. Relevant entries in the object directory: 16#1017 => Heartbeat-producer-time tHEARTBEAT [WORD] 16#1016 => Heartbeat-consumer-value (16#rrnncccc with rr(reserved), nn(Node-Id), cccc(tHB-Consum) ) Heartbeatproducer

Heartbeatconsumer

700 h + Node–ID (produce)

tHEARTBEAT 700 h + Node–ID (produce)

Figure K.5 Heartbeat principle

04 - 68 280 000/A Version 1.0.0

Page K-11

K Communication via CANopen

Manual digsy®

K.2 CANopen-Interfaces of digsy®compact / digsy®CGM K.2.1 Object directory K.2.1.1 Object directory digsy®compact E (4885.27.102/202/302) Index

SubIndex

Object

Name

Type/ Value Range

Attrib.

Category1

Default Value

Detailed Description

Communication Profile Area (CANopen Communication Characteristics Area) 1000h

VAR

Device type

UNSIGNED32

ro

M

1001h

VAR

Error register

UNSIGNED8

ro

M

16#0195 0

1005h

0

VAR

COB-ID SYNC message

UNSIGNED32

rw

O

16#40000080

1006h

0

VAR

Communication cycle period

UNSIGNED32

rw

O

0

1007h

0

VAR

Synchronous windows length

UNSIGNED32

rw

O

0

1008h

0

VAR

Manufacturer device name

STRING

ro

O

1009h

0

VAR

STRING

ro

O

100Ah

0

VAR

STRING

ro

O

e.g.„6.0.9“

100Ch

0

VAR

Manufacturer Hardware version Manufacturer Software version Guard Time

„DIGSYcompac t E“ e.g. „3.0“

UNSIGNED16

rw

C

512

100Dh

0

VAR

Life Time Factor

UNSIGNED8

rw

C

3

ARRAY

Store parameters

1010h 0

Largest subindex supported Save all parameters

1

1011h

ARRAY 0

1012h

0

VAR

1014h

0

VAR ARRAY

Consumer Heartbeat Time

1

1016h

Hardware version Software version Min. Guarding time in [ms] Life time factor

O UNSIGNED8

ro

M

1

UNSIGNED32

rw

M

0

UNSIGNED8

ro

M

1

UNSIGNED32

rw

M

0

UNSIGNED32

rw

O

16#80000100

UNSIGNED32

rw

M

16#80 + NodeID

Restore default parameters Largest subindex supported Restore all default parameters COB-Id Time Stamp Object COB-Id Emergency Object

No error CAN-Identifier of the SYNC-Object (Bit 30:= 1 -> SYNC is generated; Bit 29:= 0 -> 11Bit-ID; Bits 10-0 -> SYNC-COPID (16#80))2 Communication cycle period in [µs] At present: no function Length of time window in [µs] At present: no function Device name

Max. Subindex of Index 1010h Storage of all parameters At present: no function

O

O

0

Number of entries

UNSIGNED8

ro

M

16#20

1

Consumer heartbeat time

UNSIGNED32

rw

M

0

2

Consumer heartbeat time

UNSIGNED32

rw

O

0

3

Consumer heartbeat time

UNSIGNED32

rw

O

0

4

Consumer heartbeat time

UNSIGNED32

rw

O

0

5

Consumer heartbeat time

UNSIGNED32

rw

O

0

6

Consumer heartbeat time

UNSIGNED32

rw

O

0

1

Max. Subindex of Index 1011h Recovery of all default parameters Transfer of the global time in a COB-Id COB-Id of the emergency object Entries to the Heartbeat consumer Number of possible entries Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat

The following categories are possible: M->Mandatory; O->Optional; C->Conditional At present: no complete SYNC-implementation, SYNC-output serves only for initiating SYNC-PDOs, time conditions are not kept to and checked

2

04 - 68 280 000/A Version 1.0.0

Page K-12

K Communication via CANopen

Index

SubIndex

Object

Name

Type/ Value Range

Manual digsy®

Attrib.

Category1

Default Value

Detailed Description time

1017h

7

Consumer heartbeat time

UNSIGNED32

rw

O

0

8

Consumer heartbeat time

UNSIGNED32

rw

O

0

9

Consumer heartbeat time

UNSIGNED32

rw

O

0

10

Consumer heartbeat time

UNSIGNED32

rw

O

0

11

Consumer heartbeat time

UNSIGNED32

rw

O

0

12

Consumer heartbeat time

UNSIGNED32

rw

O

0

13

Consumer heartbeat time

UNSIGNED32

rw

O

0

14

Consumer heartbeat time

UNSIGNED32

rw

O

0

15

Consumer heartbeat time

UNSIGNED32

rw

O

0

16

Consumer heartbeat time

UNSIGNED32

rw

O

0

17

Consumer heartbeat time

UNSIGNED32

rw

O

0

18

Consumer heartbeat time

UNSIGNED32

rw

O

0

19

Consumer heartbeat time

UNSIGNED32

rw

O

0

20

Consumer heartbeat time

UNSIGNED32

rw

O

0

21

Consumer heartbeat time

UNSIGNED32

rw

O

0

22

Consumer heartbeat time

UNSIGNED32

rw

O

0

23

Consumer heartbeat time

UNSIGNED32

rw

O

0

24

Consumer heartbeat time

UNSIGNED32

rw

O

0

25

Consumer heartbeat time

UNSIGNED32

rw

O

0

26

Consumer heartbeat time

UNSIGNED32

rw

O

0

27

Consumer heartbeat time

UNSIGNED32

rw

O

0

28

Consumer heartbeat time

UNSIGNED32

rw

O

0

29

Consumer heartbeat time

UNSIGNED32

rw

O

0

30

Consumer heartbeat time

UNSIGNED32

rw

O

0

31

Consumer heartbeat time

UNSIGNED32

rw

O

0

32

Consumer heartbeat time

UNSIGNED32

rw

O

0

Producer heartbeat time

UNSIGNED16

rw

C

0

0

1018h

VAR RECORD

Identity object

M

Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Producer heartbeat time in [ms] Device information

0

Number of entries

UNSIGNED8

ro

M

4

1

Vendor ID

UNSIGNED32

ro

M

16#0000007A

Max. number of entries

2

Product code

UNSIGNED32

ro

O

4885.27.xxx

3

Revision number

UNSIGNED32

ro

O

Device specific

Product-code (xxx -> Device specific) Revision number

4

Serial number

UNSIGNED32

ro

O

Device specific

Serial number

Vendor-Id (vendor)

Communication Profile Area (SDO-Server Area) 1200h

RECORD

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client->Server (Rx) COB-Id Server->Client (Tx)

UNSIGNED32

ro

M

0

UNSIGNED32

ro

M

0

2 1201h

1st Server-SDO parameter

RECORD

04 - 68 280 000/A Version 1.0.0

2nd Server-SDO

M

Page K-13

Parameter of 1st ServerSDO Max. number of entries COB-Id of 1st Client-> Server-SDO (reception) COB-Id of 1st Server-> Client-SDO (transm.) Parameter of 2nd

K Communication via CANopen

Index

SubIndex

Object

Name

Type/ Value Range

Manual digsy®

Attrib.

Category1

Default Value

parameter

Server-SDO

0

Number of entries

UNSIGNED8

rw

M

2

1

COB-Id Client->Server (Rx) COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

UNSIGNED32

rw

M

16#80000000

2 1202h

RECORD

3rd Server-SDO parameter

M

0

Number of entries

UNSIGNED8

rw

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1203h

RECORD

Detailed Description

4th Server-SDO parameter

M

0

Number of entries

UNSIGNED8

rw

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

Max. number of entries COB-Id of 2nd Client-> Server-SDO (reception) COB-Id of 2nd Server-> Client-SDO (transm.) Parameter of 3rd ServerSDO Max. number of entries COB-Id of 3rd Client-> Server-SDO (reception) COB-Id of 3rd Server-> Client-SDO (transm.) Parameter of 4th ServerSDO Max. number of entries COB-Id of 4th Client-> Server-SDO (reception) COB-Id of 4th Server-> Client-SDO (transm.)

Communication Profile Area (SDO-Client Area) 1280h

RECORD

1st Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client->Server (Rx) COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

UNSIGNED32

rw

M

16#80000000

2 1281h

RECORD

2nd Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1282h

RECORD

3rd Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1283h

RECORD

4th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1284h

RECORD

5th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1285h

RECORD

6th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1286h

RECORD

7th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

Page K-14

Parameter of 1st ClientSDO Max. number of entries COB-Id of 1st Client-> Server-SDO (reception) COB-Id of 1st Server-> Client -SDO (transm.) Parameter of 2nd ClientSDO Max. number of entries COB-Id of 2nd Client-> Server-SDO (reception) COB-Id of 2nd Server-> Client -SDO (transm.) Parameter of 3rd ClientSDO Max. number of entries COB-Id of 3rd Client-> Server-SDO (reception) COB-Id of 3rd Server-> Client -SDO (transm.) Parameter of 4th ClientSDO Max. number of entries COB-Id of 4th Client-> Server-SDO (reception) COB-Id of 4th Server-> Client -SDO (transm.) Parameter of 5th ClientSDO Max. number of entries COB-Id of 5th Client-> Server-SDO (reception) COB-Id of 5th Server-> Client -SDO (transm.) Parameter of 6th ClientSDO Max. number of entries COB-Id of 6th Client-> Server-SDO (reception) COB-Id of 6th Server-> Client -SDO (transm.) Parameter of 7th ClientSDO Max. number of entries COB-Id of 7th Client-> Server-SDO (reception) COB-Id of 7th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

1287h

Object RECORD

Name

Type/ Value Range

Attrib.

8th Client -SDO parameter

Manual digsy® Category1 M

Default Value

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1288h

RECORD

9th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1289h

RECORD 0

10th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Ah

RECORD

M

0

11th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Bh

RECORD

M

0

12th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Ch

RECORD

M

0

13th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Dh

RECORD

M

0

14th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Eh

RECORD

M

0

15th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Fh

RECORD

M

0

16th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1290h

RECORD

M

0

17th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

M

Page K-15

Detailed Description Parameter of 8th ClientSDO Max. number of entries COB-Id of 8th Client-> Server-SDO (reception) COB-Id of 8th Server-> Client -SDO (transm.) Parameter of 9th ClientSDO Max. number of entries COB-Id of 9th Client-> Server-SDO (reception) COB-Id of 9th Server-> Client -SDO (transm.) Parameter of 10th Client-SDO Max. number of entries COB-Id of 10th Client-> Server-SDO (reception) COB-Id of 10th Server-> Client -SDO (transm.) Parameter of 11th Client-SDO Max. number of entries COB-Id of 11th Client-> Server-SDO (reception) COB-Id of 11th Server-> Client -SDO (transm.) Parameter of 12th Client-SDO Max. number of entries COB-Id of 12th Client-> Server-SDO (reception) COB-Id of 12th Server-> Client -SDO (transm.) Parameter of 13th Client-SDO Max. number of entries COB-Id of 13th Client-> Server-SDO (reception) COB-Id of 13th Server-> Client -SDO (transm.) Parameter of 14th Client-SDO Max. number of entries COB-Id of 14th Client-> Server-SDO (reception) COB-Id of 14th Server-> Client -SDO (transm.) Parameter of 15th Client-SDO Max. number of entries COB-Id of 15th Client-> Server-SDO (reception) COB-Id of 15th Server-> Client -SDO (transm.) Parameter of 16th Client-SDO Max. number of entries COB-Id of 16th Client-> Server-SDO (reception) COB-Id of 16th Server-> Client -SDO (transm.) Parameter of 17th Client-SDO Max. number of entries COB-Id of 17th Client-> Server-SDO (reception) COB-Id of 17th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

1291h

Object RECORD

Name

Type/ Value Range

Attrib.

Manual digsy® Category1 M

Default Value

0

18th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1292h

RECORD 0

19th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1293h

RECORD

M

0

20th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1294h

RECORD

M

0

21st Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1295h

RECORD

M

0

22nd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1296h

RECORD

M

0

23rd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1297h

RECORD

M

0

24th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1298h

RECORD

M

0

25th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1299h

RECORD

M

0

26th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Ah

RECORD

M

0

27th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

M

Page K-16

Detailed Description Parameter of 18th Client-SDO Max. number of entries COB-Id of 18th Client-> Server-SDO (reception) COB-Id of 18th Server-> Client -SDO (transm.) Parameter of 19th Client-SDO Max. number of entries COB-Id of 19th Client-> Server-SDO (reception) COB-Id of 19th Server-> Client -SDO (transm.) Parameter of 20th Client-SDO Max. number of entries COB-Id of 20th Client-> Server-SDO (reception) COB-Id of 20th Server-> Client -SDO (transm.) Parameter of 21st ClientSDO Max. number of entries COB-Id of 21st Client-> Server-SDO (reception) COB-Id of 21st Server-> Client -SDO (transm.) Parameter of 22nd Client-SDO Max. number of entries COB-Id of 22nd Client-> Server-SDO (reception) COB-Id of 22nd Server-> Client -SDO (transm.) Parameter of 23rd Client-SDO Max. number of entries COB-Id of 23rd Client-> Server-SDO (reception) COB-Id of 23rd Server-> Client -SDO (transm.) Parameter of 24th Client-SDO Max. number of entries COB-Id of 24th Client-> Server-SDO (reception) COB-Id of 24th Server-> Client -SDO (transm.) Parameter of 25th Client-SDO Max. number of entries COB-Id of 25th Client-> Server-SDO (reception) COB-Id of 25th Server-> Client -SDO (transm.) Parameter of 26th Client-SDO Max. number of entries COB-Id of 26th Client-> Server-SDO (reception) COB-Id of 26th Server-> Client -SDO (transm.) Parameter of 27th Client-SDO Max. number of entries COB-Id of 27th Client-> Server-SDO (reception) COB-Id of 27th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

129Bh

Object RECORD

Name

Type/ Value Range

Attrib.

Manual digsy® Category1 M

Default Value

0

28th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Ch

RECORD 0

29th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Dh

RECORD

M

0

30th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Eh

RECORD

M

0

31st Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Fh

RECORD

M

0

32nd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A0h

RECORD

M

0

33rd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A1h

RECORD

M

0

34th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A2h

RECORD

M

0

35th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A3h

RECORD

M

0

36th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A4h

RECORD

M

0

37th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

M

Page K-17

Detailed Description Parameter of 28th Client-SDO Max. number of entries COB-Id of 28th Client-> Server-SDO (reception) COB-Id of 28th Server-> Client -SDO (transm.) Parameter of 29th Client-SDO Max. number of entries COB-Id of 29th Client-> Server-SDO (reception) COB-Id of 29th Server-> Client -SDO (transm.) Parameter of 30th Client-SDO Max. number of entries COB-Id of 30th Client-> Server-SDO (reception) COB-Id of 30th Server-> Client -SDO (transm.) Parameter of 31st ClientSDO Max. number of entries COB-Id of 31st Client-> Server-SDO (reception) COB-Id of 31st Server-> Client -SDO (transm.) Parameter of 32nd Client-SDO Max. number of entries COB-Id of 32nd Client-> Server-SDO (reception) COB-Id of 32nd Server-> Client -SDO (transm.) Parameter of 33rd Client-SDO Max. number of entries COB-Id of 33rd Client-> Server-SDO (reception) COB-Id of 33rd Server-> Client -SDO (transm.) Parameter of 34th Client-SDO Max. number of entries COB-Id of 34th Client-> Server-SDO (reception) COB-Id of 34th Server-> Client -SDO (transm.) Parameter of 35th Client-SDO Max. number of entries COB-Id of 35th Client-> Server-SDO (reception) COB-Id of 35th Server-> Client -SDO (transm.) Parameter of 36th Client-SDO Max. number of entries COB-Id of 36th Client-> Server-SDO (reception) COB-Id of 36th Server-> Client -SDO (transm.) Parameter of 37th Client-SDO Max. number of entries COB-Id of 37th Client-> Server-SDO (reception) COB-Id of 37th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

12A5h

Object RECORD

Name

Type/ Value Range

Attrib.

Manual digsy® Category1 M

Default Value

0

38th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A6h

RECORD 0

39th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A7h

RECORD

M

0

40th Client -SDO parameter Number of entries

M UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

Detailed Description Parameter of 38th Client-SDO Max. number of entries COB-Id of 38th Client-> Server-SDO (reception) COB-Id of 38th Server-> Client -SDO (transm.) Parameter of 39th Client-SDO Max. number of entries COB-Id of 39th Client-> Server-SDO (reception) COB-Id of 39th Server-> Client -SDO (transm.) Parameter of 40th Client-SDO Max. number of entries COB-Id of 40th Client-> Server-SDO (reception) COB-Id of 40th Server-> Client -SDO (transm.)

Communication Profile Area (RxPDO Communication Area) 1400h

RECORD 0

RxPDO-Parameter

M

Parameter of 1st RxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000200

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

1401h

RECORD 0

RxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000300

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

1402h

RECORD 0

RxPDO-Parameter

M

Max. subindex of Index 1400h COB-Identifier of 1st RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 2nd RxPDO Max. subindex of Index 1401h COB-Identifier of 2nd RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 3rd RxPDO Max. subindex of Index 1402h COB-Identifier of 3rd RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000400

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 4th RxPDO

UNSIGNED8

ro

M

5

UNSIGNED32

rw

M

16#00000500

Max. subindex of Index 1403h COB-Identifier of 4th RxPDO

1403h

RECORD 0 1

04 - 68 280 000/A Version 1.0.0

RxPDO-Parameter Largest subindex supported COB-ID used by PDO

M

Page K-18

K Communication via CANopen

Index

SubIndex 2

Attrib.

Transmission type

Type/ Value Range UNSIGNED8

3

Inhibit time

UNSIGNED16

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 5th RxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

Max. subindex of Index 1404h COB-Identifier of 5th RxPDO In this case inactive Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 6th RxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

Max. subindex of Index 1405h COB-Identifier of 6th RxPDO In this case inactive Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

5

Event timer

UNSIGNED16

rw

O

0

1404h

Object

RECORD 0

1405h

RECORD 0

Name

Manual digsy®

rw

Category1 M

Default Value 254

rw

O

0

RxPDO-Parameter

M

RxPDO-Parameter

M

Detailed Description Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

:

:

:

:

:

:

:

:

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) :

:

:

:

:

:

:

:

:

:

143Fh

RECORD 0

RxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

Parameter of 64th RxPDO Max. subindex of Index 143Fh COB-Identifier of 64th RxPDO In this case inactive Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function Time for timer in [ms] (ATTENTION: not used in the case of RxPDO)

Communication Profile Area (RxPDO Mapping Area) 1600h

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A8C00140

1601h

RECORD 0

04 - 68 280 000/A Version 1.0.0

RxPDO mapping Largest subindex supported

M UNSIGNED8

Page K-19

rw

M

1

Mapping parameter of 1st RxPDO Max. subindex of Index 1600h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1024 Mapping parameter of 2nd RxPDO Max. subindex of Index 1601h

K Communication via CANopen

Index

SubIndex

Object

Name

Type/ Value Range

Attrib.

Manual digsy® Category1

Default Value

Detailed Description

:

:

:

:

:

:

:

:

0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1032 Mapping parameter of 3rd RxPDO Max. subindex of Index 1602h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1040 Mapping parameter of 4th RxPDO Max. subindex of Index 1603h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1048 Mapping parameter of 5th RxPDO Max. subindex of Index 1604h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1056 :

:

:

:

:

:

:

:

:

:

1

1602h

PDO-Mapping for the 2nd Mapped application object

RECORD

UNSIGNED32

rw

RxPDO mapping

C

16#A8C00240

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 3rd Mapped application object

UNSIGNED32

rw

C

16#A8C00340

1603h

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 4th Mapped application object

UNSIGNED32

rw

C

16#A8C00440

1604h

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 5th Mapped application object

UNSIGNED32

rw

C

16#A8C00540

163Fh

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 64th Mapped application object

UNSIGNED32

rw

C

16#A8C00240

Mapping parameter of 64th RxPDO Max. subindex of Index 163Fh 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1528

Communication Profile Area (TxPDO Communication Area) 1800h

RECORD 0

M

Parameter of 1st TxPDO

UNSIGNED8

ro

M

5

1

UNSIGNED32

rw

M

16#00000180

2

Transmission type

UNSIGNED8

rw

M

254 10

Max. subindex of Index 1800h COB-Identifier of 1st TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

1801h

RECORD

3

Inhibit time

UNSIGNED16

rw

O

10

Parameter of 2nd TxPDO Max. subindex of Index 1801h COB-Identifier of 2nd TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

0

3

TxPDO-Parameter Largest subindex supported COB-ID used by PDO

TxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000280

2

Transmission type

UNSIGNED8

rw

M

254

At present: only asynchronous transmission possible

04 - 68 280 000/A Version 1.0.0

Page K-20

K Communication via CANopen

Index

SubIndex 5

1802h

Object

Name Event timer

RECORD 0

Type/ Value Range UNSIGNED16

Attrib. rw

TxPDO-Parameter

Manual digsy® Category1 O

Default Value 0

M

Detailed Description Time for timer in [ms] Parameter of 3rd TxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000380

2

Transmission type

UNSIGNED8

rw

M

254 10

Max. subindex of Index 1802h COB-Identifier of 3rd TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000480

2

Transmission type

UNSIGNED8

rw

M

254 10

1803h

RECORD 0

TxPDO-Parameter

M

Parameter of 4th TxPDO Max. subindex of Index 1803h COB-Identifier of 4th TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254 10

1804h

RECORD 0

TxPDO-Parameter

M

Parameter of 5th TxPDO Max. subindex of Index 1804h COB-Identifier of 5th TxPDO In this case inactive Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

183Fh

RECORD 0

TxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254 10

Parameter of 64th TxPDO Max. subindex of Index 183Fh COB-Identifier of 64th TxPDO In this case inactive Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

Communication Profile Area (TxPDO Mapping Area) 1A00h

RECORD

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400140

1A01h

1A02h

TxPDO mapping

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400240

RECORD

04 - 68 280 000/A Version 1.0.0

TxPDO mapping

M

Page K-21

Mapping parameter of 1st TxPDO Max. subindex of Index 1A00h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB0 Mapping parameter of 2nd TxPDO Max. subindex of Index 1A01h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB8 Mapping parameter of 3rd TxPDO

K Communication via CANopen

Index

SubIndex 0

Object

Name Largest subindex supported

Type/ Value Range UNSIGNED8

Attrib.

UNSIGNED32

Manual digsy®

rw

Category1 M

Default Value 1

rw

C

16#A4400340

Detailed Description

:

:

:

:

:

:

:

:

Max. subindex of Index 1A02h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB8 Mapping parameter of 4th TxPDO Max. subindex of Index 1A03h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB16 Mapping parameter of 5th TxPDO Max. subindex of Index 1A04h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB24 :

:

:

:

:

:

:

:

:

:

1

1A03h

PDO-Mapping for the 1st Mapped application object

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400440

1A04h

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400540

1A3Fh

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4404040

04 - 68 280 000/A Version 1.0.0

Page K-22

Mapping parameter of 5th TxPDO Max. subindex of Index 1A3Fh 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB504

K Communication via CANopen

K.2.1.1.1

Allocation of the network variables

Data type[%..] Int8/Uint8 INT16/UINT16 INT/UINT32 8-String REAL (32Bit) LREAL (64Bit) UINT64 (64Bit)

MB0

MW

MB1

0 MD SO MD

MB2

MW 0 CT 0

MB3

1

MB4

MW

MB5

2 MD

Manual digsy®

MB6

MW 1

MB7

3

0 MD

1

...

M2044 M2045 M2046 M2047

... ... ... ... ... ... ...

MW SO MD

1022 MD CT 511

MW 511 255

1023

Table K.3 Memory allocation of the flag area in the IEC 1131 Network input variables (from the perspective of the CAN-bus): Read-Only-Variables (TxPDOs) (Note: from the perspective of the Prosyd 1131: output variables): Variable types SINT USINT/ BYTE BOOL

INT WORD/ UINT DINT/ UDINT/ DWORD REAL Int64 Uint64

from %MB0

from %MB256

from %MB512

from %MB768

to %MB1023

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

A000 A040

1 - 255 1 - 255

A001 A041

1 – 255 1 – 255

A002 A042

1 - 255 1 - 255

A003 A043

1 - 255 1 - 255

A080 A0C0 A100

1 - 255 1 - 128 1 - 128

A081 A0C0 A100

1 – 255 128-255 128-255

A082 A0C1 A101

1 - 255 1 - 128 1 - 128

A083 A0C1 A101

1 - 255 128-255 128-255

A1C0

1 - 64

A1C0

65 – 128

A1C0

129-192

A1C0

193-255

A240 A400 A440

1 - 64 1 - 32 1 - 32

A240 A400 A440

65 – 128 33 – 64 33 – 64

A240 A400 A440

129-192 65 - 96 65 - 96

A240 A400 A440

193-255 97 - 128 97 – 128

Table K.4 Index and Subindex allocation for the TxPDOs

04 - 68 280 000/A Version 1.0.0

Page K-23

K Communication via CANopen

Manual digsy®

Network output variables (from the perspective of the CAN-bus): Read-Write-Variables (RxPDOs) (Note: from the perspective of the Prosyd 1131: Input variables) Variable types SINT USINT/ BYTE BOOL

from %MB0

from %MB256

from %MB512

to %MB1023

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

A480 A4C0

1 - 255 1 - 255

A481 A4C1

1 – 255 1 – 255

A482 A4C2

1 - 255 1 - 255

A483 A4C3

1 - 255 1 - 255

A500 A540

1 - 255 1 - 128

A501 A542

A502 A543

1 - 255 1 - 128

A503 A543

1 - 255 128 - 255

A580

1 - 128

A582

A583

1 - 128

A583

128 - 255

A640

129 192

A640

193 - 255

129 192 65 - 96 65 - 96

A6C0

193 - 255

A880 A8C0

97 - 128 97 - 128

WORD/UI NT DINT/ UDINT/ DWORD REAL

A640

1 - 64

A640

1 – 255 128 – 255 128 – 255 65 – 128

A6C0

1 - 64

A6C0

65 – 128

A6C0

Int64 Uint64

A880 A8C0

1 - 32 1 - 32

A880 A8C0

33 – 64 33 – 64

A880 A8C0

INT

from %MB768

Table K.5 Index and Subindex allocation for the RxPDOs

ATTENTION:

04 - 68 280 000/A Version 1.0.0

The flag area cannot fully be mapped with the network variables. For more details please refer to the chapter „Mapping in digsy®compact E/ digsy®CGM“.

Page K-24

K Communication via CANopen

Manual digsy®

K.2.1.2 Object directory digsy®CGM Index

SubIndex

Object

Name

Type/ Value Range

Attrib.

Category4

Default Value

Detailed Description

Communication Profile Area (CANopen Communication Characteristics Area) 1000h

VAR

Device type

UNSIGNED32

ro

M

1001h

VAR

Error register

UNSIGNED8

ro

M

16#0195 0

No error

1005h

0

VAR

COB-ID SYNC message

UNSIGNED32

rw

O

16#40000080

1006h

0

VAR

Communication cycle period

UNSIGNED32

rw

O

0

1007h

0

VAR

Synchronous windows length

UNSIGNED32

rw

O

0

1008h

0

VAR

Manufacturer device name

STRING

ro

O

„CGM“

1009h

0

VAR

STRING

ro

O

e.g. „2.1“

Hardware version

100Ah

0

VAR

STRING

ro

O

e.g. „3.1.1“

Software version

100Ch

0

VAR

Manufacturer Hardware version Manufacturer Software version Guard Time

UNSIGNED16

rw

C

512

100Dh

0

VAR

Life Time Factor

UNSIGNED8

rw

C

3

ARRAY

Store parameters

1010h 0

Largest subindex supported Save all parameters

1

1011h

ARRAY 0

1012h

0

VAR

1014h

0

VAR ARRAY

Consumer Heartbeat Time

1

1016h

Min. Guarding time in [ms] Life time factor

O UNSIGNED8

ro

M

1

UNSIGNED32

rw

M

0

UNSIGNED8

ro

M

1

UNSIGNED32

rw

M

0

UNSIGNED32

rw

O

16#80000100

UNSIGNED32

rw

M

16#80 + NodeID

Restore default parameters Largest subindex supported Restore all default parameters COB-Id Time Stamp Object COB-Id Emergency Object

CAN-Identifier of SYNCObjects (Bit 30:= 1 -> SYNC will be generated; Bit 29:= 0 -> 11Bit-ID; Bits 10-0 -> SYNC-COPID (16#80))5 Communication cycle period in [µs] At present: no function Length of time window in [µs] At present: no function Device name

Max. subindex of Index 1010h Storage of all parameters At present: no function

O

O

0

Number of entries

UNSIGNED8

ro

M

16#20

1

Consumer heartbeat time

UNSIGNED32

rw

M

0

2

Consumer heartbeat time

UNSIGNED32

rw

O

0

3

Consumer heartbeat time

UNSIGNED32

rw

O

0

4

Consumer heartbeat time

UNSIGNED32

rw

O

0

5

Consumer heartbeat time

UNSIGNED32

rw

O

0

6

Consumer heartbeat time

UNSIGNED32

rw

O

0

7

Consumer heartbeat time

UNSIGNED32

rw

O

0

8

Consumer heartbeat time

UNSIGNED32

rw

O

0

9

Consumer heartbeat time

UNSIGNED32

rw

O

0

4

Max. subindex of Index 1011h Recovery of all default parameters Transfer of the global time in a COB-Id COB-Id of Emergencyobject Entries to the HeartbeatConsumer Number of possible entries Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time

The following categories are possible: M->Mandatory; O->Optional; C->Conditional At present: No complete SYNC-implementation, SYNC-output serves only for initiating SYNC-PDOs, no time conditions are kept to and checked 5

04 - 68 280 000/A Version 1.0.0

Page K-25

K Communication via CANopen

Index

1017h

SubIndex 10

Attrib.

Consumer heartbeat time

Type/ Value Range UNSIGNED32

rw

Category4 O

Default Value 0

11

Consumer heartbeat time

UNSIGNED32

rw

O

0

12

Consumer heartbeat time

UNSIGNED32

rw

O

0

13

Consumer heartbeat time

UNSIGNED32

rw

O

0

14

Consumer heartbeat time

UNSIGNED32

rw

O

0

15

Consumer heartbeat time

UNSIGNED32

rw

O

0

16

Consumer heartbeat time

UNSIGNED32

rw

O

0

17

Consumer heartbeat time

UNSIGNED32

rw

O

0

18

Consumer heartbeat time

UNSIGNED32

rw

O

0

19

Consumer heartbeat time

UNSIGNED32

rw

O

0

20

Consumer heartbeat time

UNSIGNED32

rw

O

0

21

Consumer heartbeat time

UNSIGNED32

rw

O

0

22

Consumer heartbeat time

UNSIGNED32

rw

O

0

23

Consumer heartbeat time

UNSIGNED32

rw

O

0

24

Consumer heartbeat time

UNSIGNED32

rw

O

0

25

Consumer heartbeat time

UNSIGNED32

rw

O

0

26

Consumer heartbeat time

UNSIGNED32

rw

O

0

27

Consumer heartbeat time

UNSIGNED32

rw

O

0

28

Consumer heartbeat time

UNSIGNED32

rw

O

0

29

Consumer heartbeat time

UNSIGNED32

rw

O

0

30

Consumer heartbeat time

UNSIGNED32

rw

O

0

31

Consumer heartbeat time

UNSIGNED32

rw

O

0

32

Consumer heartbeat time

UNSIGNED32

rw

O

0

Producer heartbeat time

UNSIGNED16

rw

C

0

0

1018h

Object

VAR RECORD

Name

Manual digsy®

Identity object

M

Detailed Description Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Consumer heartbeat time Producer heartbeat time in [ms] Device information

0

Number of entries

UNSIGNED8

ro

M

4

1

Vendor ID

UNSIGNED32

ro

M

16#0000007A

Max. number of entries

2

Product code

UNSIGNED32

ro

O

4885.8x.xxx

3

Revision number

UNSIGNED32

ro

O

Device specific

Product-code (x.xxx -> Device specific) Revision number

4

Serial number

UNSIGNED32

ro

O

Device specific

Serial number

Vendor-Id (vendor)

Communication Profile Area (SDO-Server Area) 1200h

RECORD

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client->Server (Rx) COB-Id Server->Client (Tx)

UNSIGNED32

ro

M

0

UNSIGNED32

ro

M

0

2 1201h

RECORD 0 1

2nd Server-SDO parameter Number of entries COB-Id Client->Server (Rx) COB-Id Server->Client (Tx)

2 1202h

1st Server-SDO parameter

RECORD

04 - 68 280 000/A Version 1.0.0

M UNSIGNED8

rw

M

2

UNSIGNED32

rw

M

16#80000000

UNSIGNED32

rw

M

16#80000000

3rd Server-SDO parameter

M

Page K-26

Parameter of 1st ServerSDO Max. number of entries COB-Id of 1st Client-> Server-SDO (reception) COB-Id of 1st Server-> Client-SDO (transm.) Parameter of 2nd Server-SDO Max. number of entries COB-Id of 2nd Client-> Server-SDO (reception) COB-Id of 2nd Server-> Client-SDO (transm.) Parameter of 3rd Server-

K Communication via CANopen

Index

SubIndex

Object

Name

Type/ Value Range

Manual digsy®

Attrib.

Category4

Default Value

Detailed Description SDO

0

Number of entries

UNSIGNED8

rw

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1203h

RECORD

4th Server-SDO parameter

M

0

Number of entries

UNSIGNED8

rw

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

Max. number of entries COB-Id of 3rd Client-> Server-SDO (reception) COB-Id of 3rd Server-> Client-SDO (transm.) Parameter of 4th ServerSDO Max. number of entries COB-Id of 4th Client-> Server-SDO (reception) COB-Id of 4th Server-> Client-SDO (transm.)

Communication Profile Area (SDO-Client Area) 1280h

RECORD

1st Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client->Server (Rx) COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

UNSIGNED32

rw

M

16#80000000

2 1281h

RECORD

2nd Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1282h

RECORD

3rd Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1283h

RECORD

4th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1284h

RECORD

5th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1285h

RECORD

6th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1286h

RECORD

7th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1287h

RECORD

8th Client -SDO parameter

M

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

Page K-27

Parameter of 1st ClientSDO Max. number of entries COB-Id of 1st Client-> Server-SDO (reception) COB-Id of 1st Server-> Client -SDO (transm.) Parameter of 2nd ClientSDO Max. number of entries COB-Id of 2nd Client-> Server-SDO (reception) COB-Id of 2nd Server-> Client -SDO (transm.) Parameter of 3rd ClientSDO Max. number of entries COB-Id of 3rd Client-> Server-SDO (reception) COB-Id of 3rd Server-> Client -SDO (transm.) Parameter of 4th ClientSDO Max. number of entries COB-Id of 4th Client-> Server-SDO (reception) COB-Id of 4th Server-> Client -SDO (transm.) Parameter of 5th ClientSDO Max. number of entries COB-Id of 5th Client-> Server-SDO (reception) COB-Id of 5th Server-> Client -SDO (transm.) Parameter of 6th ClientSDO Max. number of entries COB-Id of 6th Client-> Server-SDO (reception) COB-Id of 6th Server-> Client -SDO (transm.) Parameter of 7th ClientSDO Max. number of entries COB-Id of 7th Client-> Server-SDO (reception) COB-Id of 7th Server-> Client -SDO (transm.) Parameter of 8th ClientSDO Max. number of entries COB-Id of 8th Client-> Server-SDO (reception) COB-Id of 8th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

1288h

Object RECORD

Name

Type/ Value Range

Attrib.

9th Client -SDO parameter

Manual digsy® Category4 M

Default Value

0

Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1289h

RECORD 0

10th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Ah

RECORD

M

0

11th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Bh

RECORD

M

0

12th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Ch

RECORD

M

0

13th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Dh

RECORD

M

0

14th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Eh

RECORD

M

0

15th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

128Fh

RECORD

M

0

16th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1290h

RECORD

M

0

17th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1291h

RECORD

M

0

18th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

M

Page K-28

Detailed Description Parameter of 9th ClientSDO Max. number of entries COB-Id of 9th Client-> Server-SDO (reception) COB-Id of 9th Server-> Client -SDO (transm.) Parameter of 10th Client-SDO Max. number of entries COB-Id of 10th Client-> Server-SDO (reception) COB-Id of 10th Server-> Client -SDO (transm.) Parameter of 11th Client-SDO Max. number of entries COB-Id of 11th Client-> Server-SDO (reception) COB-Id of 11th Server-> Client -SDO (transm.) Parameter of 12th Client-SDO Max. number of entries COB-Id of 12th Client-> Server-SDO (reception) COB-Id of 12th Server-> Client -SDO (transm.) Parameter of 13th Client-SDO Max. number of entries COB-Id of 13th Client-> Server-SDO (reception) COB-Id of 13th Server-> Client -SDO (transm.) Parameter of 14th Client-SDO Max. number of entries COB-Id of 14th Client-> Server-SDO (reception) COB-Id of 14th Server-> Client -SDO (transm.) Parameter of 15th Client-SDO Max. number of entries COB-Id of 15th Client-> Server-SDO (reception) COB-Id of 15th Server-> Client -SDO (transm.) Parameter of 16th Client-SDO Max. number of entries COB-Id of 16th Client-> Server-SDO (reception) COB-Id of 16th Server-> Client -SDO (transm.) Parameter of 17th Client-SDO Max. number of entries COB-Id of 17th Client-> Server-SDO (reception) COB-Id of 17th Server-> Client -SDO (transm.) Parameter of 18th Client-SDO Max. number of entries COB-Id of 18th Client-> Server-SDO (reception) COB-Id of 18th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

1292h

Object RECORD

Name

Type/ Value Range

Attrib.

Manual digsy® Category4 M

Default Value

0

19th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1293h

RECORD 0

20th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1294h

RECORD

M

0

21st Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1295h

RECORD

M

0

22nd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1296h

RECORD

M

0

23rd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1297h

RECORD

M

0

24th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1298h

RECORD

M

0

25th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

1299h

RECORD

M

0

26th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Ah

RECORD

M

0

27th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Bh

RECORD

M

0

28th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

M

Page K-29

Detailed Description Parameter of 19th Client-SDO Max. number of entries COB-Id of 19th Client-> Server-SDO (reception) COB-Id of 19th Server-> Client -SDO (transm.) Parameter of 20th Client-SDO Max. number of entries COB-Id of 20th Client-> Server-SDO (reception) COB-Id of 20th Server-> Client -SDO (transm.) Parameter of 21st ClientSDO Max. number of entries COB-Id of 21st Client-> Server-SDO (reception) COB-Id of 21st Server-> Client -SDO (transm.) Parameter of 22nd Client-SDO Max. number of entries COB-Id of 22nd Client-> Server-SDO (reception) COB-Id of 22nd Server-> Client -SDO (transm.) Parameter of 23rd Client-SDO Max. number of entries COB-Id of 23rd Client-> Server-SDO (reception) COB-Id of 23rd Server-> Client -SDO (transm.) Parameter of 24th Client-SDO Max. number of entries COB-Id of 24th Client-> Server-SDO (reception) COB-Id of 24th Server-> Client -SDO (transm.) Parameter of 25th Client-SDO Max. number of entries COB-Id of 25th Client-> Server-SDO (reception) COB-Id of 25th Server-> Client -SDO (transm.) Parameter of 26th Client-SDO Max. number of entries COB-Id of 26th Client-> Server-SDO (reception) COB-Id of 26th Server-> Client -SDO (transm.) Parameter of 27th Client-SDO Max. number of entries COB-Id of 27th Client-> Server-SDO (reception) COB-Id of 27th Server-> Client -SDO (transm.) Parameter of 28th Client-SDO Max. number of entries COB-Id of 28th Client-> Server-SDO (reception) COB-Id of 28th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

129Ch

Object RECORD

Name

Type/ Value Range

Attrib.

Manual digsy® Category4 M

Default Value

0

29th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Dh

RECORD 0

30th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Eh

RECORD

M

0

31st Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

129Fh

RECORD

M

0

32nd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A0h

RECORD

M

0

33rd Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A1h

RECORD

M

0

34th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A2h

RECORD

M

0

35th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A3h

RECORD

M

0

36th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A4h

RECORD

M

0

37th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A5h

RECORD

M

0

38th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

04 - 68 280 000/A Version 1.0.0

M

Page K-30

Detailed Description Parameter of 29th Client-SDO Max. number of entries COB-Id of 29th Client-> Server-SDO (reception) COB-Id of 29th Server-> Client -SDO (transm.) Parameter of 30th Client-SDO Max. number of entries COB-Id of 30th Client-> Server-SDO (reception) COB-Id of 30th Server-> Client -SDO (transm.) Parameter of 31st ClientSDO Max. number of entries COB-Id of 31st Client-> Server-SDO (reception) COB-Id of 31st Server-> Client -SDO (transm.) Parameter of 32nd Client-SDO Max. number of entries COB-Id of 32nd Client-> Server-SDO (reception) COB-Id of 32nd Server-> Client -SDO (transm.) Parameter of 33rd Client-SDO Max. number of entries COB-Id of 33rd Client-> Server-SDO (reception) COB-Id of 33rd Server-> Client -SDO (transm.) Parameter of 34th Client-SDO Max. number of entries COB-Id of 34th Client-> Server-SDO (reception) COB-Id of 34th Server-> Client -SDO (transm.) Parameter of 35th Client-SDO Max. number of entries COB-Id of 35th Client-> Server-SDO (reception) COB-Id of 35th Server-> Client -SDO (transm.) Parameter of 36th Client-SDO Max. number of entries COB-Id of 36th Client-> Server-SDO (reception) COB-Id of 36th Server-> Client -SDO (transm.) Parameter of 37th Client-SDO Max. number of entries COB-Id of 37th Client-> Server-SDO (reception) COB-Id of 37th Server-> Client -SDO (transm.) Parameter of 38th Client-SDO Max. number of entries COB-Id of 38th Client-> Server-SDO (reception) COB-Id of 38th Server-> Client -SDO (transm.)

K Communication via CANopen

Index

SubIndex

12A6h

Object RECORD

Name

Type/ Value Range

Attrib.

Manual digsy® Category4 M

Default Value

0

39th Client -SDO parameter Number of entries

UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

12A7h

RECORD 0

40th Client -SDO parameter Number of entries

M UNSIGNED8

ro

M

2

1

COB-Id Client Server (Rx)

UNSIGNED32

rw

M

16#80000000

2

COB-Id Server->Client (Tx)

UNSIGNED32

rw

M

16#80000000

Detailed Description Parameter of 39th Client-SDO Max. number of entries COB-Id of 39th Client-> Server-SDO (reception) COB-Id of 39th Server-> Client -SDO (transm.) Parameter of 40th Client-SDO Max. number of entries COB-Id of 40th Client-> Server-SDO (reception) COB-Id of 40th Server-> Client -SDO (transm.)

Communication Profile Area (RxPDO Communication Area) 1400h

RECORD 0

RxPDO-Parameter

M

Parameter of 1st RxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000200

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

1401h

RECORD 0

RxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000300

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

1402h

RECORD 0

RxPDO-Parameter

M

Max. subindex of Index 1400h COB-Identifier of 1st RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) no function Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 2nd RxPDO Max. subindex of Index 1401h COB-Identifier of 2nd RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 3rd RxPDO Max. subindex of Index 1402h COB-Identifier of 3rd RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000400

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 4th RxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000500

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

Max. subindex of Index 1403h COB-Identifier of 4th RxPDO Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

1403h

RECORD 0

04 - 68 280 000/A Version 1.0.0

RxPDO-Parameter

M

Page K-31

K Communication via CANopen

Index

SubIndex

1404h

Object

RECORD 0

Name

Type/ Value Range

Attrib.

RxPDO-Parameter

Manual digsy® Category4

Default Value

Detailed Description (ATTENTION: not used in the case of RxPDO) Parameter of 5th RxPDO

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) Parameter of 6th RxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

Max. subindex of Index 1405h COB-Identifier of 6th RxPDO In this case inactive Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

5

Event timer

UNSIGNED16

rw

O

0

1405h

RECORD 0

RxPDO-Parameter

M

Max. subindex of Index 1404h COB-Identifier of 5th RxPDO In this case inactive Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function

:

:

:

:

:

:

:

:

Time for timer in [ms] (ATTENTION: not used in the case of RxPDO) :

:

:

:

:

:

:

:

:

:

143Fh

RECORD 0

RxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

0

4

Compatibility entry

UNSIGNED8

rw

O

0

5

Event timer

UNSIGNED16

rw

O

0

Parameter of 64th RxPDO Max. subindex of Index 143Fh COB-Identifier of 64th RxPDO In this case inactive Transmission type, in this case asynchronous Inhibit time (ATTENTION: not used in the case of RxPDO) No function Time for timer in [ms] (ATTENTION: not used in the case of RxPDO)

Communication Profile Area (RxPDO Mapping Area) 1600h

RECORD

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A8C00140

1601h

1602h

RxPDO mapping

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 2nd Mapped application object

UNSIGNED32

rw

C

16#A8C00240

RECORD

04 - 68 280 000/A Version 1.0.0

RxPDO mapping

M

Page K-32

Mapping parameter of 1st RxPDO Max. subindex of Index 1600h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1024 Mapping parameter of 2nd RxPDO Max. subindex of Index 1601h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1032 Mapping parameter of

K Communication via CANopen

Index

SubIndex

Object

Name

Type/ Value Range

Manual digsy®

Attrib.

Category4

Default Value

Detailed Description 3rd RxPDO

0

Largest subindex supported

UNSIGNED8

rw

M

1

:

:

:

:

:

:

:

:

Max. subindex of Index 1602h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1040 Mapping parameter of 4th RxPDO Max. subindex of Index 1603h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1048 Mapping parameter of 5th RxPDO Max. subindex of Index 1604h 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1056 :

1

PDO-Mapping for the 3rd Mapped application object

UNSIGNED32

rw

C

16#A8C00340

:

:

:

:

:

:

:

:

:

1603h

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 4th Mapped application object

UNSIGNED32

rw

C

16#A8C00440

1604h

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 5th Mapped application object

UNSIGNED32

rw

C

16#A8C00540

163Fh

RECORD

RxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 64th Mapped application object

UNSIGNED32

rw

C

16#A8C00240

Mapping parameter of 64th RxPDO Max. subindex of Index 163Fh 0 -> deactivated 1..8 -> activated Reception of an UNSIGNED64 with a data length of 64 bits from %MB1528

Communication Profile Area (TxPDO Communication Area) 1800h

RECORD 0

TxPDO-Parameter

M

Parameter of 1st TxPDO

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000180

2

Transmission type

UNSIGNED8

rw

M

254 10

Max. subindex of Index 1800h COB-Identifier of 1st TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

1801h

RECORD 0

TxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000280

2

Transmission type

UNSIGNED8

rw

M

254 10

Parameter of 2nd TxPDO Max. subindex of Index 1801h COB-Identifier of 2nd TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000380

2

Transmission type

UNSIGNED8

rw

M

254

3

Inhibit time

UNSIGNED16

rw

O

10

1802h

RECORD 0

04 - 68 280 000/A Version 1.0.0

TxPDO-Parameter

M

Page K-33

Parameter of 3rd TxPDO Max. subindex of Index 1802h COB-Identifier of 3rd TxPDO Transmission type, in this case asynchronous3 Inhibit time in [ms]

K Communication via CANopen

Index

SubIndex 4

Object

Attrib.

Compatibility entry

Type/ Value Range UNSIGNED8

Event timer

UNSIGNED16 UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#00000480

2

Transmission type

UNSIGNED8

rw

M

254 10

5 1803h

RECORD 0

Name

Manual digsy®

rw

Category4 O

Default Value 0

rw

O

0

TxPDO-Parameter

M

Detailed Description No function Time for timer in [ms] Parameter of 4th TxPDO Max. subindex of Index 1803h COB-Identifier of 4th TxPDO Transmission type, in this case asynchronous Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254 10

1804h

RECORD 0

TxPDO-Parameter

M

Parameter of 5th TxPDO Max. subindex of Index 1804h COB-Identifier of 5th TxPDO In this case inactive Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

:

183Fh

RECORD 0

TxPDO-Parameter

M UNSIGNED8

ro

M

5

1

Largest subindex supported COB-ID used by PDO

UNSIGNED32

rw

M

16#80000000

2

Transmission type

UNSIGNED8

rw

M

254 10

Parameter of 64th TxPDO Max. subindex of Index 183Fh COB-Identifier of 64th TxPDO In this case inactive Transmission type, in this case asynchronous3 Inhibit time in [ms]

3

Inhibit time

UNSIGNED16

rw

O

4

Compatibility entry

UNSIGNED8

rw

O

0

No function

5

Event timer

UNSIGNED16

rw

O

0

Time for timer in [ms]

Communication Profile Area (TxPDO Mapping Area) 1A00h

RECORD

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400140

1A01h

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400240

1A02h

1A03h

TxPDO mapping

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400340

RECORD

04 - 68 280 000/A Version 1.0.0

TxPDO mapping

M

Page K-34

Mapping parameter of 1st TxPDO Max. subindex of Index 1A00h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB0 Mapping parameter of 2nd TxPDO Max. subindex of Index 1A01h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB8 Mapping parameter of 3rd TxPDO Max. subindex of Index 1A02h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB8 Mapping parameter of 4th TxPDO

K Communication via CANopen

Index

SubIndex 0

Object

Name Largest subindex supported

Type/ Value Range UNSIGNED8

Attrib.

UNSIGNED32

Manual digsy®

rw

Category4 M

Default Value 1

rw

C

16#A4400440

Detailed Description

:

:

:

:

:

:

:

:

Max. subindex of Index 1A03h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB16 Mapping parameter of 5th TxPDO Max. subindex of Index 1A04h 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB24 :

:

:

:

:

:

:

:

:

:

1

1A04h

PDO-Mapping for the 1st Mapped application object

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4400540

1A3Fh

RECORD

TxPDO mapping

M

0

Largest subindex supported

UNSIGNED8

rw

M

1

1

PDO-Mapping for the 1st Mapped application object

UNSIGNED32

rw

C

16#A4404040

04 - 68 280 000/A Version 1.0.0

Page K-35

Mapping parameter of 5th TxPDO Max. subindex of Index 1A3Fh 0 -> deactivated 1..8 -> activated Transmission of an UNSIGNED64 with a data length of 64 bits from %MB504

K Communication via CANopen

K.2.1.2.1

Allocation of the network variables

Data type[%..] Int8/Uint8 INT16/UINT16 INT/UINT32 8-String REAL (32Bit) LREAL (64Bit) UINT64 (64Bit)

MB0

MW

MB1

0 MD SO MD

MB2

MW 0 CT 0

MB3

1

MB4

MW

MB5

2 MD

Manual digsy®

MB6

MW 1

MB7

3

0 MD

1

...

M2044 M2045 M2046 M2047

... ... ... ... ... ... ...

MW SO MD

1022 MD CT 511

MW 511 255

1023

Figure K.6 Storage allocation of the flag area in the IEC 1131 Network input variables (from the perspective of the CAN-bus): Read-Only-Variables (TxPDOs) (Note: from the perspective of the Prosyd 1131: Output variables): Variable types SINT USINT/ BYTE BOOL

INT WORD/ UINT DINT/ UDINT/ DWORD REAL Int64 Uint64

from %MB0

from %MB256

from %MB512

from %MB768

to %MB1023

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

A000 A040

1 - 255 1 - 255

A001 A041

1 – 255 1 – 255

A002 A042

1 - 255 1 - 255

A003 A043

1 - 255 1 - 255

A080 A0C0 A100

1 - 255 1 - 128 1 - 128

A081 A0C0 A100

1 – 255 128-255 128-255

A082 A0C1 A101

1 - 255 1 - 128 1 - 128

A083 A0C1 A101

1 - 255 128-255 128-255

A1C0

1 - 64

A1C0

65 – 128

A1C0

129-192

A1C0

193-255

A240 A400 A440

1 - 64 1 - 32 1 - 32

A240 A400 A440

65 – 128 33 – 64 33 – 64

A240 A400 A440

129-192 65 - 96 65 - 96

A240 A400 A440

193-255 97 - 128 97 – 128

Table K.6 Index and Subindex allocation for the TxPDOs Network output variables (from the perspective of the CAN-bus): Read-Write-Variables (RxPDOs) (Note: from the perspective of the Prosyd 1131: Input variables) Variable types SINT USINT/ BYTE BOOL

INT WORD/UI NT DINT/

from %MB0

from %MB256

from %MB512

from %MB768

to %MB1023

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

A480 A4C0

1 - 255 1 - 255

A481 A4C1

1 – 255 1 – 255

A482 A4C2

1 - 255 1 - 255

A483 A4C3

1 - 255 1 - 255

A500 A540

1 - 255 1 - 128

A501 A542

A502 A543

1 - 255 1 - 128

A503 A543

1 - 255 128 - 255

A580

1 - 128

A582

A583

1 - 128

A583

128 - 255

A640

1 - 64

A640

1 – 255 128 – 255 128 – 255 65 – 128

A640

129 -

A640

193 - 255

04 - 68 280 000/A Version 1.0.0

Page K-36

K Communication via CANopen

Variable types

from %MB0 Input ,

from %MB256 Subindex (Offset)

Input ,

Manual digsy®

from %MB512 Subindex (Offset)

Input ,

from %MB768 Subindex (Offset)

to %MB1023

Input ,

Subindex (Offset)

A6C0

193 - 255

A880 A8C0

97 - 128 97 - 128

192

UDINT/ DWORD REAL

A6C0

1 - 64

A6C0

65 – 128

A6C0

Int64 Uint64

A880 A8C0

1 - 32 1 - 32

A880 A8C0

33 – 64 33 – 64

A880 A8C0

129 192 65 - 96 65 - 96

Table K.7 Index and Subindex allocation for the RxPDOs

ATTENTION:

The flag area cannot fully be mapped with the network variables. For more details please refer to the chapter „Mapping in digsy®compact E/ digsy®CGM“.

K.2.1.3 Differences between digsy®compact and digsy®CGM A different assignment of the object directory entries takes only place in the area of the communication characteristics (Communication Characteristics Area). The following indices of the object directory are affected: • • • • •

1000h 1008h 1009h 100Ah and 1018h

All the other entries of the object directory have the same contents or an identical way of treatment.

04 - 68 280 000/A Version 1.0.0

Page K-37

K Communication via CANopen

Manual digsy®

K.2.2 Default settings in digsy®compact / digsy®CGM The following default settings from the object directory are to be emphasized:

K.2.2.1 Default PDOs / Default PDO-Mapping According to the CANopen–standard DS3.02 (V4.01), 4 transmission PDOs (1800H to 1803H) and 4 reception PDOs (1400H to 1403H) are configured as a default setting to the above defined objects. The automatic setting comprises the parameterization (area 1400h..143Fh and 1800h..183Fh) and the mapping (area 1600h..163Fh and 1A00h..1A3Fh). For a standard configuration that means that only the COB-Ids of the additional PDOs are to be set up. Thus, the configuration effort per digsy®compact or digsy®CGM is considerably reduced (even from the point of view of time). All the available TxPDOs are set via default as events with 10ms inhibit-time.

NOTE: Symbol/ PDO-No. Rx.PDO1 Rx.PDO2

Object Index A8C0Hex A8C0Hex

Object SubIndex 1 2

Rx.PDO3 Rx.PDO4

A8C0Hex A8C0Hex

3 4

Symbol/ PDO-No. Tx.PDO1 Tx.PDO2 Tx.PDO3 Tx.PDO4

Object Index A440Hex A440Hex A440Hex A440Hex

Object SubIndex 1 2 3 4

@ Operand %MB1024 %MB1032

Uint64 Uint64

PDO-DIC-Index Param. Mapping 1400hex 1600 hex 1401hex 1601 hex

%MB1040 %MB1048

Uint64 Uint64

1402hex 1403hex

Type

PDO-DIC-Index Param. Mapping 1800hex 1A00 hex 1801hex 1A01hex 1802hex 1A02hex 1803hex 1A03hex

@ Operand %MB0 %MB8 %MB16 %MB24

Type

Uint64 Uint64 Uint64 Uint64

COB-ID (Hex) x=Node-ID(1-32) 00000200 hex + x 00000300 hex + x

1602 hex 00000400 hex + x 1603 hex 00000500 hex + x COB-ID (Hex) x=Node-ID(1-32) 00000180 hex + x 00000280 hex + x 00000380 hex + x 00000480 hex + x

Table K.8 Default-PDOs in the case of digsy®compact E / digsy®CGM For closer details on the network variables please refer to the Chapter K.4.3 „Mapping in digsy®compact E/ digsy®CGM“.

NOTE:

K.2.2.2 NMT-values The following default values exist for nodeguarding: • •

TGuarding := 512 ms Life-time-factor nLIFETIME:= 3

04 - 68 280 000/A Version 1.0.0

Page K-38

K Communication via CANopen

Manual digsy®

K.2.3 Function blocks and functions under PROSYD 1131 K.2.3.1 Introduction The configuration of the CANopen-characteristics of a freely programmable device of the type digsy®compact E / digsy®CGM is to be carried out from the application program, the same applies to the network guarding, the SDO-transfer of process data, the transmission of SYNC-objects and the general error handling. For this, a series of functions and function blocks is available:

NOTE:

Presently, the mechanism of the synchronization via SYNC-objects is not fully implemented yet.

NOTE:

The Chapter K.8 „Error Handling“ provides important aids for an error handling in a running system. It is very advisable to use this means.

NOTE:

The transmission and reception of process data after a successful setup of the default data is automatically effected in the background of the application program.

04 - 68 280 000/A Version 1.0.0

Page K-39

K Communication via CANopen

Manual digsy®

K.2.3.2 Initialization of the CAN-bus and setup of objects K.2.3.2.1

CM_Init(): Setting up a CANopen-node

This function is used as an alternative to the previous function COPINIT(). The parameterization of the network node is to be carried out with the function CM_Init(): • node number • CANopen-slave or CANopen-manager • type of network guarding • type of error handling • type of SYNC-handling Only then will the CANopen – stack be set up. Function : CM_Init() 1131-Library: CANopen401.LIB Application: in CANopen-slave or in CANopen-manager Function symbol: CM_Init NodeId CanSpeed NodeType GuardType EmcyType SyncTime

Function input NodeId

Data type BYTE

CanSpeed

WORD

Description node-Id of CAN-node; range of values 1..32 transmission rate (acc. to CiA): KBD_1000 KBD_500 KBD_250 KBD_125 KBD_100 KBD_50 KBD_20 KBD_10 KBD_800

NodeType

04 - 68 280 000/A Version 1.0.0

BYTE

type of network node: 0 = CANopen–slave 1 = CANopen-manager

Page K-40

K Communication via CANopen

Function input

Data type

GuardType

BYTE

EmcyType

BYTE

SyncTime

WORD

Function output ErrorState

INT

Data type

Manual digsy®

Description >= 2 reserved type of guarding: 0 = no guarding 1 = guarding by master6 10 = heartbeat producer 20 = heartbeat producer + consumer type of error handling: 0 = no emergency message 1 = emergency message – producer 10 = emergency message producer + consumer7 (note: in the data structure TSysOut. en_emergency the emergency messages to be output are filtered) type of SYNC-handling (permissible synchronization): 0 : no Sync < 25 : not permissible >= 25 : Sync-time (should be a multiple of the AWP(application program) cycle time) Description 0 = OK < 0 error number (see Chapter K.2.4)

Example:

Figure K.7 Use of CM_INIT()

NOTE:

After successfully calling CM_Init(), the device is initialized as a CANopennode. This forms the basis for all further steps regarding the CANopen-network (see also Table K.20).

NOTE:

In the case of a new implementation, the function CM_Init() is to be absolutely preferred to the function COPINIT().

6 7

only in the case of CANopen-slave only in the case of CANopen-manager

04 - 68 280 000/A Version 1.0.0

Page K-41

K Communication via CANopen

K.2.3.2.2

Manual digsy®

COPINIT(): Setting up a CANopen-node – DcP/DcE-compatible

NOTE:

This function was used in digsy®compact and continues to be available for compatibility reasons. However, in the case of new implementations it is advisable to use always CM_Init().

The parameterization of the CANopen–node is to be effected with the function COPINIT(). Function : COPINIT() 1131-Library: CANopen401.LIB Application: in CANopen-slave or if an older, already existing implementation is to be adopted. Function symbol: COPINIT NodeId CanSpeed

Function input NodeId

Data type BYTE

CanSpeed

WORD

Description node-Id of CAN-node; range of values 1..32 transmission rate (acc. to CiA): KBD_1000 KBD_500 KBD_250 KBD_125 KBD_100 KBD_50 KBD_20 KBD_10 KBD_800

Function output ErrorState

Data type BOOL

Description TRUE = OK FALSE = error when setting up CANopen

Example:

Figure K.8 Use of COPINIT()

04 - 68 280 000/A Version 1.0.0

Page K-42

K Communication via CANopen

K.2.3.2.3

Manual digsy®

COBADD() : Setting up a new entry in the object directory:

The function COBADD() is available for setting up further CANopen object-directory-entries:

ATTENTION:

The objects have to be set up prior to the CANopen-initialization.

Function : COBADD() 1131-Library: CANopen401.LIB Application: CANopen-slave or CANopen-manager Function symbol: COBADD Index Subindex Attribute DataType DataLen

DefValue Object TransType

Function input Index SubIndex Attribute

Data type WORD BYTE WORD

DataType

WORD

DataLen

BYTE

04 - 68 280 000/A Version 1.0.0

Description

CANopen – Index CANopen – Subindex ATTR_RW, ATTR_RO, in the case of PDOs: extension "PDO_MAP " to be added: e.g., ATTR_RW + PDO_MAP -BOOLEAN -INTEGER8 -INTEGER16 -INTEGER32 -UNSIGNED8 -UNSIGNED16 -UNSIGNED32 -FLOAT -VISIBLE_STRING -OCTET_STRING -DOMAIN object size in bytes: -BOOLEAN :=1 -INTEGER8:=1 -INTEGER16:=2 -INTEGER32:=4

Page K-43

K Communication via CANopen

Function input

DefValue

Data type

TransType

POINTER TO BYTE POINTER TO BYTE WORD

Function output ErrorState

Data type BOOL

Object

Manual digsy®

Description -UNSIGNED8:=1 -UNSIGNED16:=2 -UNSIGNED32:=4 -FLOAT:=4 -VISIBLE_STRING:= max 255 OCTET_STRING:=8 -DOMAIN:=max. 255 bytes pointer to default value ZERO, if not available pointer to the current data object TYPE_TX TYPE_RX Description 0 = not executed 1 = prepared

It is possible to set up objects in the index area 2000H to 5FFFH, 6000h..9FFFh as well as the indices 100Ch, 100Dh, 1016H and 1017H. In this connection, however, it has to be taken into account that PDOs are only defined and mapped in the area of the %QW, %IW and %MW. For this purpose, the extension PDO_MAP is to be additionally inserted in the input word Attribute. Objects which are to be transferred only by means of SDO can be defined in any storage area whatever. If an object is to have several subindices, it has to be taken into account that a subindex 0 is defined with the number of the further subindices. The consistency of complex objects (i.e., with several subindices) is not checked by the system. SDOs can be defined in any storage area with the DataLen := DOMAIN. An SDO, however, is limited to 255 bytes.

ATTENTION:

An SDO defined as a data type DOMAIN can transfer a maximum of 255 bytes.

Example:

Figure K.9 Use of COBADD()

04 - 68 280 000/A Version 1.0.0

Page K-44

K Communication via CANopen

K.2.3.2.4

Manual digsy®

CM_AddNode(): Setting up the node list

To be able to set up further CANopen-nodes it is necessary to make their characteristics known to the CAN-manager or other CANopen-nodes. For each SDO-server in a node the SDO-client belonging to it is set up with this function, in this connection the number of the handle is equal to the node number. Function : CM_AddNode() 1131-Library: CANopen401.LIB Application: CANopen-slave or CANopen-manager Function symbol: COBADD node_no mode guardtime lifetime

Function input node_no

Data type BYTE

mode

BYTE

guardtime lifetime

WORD BYTE

Function output ErrorState

INT

NOTE:

Data type

Description 0 – ill. node number 1-32 number of the node >32 – ill. node number 0 := no guarding mechanism in the case of this node BIT0 : =1 : node guarding BIT1 : =1 : heartbeat BIT4-BIT7 : reserved guard-time or heartbeat-time in [ms] life time factor Description 0 = OK < 0 = error numbers

The guardtime and lifetime entered with CM_AddNode() have to correspond with the values of the node to be set up. Within the scope of this function these values are not transferred to the CANopen-node node_no belonging to it.

The following objects of the object directory are influenced by this function:

04 - 68 280 000/A Version 1.0.0

Page K-45

K Communication via CANopen

Mode Nodeguarding Heartbeat

Guardtime 16#100C 16#1017 := guardtime * lifetime or if lifetime := 0: 16#1617 := guardtime * 1

Manual digsy® Lifetime 16#100D

Table K.9 Objects of the object directory belonging to CM_AddNode()

NOTE:

If, prior to calling the function CM_AddNode(), SDO-channels with the same handle were set up with the function SDOADD(), they are eliminated by the function CM_AddNode() and its own handle is set up instead.

Example: Setting up the CANopen-slave 3 for nodeguarding and the SDO-channel

Figure K.10 Use of CM_AddNode()

04 - 68 280 000/A Version 1.0.0

Page K-46

K Communication via CANopen

K.2.3.2.5

Manual digsy®

CM_Reset():CM_Reset(): Resetting the network settings of the control unit

With this function all static variables of the firmware are reset to the default values. This becomes necessary, if a node is to be initialized anew with CM_Init() or CM_AddNode(). Function : CM_Reset() 1131-Library: CANopen401.LIB Application: CANopen-Manager Function symbol: CM_Reset wMode

Function input wMode

Data type WORD

Function output ErrorState

INT

NOTE:

Objects set up with COBADD() are not reset by this function.

Data type

Description reserved Description 0 = OK < 0 = error numbers

Example:

Figure K.11 Use of CM_Reset()

04 - 68 280 000/A Version 1.0.0

Page K-47

K Communication via CANopen

Manual digsy®

K.2.3.3 NMT and guarding mechanisms K.2.3.3.1

CM_SetNodeState(): Setting the node state

Via the function CM_SetNodeState() the master/manager is in a position to insert either the entire network or single nodes into the working network, i.e., by setting the node states. With CM_GetNodeState() the state of each node can be determined in the master. The following states can be initiated by the master: • RESET • RESET_COM • PREOPERATIONAL • PREPARED • OPERATIONAL Function : CM_SetNodeState( ) 1131-Library: CANopen401.LIB Application: CANopen-Manager Function symbol: CM_SetNodeState node_no cmnd

Function input node_no

Data type BYTE

Cmnd

ECanNetCmnd

Function output ErrorState

INT

04 - 68 280 000/A Version 1.0.0

Data type

Description 0 – entire network 1-32 number of the node >32 – ill. node number 0 = reset Node/Net 1 = reset Comm 4 = STOPPING (set PREPARED) 5 = STARTING (set OPERATIONAL) 127 = INITIALIZING (set PREOPERATIONAL)

Description 0 = OK < 0 = error numbers

Page K-48

K Communication via CANopen

Example:

Figure K.12 Use of CM_SetNodeState()

04 - 68 280 000/A Version 1.0.0

Page K-49

Manual digsy®

K Communication via CANopen

K.2.3.3.2

Manual digsy®

CM_GetNodeState(): Reading the node state of a slave

Via this function the node state of a node is returned.

ATTENTION:

In the case of a foreign node, only the state last received via guarding or heartbeating is returned. If nodes are not guarded (see CM_StartStopGuarding()), they are mapped with the state 1 or, if a boot-up was received, with the state 127, although another node state may exist.

Function : CM_GetNodeState( ) 1131-Library: CANopen401.LIB Application: CANopen-Manager or CANopen- Slave Function symbol: CM_GetNodeState node_no

Function input node_no

Data type BYTE

Description 0 – NET-State (own state) 1-32 - number of the node >32 – ill. node number

Function output node_state

Data type INT

Description 0 < error numbers 1 = INIT 4 = STOPPED (PREPARED) 5 = STARTED (OPERATIONAL) 127 = INITIALIZED (PREOPERATIONAL)

In CANopen-manager and CANopen-slave this function is differently handled:

CANopen-slave

CANopen-manager

Nodeguarding Provides the node status only in the case of an own node number or, in the case of a heartbeat consumer the states of it, too. Provides the currently transmitted guarding value of the node

Table K.10 Functionality in manager and in slave

04 - 68 280 000/A Version 1.0.0

Page K-50

Heartbeat Provides the last state of the guarded node which was entered in the heartbeat list with CM_AddNode() Provides the currently transferred heartbeat producer value of the node

K Communication via CANopen

Manual digsy®

Example:

Figure K.13 Use of CM_GetNodeState()

K.2.3.3.3

CM_StartStopGuarding(): Starting or stopping the network guarding

By means of the function CM_StartStopGuarding () a network or a particular node can be activated for guarding or the guarding mechanism can be deactivated. Guarding of the node/network is only possible in the PREOPERATIONAL-state. Prerequisite: The node to be guarded was set up with CM_AddNode().

ATTENTION:

A prerequisite for this is that the node to be guarded was set up with CM_AddNode().

Function : CM_StartStopGuarding(.) 1131-Library: CANopen401.LIB Application: CANopen-manager or CANopen-slave Function symbol: CM_StartStopGuarding node_no mode

Function input node_no

Data type BYTE

mode:

BYTE

Function output ErrorState

04 - 68 280 000/A Version 1.0.0

Description 0 – entire network 1-32 node number >32 – ill. node number 0: STOP_WATCHING: stop watching BIT1: GUARDING: guarding mode BIT2: HEARTBEATING heartbeat mode BIT1+BIT2: start guarding (only with node_no := 0 for all nodes)

Data type INT

Description 0 = OK < 0 = error numbers

Page K-51

K Communication via CANopen

Function input

NOTE:

Data type

Description > 0 = error with the node, error state if node_no := 0

By calling CM_StartStopGuarding(0,3) the entire network is started. In this connection, the guarding mechanism (node guarding or heartbeat) for the respective node is automatically selected from the internal node list. In the case of an error, this function will be aborted and the number of the affected node is transferred as a return value. Thereby, the guarding mechanism was activated only in the case of those nodes which have been set up with CM_AddNode() before the error node. The cause of the error will be output, if this node is individually started.

Example:

Figure K.14 Use of CM_StartStopGuarding()

04 - 68 280 000/A Version 1.0.0

Manual digsy®

Page K-52

K Communication via CANopen

K.2.3.3.4

Manual digsy®

: CM_Guarding(): Heartbeat and guarding mechanism

After starting the guarding with the function CM_StartStopGuarding() the function CM_Guarding() has to be cyclically called. With this function num participants from the node list generated with CM_AddNode() are guarded. In this connection, the following is to be taken into account: Note on the guardtime: This is the minimum time period. In CM_Guarding() a comparison takes place as to whether or not the node may be guarded again. If the minimum time period is exceeded, guarding is effected, otherwise not before the next call. This does not mean that the guarding takes place exactly at the guardtime. Example: guardtime := 500ms; CM_Guarding() calls the guarding of this node every t≈400ms. Thus it may happen, that the node is only guarded again after t≈800ms. Note regarding the call of CM_Guarding(): With every call only num nodes are guarded at the same time. Example: 2 nodes are to be guarded in the network. In the case of CM_Guarding() num is:= 1. Consequently, the node will try to guard only with every 2nd !! call.

ATTENTION:

The guarding of the nodes is not automatically carried out by the firmware.

Function : CM_Guarding() 1131-Library: CANopen401.LIB Application: CANopen-Manager Function symbol: CM_Guarding num Function input num

Data type BYTE

Function output State

INT

Data type

Description number of nodes to be guarded Description 0 = OK 1 ... 32 failed nodes < 0 = error numbers

Example:

04 - 68 280 000/A Version 1.0.0

Page K-53

K Communication via CANopen

Manual digsy®

Figure K.15 Use of CM_Guarding() Note regarding the reaction in the case of a detection of a node failure: In this connection, when its entry in the node list generated with CM_AddNode() is reached, the failed node will be instantly output and the further execution of the function stopped. Within the scope of error handling it has to be ensured that the guarding is executed (suitable in terms of time) for the further CANopen-slaves (e.g., by repeatedly calling it in the node-failure-handling-routine).

04 - 68 280 000/A Version 1.0.0

Page K-54

K Communication via CANopen

Manual digsy®

K.2.3.4 Functions and function blocks for SDO-transfer As a standard, 40 client and 4 server channels each are reserved for digsy®CGM and digsy®compact E (due to CANopen–manager). In the „predefined connection set“, however, only 1 server-SDO is basically set up. Further SDOs for a node can be set up via the PROSYD1131–function SDOADD(), which, however, is not in conformity with CANopen.

K.2.3.4.1

SDOADD(): Setting up SDO-channels

This function adds an SDO-Client/-Server. It is possible to set up a maximum of 40 SDOclient or 4 SDO-server channels.

NOTE:

In the case of the CANopen-manager the first 32 default-clientchannels are for the function CM_AddNode(), all further channels have to be set up by the user (from channel number 33 to channel number 40).

Function : SDOADD( ) 1131-Library: CANopen401.LIB Application: CANopen-slave or CANopen-manager Function symbol: SDOADD Id1 Id2 SDO_Type

Id1

Function input

Data type WORD

Id2

WORD

SDO_Type

BOOL

Function output SDO_Handle

Data type BYTE

04 - 68 280 000/A Version 1.0.0

Description Client-Tx-Id: 600h+node-ID Server-Tx-Id.: 580h+ node-ID Client-Rx-Id: 580h+ node-ID Server-Rx-Id: 600h+ node-ID TRUE: client-SDO, FALSE: server-SDO Description 0 := error or no further SDO available 1...40 client-handle 1...4 server-handle

Page K-55

K Communication via CANopen

Manual digsy®

The following possibility of distributing unassigned SDO-server-IDs is recommended when using the node-IDs 1..32: Node-Id 1 10 ... 16 ... 31 32

Default 581H + 601H 58AH + 60AH

SDO2 5A1H + 621H 5AAH + 62AH

SDO3 5C1H + 641H 5CAH + 64AH

SDO4 5E1H + 661H 5EAH + 66AH

590H + 610H

5B0H + 630H

5D0H + 650H

5F0H + 670H

59FH + 61FH 5A0H + 620H

5BFH + 63FH 5C0H + 640H

5DFH + 65FH 5E0H + 660H

5FFH + 67FH -

Table K.11 Possibility of distributing unassigned SDO-server-IDs Example:

Figure K.16 Use of SDOADD()

K.2.3.4.2

CM_SDO_RW(): Executing an SDO-transfer

This function block enables an SDO-read or SDO–write transfer. A call of this function is only possible after CM_Init()/COPINIT() has been called up. The maximum data length Length is 255 bytes. Function block: CM_SDO_RW(.) 1131-Library: CANopen401.LIB Application: CANopen-slave or CANopen-manager Function block symbol:

CM_SDO_RW Start Handle Index Subindex Mode Length DataPtr

04 - 68 280 000/A Version 1.0.0

Page K-56

Status ErrorPar1 ErrorPar2 CurrLength

K Communication via CANopen

VAR_INPUT Start

Data type BYTE

Description SDO_NONE:=0: FB not active SDO-transfer SDO_READ:=1 activate FB for read transfer SDO_WRITE:=2 activate FB for write transfer later optional SDO_READ_BLK SDO_WRITE_BLK

Handle

BYTE

Master: client 1-32: corresponds with node-ID, 33-40 = handle from SDOADD() Slave: client 1-40: node-ID to be addressed CANopen-object index CANopen-object subindex reserved object length in [BYTE] presently a maximum of 255 bytes is possible

WORD BYTE BYTE WORD

DataPtr

POINTER TO BYTE

VAR_OUT

Data type INT

Error_Par1 Error_Par2 CurrLength

WORD WORD WORD

Start := SDO_READ: destination of the read data Start := SDO_WRITE: source of the data to be written

Description 0: transfer is finished >0: transfer is still active 0: transfer active no message is output ) NO_ERROR := 16#01 -> normal message is output WARNING := 16#02 -> warnings are output USER_ERROR := 16#04 -> user error is output APP_ERROR := 16#08 -> application error is output SYS_ERROR := 16#10 -> system error is output 16#1F -> all are output TSystemIn.CanType SYSIN_CanType 1 -> CANopen-manager 0 -> CANopen-slave TSystemIn.CanNodeState SYSIN_CanNodeState Own CANopen node-status TSystemOut.set_CanType SYSOUT_setCanType Setting the own node state (only if CANopen-manager) TSystemOut.set_CanNodeState SYSOUT_setCANNodeState presently without function TSystemOut.en_emergency SYSOUT_EnableEmergency Mask for EMERGENCY-outputs on the CAN-bus: ( default: 0 -> no message is output ) NO_ERROR := 16#01 -> normal message is output WARNING := 16#02 -> warnings are output USER_ERROR := 16#04 -> user error is output APP_ERROR := 16#08 -> application error is output SYS_ERROR := 16#10 -> system error is output 16#1F -> all are output (ATTENTION: in the case of a value > 0, the value set in TSystemCfg.en_emergency will be overwritten)

04 - 68 280 000/A Version 1.0.0

Page K-66

K Communication via CANopen

Manual digsy®

K.2.5.2 digsy®CGM Data structures TSystemCGMIn.CanType

Adjustable control configuration SYSIN_CanType

TSystemCGMIn.CanNodeState TSystemCGMOut.set_CanType

SYSIN_CanNodeState SYSOUT_setCanType

TSystemCGMOut.set_CanNodeState TSystemCGMOut.en_emergency

SYSOUT_setCANNodeState SYSOUT_EMCY_MASK

04 - 68 280 000/A Version 1.0.0

Page K-67

Description 1 -> CANopen-Manager 0 -> CANopen-Slave own CANopen-node-state setting the own node status (only if CANopen-manager) presently without function mask for EMERGENCY-outputs on the CAN-bus: ( default: 0 -> no message is output) NO_ERROR := 16#01 -> normal message is output WARNING := 16#02 -> warnings are output USER_ERROR := 16#04-> user error is output APP_ERROR := 16#08 -> application error is output SYS_ERROR := 16#10 -> system error is output 16#1F -> all are output

K Communication via CANopen

Manual digsy®

K.2.6 Summary The following table gives an overview of the usable functions or function blocks in dependence on the implementation in a CANopen-manager or a CANopen-slave: Function / Function block CM_Init COPINIT() COBADD() CM_AddNode() CM_Reset() CM_SetNodeState() CM_GetNodeState() CM_StartStopGuarding() CM_Guarding() SDOADD() CM_SDO_RW() SDOTRANS() CM_DCFTrans() CM_PDO_Sync()

CANopen-Manager X X X X X X X X X X X X X X

CANopen-Slave X X X X X X X X X -

Table K.13 Overview of the functions / function blocks regarding the application

04 - 68 280 000/A Version 1.0.0

Page K-68

K Communication via CANopen

Manual digsy®

K.3 SDO-Transfer K.3.1 Basics An SDO functions according to the Client/Server principle. Between 2 network participants a logic point-to-point connection is established. An SDO always transfers an object from the object directory of a network participant. Access is effected via index and via subindex. An SDO always contains the index and the subindex of an object-directory-entry. There a 3 types of SDO-transfers: • • •

Segmented transfer (normal SDO-transfer) Expedited transfer (expedited transfer for a small data volume (max. 4 bytes)) Block transfer (transfer of a very large data volume)

K.3.1.1 Segmented SDO-transfer In general, the segmented SDO-transfer is used for the transfer of data. A segmented SDOtransfer consists of the following 2 functional groups: 1. Initiate SDO-down-/upload: Here, the client asks the server, whether it is allowed to receive (download) or to transmit (upload) data. Thus, it generates a request to the SDO-server (initiate SDO-down-/upload) and transfers the index and the subindex of the object directory entry to be influenced as well as the data length. The SDO-server replies with an SDO-response (initiate response). The confirmation message (response) to it contains an activation of the transfer or a rejection of the initiated transfer. 2. Upon activation of the transfer the data are segmented, i.e., transferred in blocks of up to 7 bytes per request cycle, until the requested data length has been completely transferred. The following figure shows the corresponding flow diagram:

04 - 68 280 000/A Version 1.0.0

Page K-69

K Communication via CANopen

Manual digsy® Server

Client Initiate SDO Upload/ Initiate SDO-Download Initiate Response Upload SDO-Segment/ Download SDO-Segment + Data Upload SDO-Segment response + Data/ Download SDO-Segment Response Upload SDO-Segment/ Download SDO-Segment + Data Upload SDO-Segment response + Data/ Download SDO-Segment Response

Figure K.20 Format for segmented SDO-write or SDO-read operations Since the introducing SDO-transfer has different individual SDO-transfer types, it is here once again explained in more detail: Client Request

Server Data 4 Byte

Subindex 1 Byte

Index 2 Byte

Status field 1 Byte

Confirmation

Indication

Response Statusfeld 1 Byte

Index 2 Byte

Subindex 1 Byte

Reserved 4 Byte

Figure K.21 Initiate SDO-download

NOTE:

04 - 68 280 000/A Version 1.0.0

The message data of the SDO-transfer are in the status field. For closer details on its contents please refer to the CANopen-specification DS301 V4.01.

Page K-70

K Communication via CANopen

Manual digsy®

K.3.1.2 Expedited SDO download The protocol of the expedited SDO-transfer is similar to that of the segmented SDO-transfer. The transfer, however, was modified so that only the block of the „Initiate SDO Download“ is used. The SDO-client generates only once a request to the SDO-server which in turn replies only once. Thus, it is only possible to transfer the index, subindex and a data field of a size of max. 4 bytes. In this connection, the data field Data does not contain the length of the data field to be transferred but the data themselves are transmitted in it.

K.3.1.3 Block transfer In the case of the „Block transfer“ the segments transferred in the „segmented SDO-transfer“ are combined to blocks which are then transferred in series. In this connection, only the single blocks are confirmed, not every single segment.

K.3.2 SDO-transfer in the case of digsy®compact E/ digsy®CGM The following functions and function blocks are available for the SDO-transfer: • • •

SDOADD() CM_SDO_RW() CM_DCFTrans()

If a network node plays the role of the CANopen-manager, an SDO-channel has to be set up in it for each CANopen-slave known to it.

K.3.2.1 SDOADD() When implementing a CANopen-manager it is necessary to set up an SDO-client for each CANopen-slave-node set up with CM_AddNode(). For this, the function SDOADD() is to be used. By means of it, additional SDO-clients or SDO-servers can be set up (see also Chapter K.2.3.4.1 SDOADD(): Setting up SDO-channels).

NOTE:

The call of SDOADD() has to be effected prior to calling CM_AddNode().

To be able to call data of all the other CANopen–slaves/manager from an identified CANopennode, it is necessary to set up an additional SDO-channel each. Since the dynamic SDO-allocation is not yet implemented in digsy®compact E or digsy®CGM, the reading node has to set up the appropriate client-channels (not the Default-SDO-channels !!!!) and each digsy®compact E / digsy®CGM the corresponding additional server-SDO-channel. This approach is not in conformity with CANopen! To accelerate the data transfer, it is possible to set up several SDO-channels for each digsy®compact E/ digsy®CGM. This also involves the setup of a default-node to be newly parameterized.

04 - 68 280 000/A Version 1.0.0

Page K-71

K Communication via CANopen

Manual digsy®

K.3.2.2 CM_SDO_RW() A segmented SDO-transfer is carried out with the function block CM_SDO_RW(). In this context, the input value Start determines, whether an SDO-download or an SDO-upload is to take place. The input value Handle determines the SDO-channel to be used. As described in Chapter K.3.1.1, the following is needed for the SDO-initiation: the object entry index Index, its subindex Subindex, and the data length Length of the data to be transferred. From this follows that these are the required input data for the segmented SDO-transfer. The data which are then in the segments transferred or received, are stored in the data field towards which the pointer DataPtr is directed. Depending on the data length, this SDO-transfer can take a relatively long time, so that the Output variable Status includes various options. If Status > 0, the SDO-transfer is still active. In the case of Status < 0, an error has occurred. If Status := CM_OK, the transfer has been successfully completed. In this connection, see also Chapter K.2.3.4.2 CM_SDO_RW(): Executing an SDOtransfer. Example: In this case, the heartbeat-producer-time of node 13 is to be changed to the time tPRODUCER=2500ms. This value is stored as a WORD-variable in the object directory under index 16#1017 and subindex 16#01. If this entry is made, the heartbeat-producer-time for this node will change:

Figure K.22 Changing the heartbeat-producer-time via SDO-transfer for node 13

04 - 68 280 000/A Version 1.0.0

Page K-72

K Communication via CANopen

Manual digsy®

K.3.2.3 CM_DCFTrans() This function block represents a special adaptation of the function block CM_SDO_RW(). With it, only an „expedited SDO-download“ is possible, i.e., the maximum data length Length is 4 bytes. If the value of Totalnum := 1, exactly one SDO-transfer will be carried out. This is explained by the following table, in the case of which an identical SDO-download with CM_SDO_RW() and CM_DCFTrans() is initiated: Value INPUT: Start SDO-channel Index Subindex Length No. of SDO-transfers Pointer towards data OUTPUT: Status ErrorPar1 ErrorPar2 CurrNum CurrPtrData

CM_SDO_RW()

CM_DCFTrans()

TRUE Handle := 3 16#1017 1 2 DataPtr (pointer to Length-size element)

TRUE Node_No := 3 TConDCF-element Idx := 16#1017 TConDCF-element SubIdx := 1 TConDCF-element Length := 2 TotalNum := 1 PtrData (pointer to TConDCF-element)

Error handling Additional error value Additional error value -

Error handling Additional error value Additional error value Initiated SDO-transfers -> here max. 1 In this case on PtrData

Table K.14 Identical SDO-transfer with CM_SDO_RW() and CM_DCFTrans() With the number of SDO-transfers TotalNum the process of the SDO-transfer can be automated to the effect that a complete list of SDOs in the mode-format is automatically transferred with a single start. Since for setting up the COB-identifier and for the mapping of the individual PDOs an „expedited SDO-download“ is sufficient, this function block is predestined for this application (see Chapter K.4.1.2 „Basic information on digsy®compact E/“). The following Figure shows how via CM_DCFTrans() 5 SDOs are transferred to node 3. For this, TxPDO5 is set up with COB-Id 16#2A3 for the transmission of 2 bytes each:

04 - 68 280 000/A Version 1.0.0

Page K-73

K Communication via CANopen

Figure K.23 Example regarding CM_DCFTrans()

In the CANanalyzer the execution of this program looks as follows: Num Time Id Data -----------------------------------------------------------------------------------------------------------------821 00:52:40.193.6 603 23 05 18 01 A3 02 00 00 #...£... 822 00:52:40.203.1 583 60 05 18 01 00 00 00 00 `....... 823 00:52:40.236.1 603 2F 05 1A 00 00 00 00 00 /....... 824 00:52:40.256.4 583 60 05 1A 00 00 00 00 00 `....... 825 00:52:40.298.1 603 23 05 1A 01 08 29 40 A0 #....)@ 826 00:52:40.300.6 583 60 05 1A 01 00 00 00 00 `....... 827 00:52:40.325.8 603 23 05 1A 02 08 2A 40 A0 #....*@ 828 00:52:40.327.7 583 60 05 1A 02 00 00 00 00 `....... 829 00:52:40.351.1 603 2F 05 1A 00 02 00 00 00 /....... 830 00:52:40.376.6 583 60 05 1A 00 00 00 00 00 `.......

Figure K.24 CANanalyzer-output

04 - 68 280 000/A Version 1.0.0

Page K-74

Manual digsy®

K Communication via CANopen

Manual digsy®

K.4 Mapping and COP-ID-setup in digsy®compact / digsy®CGM K.4.1 Basics K.4.1.1 General For the data exchange, each CANopen-node has process-data-objects(PDO). In this connection, a difference is to be made between PDOs which are already set up and cannot be changed any more (static system) and PDOs that can be set up in a user-related way (dynamic system). In principle, the data exchange via PDOs has the following features: • • • •

A transmitted PDO (TxPDO) has a definite identifier (COB-Id) which is exclusively assigned to it. This PDO can be received by several reception-PDOs (RxPDO). In this connection, their identifier must be identical with that of the RxPDO(s). The data contents of the PDOs (Rx- and Tx-page) belonging together have to be known and must be defined with the same data length. The data field of the PDOs must be identically configured, i.e., both the TxPDO and the RxPDO(s) should be of the same data type(s).

For setting up the COB-Ids or for mapping, the following indices are provided for under CANopen: Index in CANopen-object -directory 16#1400 + number of PDO (max. 16#1FF acc. to DS301) 16#1600 + number of PDO (max. 16#1FF acc. to DS301) 16#1800 + number of PDO (max. 16#1FF acc. to DS301) 16#1A00 + number of PDO (max. 16#1FF acc. to DS301)

Meaning COB-Identifier RxPDO Mapping RxPDO COB-Identifier TxPDO Mapping TxPDO

Table K.15 Meaning of the relevant indices in the object directory

The following figure shows this principle. The CANopen-node with the node-Id 3 has a TxPDO1 with the COB-ID := 16#0183 and transfers a data word of a size of 64 bits. Each of the CANopennodes 2, 4, 12, and 22 has an RxPDO1 with the COB-ID := 16#0183 and thus, when data are transferred with this COB-identifier via the CAN-network, they can receive these data. Since they too have been configured in a way such that they are able to receive a data word of a size of 64 bits a data exchange is carried out:

04 - 68 280 000/A Version 1.0.0

Page K-75

K Communication via CANopen

Manual digsy®

CANopen-Network Node-Id 4 (Receiver)

Node-Id 2 (Receiver) Index 16#1400 16#1600

Index 16#1400 16#1600

Subindex Value 16#01 16#00000183 16#01 16#A8C00140

Subindex Value 16#01 16#00000183 16#01 16#A8C00140

Node-Id 12 (Receiver) Index 16#1400 16#1600

Node-Id 3 (Transmitter) Index 16#1800 16#1A00

Subindex Value 16#01 16#00000183 16#01 16#A4400140

Subindex Value 16#01 16#00000183 16#01 16#A8C00140

Node-Id 22 (Receiver) Index 16#1400 16#1600

Subindex Value 16#01 16#00000183 16#01 16#A8C00140

Figure K.25 Principle of data exchange via PDO

How the data exchange via PDOs functions in the case of digsy®compact / digsy®CGM: In digsy®CGM and digsy®compact E the PDO-data are stored in the flag area. A clearly defined memory location in the flag area, which is allocated to the PDO, is the interface for the date exchange via the CAN-Bus:

DCE

CGM Flag area

Flag area TxPDOs

RxPDOs

TxPDOs

CAN-Bus

RxPDOs

Figure K.26 Principle of data exchange via PDOs in the case of digsy®compact / digsy®CGM

04 - 68 280 000/A Version 1.0.0

Page K-76

K Communication via CANopen

Manual digsy®

However, it is necessary to make a setting in order to allocate ranges of values, memory areas and identifiers to the individual PDOs. In this connection, the data field for the COB-identifiers contains the number of the identifier; the data field of a size of 32 bits, however, has the following basic structure:

MSB

LSB

Index (16 Bit)

Subindex (8 Bit)

Data length (8 Bit)

Figure K.27 Structure of a mapping-entry

K.4.1.2 Basic information on digsy®compact E/ digsy®CGM K.4.1.2.1

Structure of the Config-objects for an SDO-transfer to the CANopen-nodes

For the configuration of CANopen-manager and CANopen-slaves the following structure is to be defined in the Prosyd 1131: TYPE TConDCF : STRUCT Idx: SubIdx: Length: LData: END_STRUCT END_TYPE

WORD; BYTE; BYTE; DWORD;

(* CANopen-Object-Index *) (* CANopen-Object-SubIndex *) (* Data length of the object or data field to be transferred*) (* 32Bit Data field *)

By means of this structure it is possible to generate several lists (e.g., for the CANopen-manager and for the respective CANopen-slave-nodes). With the function block CM_DCFTrans() the elements of this structure are transmitted via SDO-transfer to the individual participants (see also example project in Chapter K.9.3 „Implementation of the CANopen-manager“).

K.4.1.2.2

COB-Identifier-setup

Via the COB-identifier the PDOs are linked to the individual CANopen-nodes. As the DS301 V4.0 indicates, in CANopen the identifiers in the area 16#0181 – 16#077Fh are available for the PDOs. Consequently, identifiers not used according to this arrangement may be freely assigned in the network.

K.4.1.2.3

Re-mapping process

04 - 68 280 000/A Version 1.0.0

Page K-77

K Communication via CANopen

Manual digsy®

The re-mapping process consists of the following steps: 1. Reset mapping: the subindex 0 used in the CANopen-object-directory for PDO-mapping is to be written on with the value 0. 2. Configuration of the PDO: the data in the format acc. to Figure K.27 are to be written on with the individual subindices (larger 0) and here the subindex determines the object to be mapped. 3. Declaring the mapping valid: the subindex 0 used in the CANopen-object-directory for PDOmapping is to be written on with the number of the subindices transmitted in point 2 (a maximum of 8 entries is possible). The following example shows the CANanalyzer-output of a configuration of the RxPDO9 of node 3 with 3 INT-values and the identifier of the PDO to be received with the value 16#1C2: Num Time Id Data -----------------------------------------------------------------------------------------------------------------89 00:00:34.127.4 603 23 08 14 01 C2 01 00 00 #...Â... 90 00:00:34.129.9 583 60 08 14 01 00 00 00 00 `....... 91 00:00:34.142.8 603 2F 08 16 00 00 00 00 00 /....... 92 00:00:34.157.7 583 60 08 16 00 00 00 00 00 `....... 93 00:00:34.168.1 603 23 08 16 01 10 21 40 A5 #....!@¥ 94 00:00:34.171.8 583 60 08 16 01 00 00 00 00 `....... 95 00:00:34.183.2 603 23 08 16 02 10 22 40 A5 #...."@¥ 96 00:00:34.185.9 583 60 08 16 02 00 00 00 00 `....... 97 00:00:34.198.5 603 23 08 16 03 10 23 40 A5 #....#@¥ 98 00:00:34.199.9 583 60 08 16 03 00 00 00 00 `....... 99 00:00:34.208.8 603 2F 08 16 00 03 00 00 00 /....... 100 00:00:34.216.4 583 60 08 16 00 00 00 00 00 `.......

Figure K.28 CANanalyzer-output For digsy®CGM and digsy®compact E, the appropriate list in the CDCF-format, which is transferred with the function block CM_DCFTrans(), looks as follows:

Figure K.29 CDCF-list of the example

K.4.2 Setting up the COB-Ids In digsy®CGM and digsy®compact E the following COB-identifiers are set up by Default:

TxPDO-Number TxPDO1

04 - 68 280 000/A Version 1.0.0

COB- Identifier 200h + node number

RxPDO-Number RxPDO1

Page K-78

COB-Identifier 180h + node number

K Communication via CANopen

TxPDO-Number TxPDO2 TxPDO3 TxPDO4

COB- Identifier 300h + node number 400h + node number 500h + node number

RxPDO-Number RxPDO2 RxPDO3 RxPDO4

Manual digsy® COB-Identifier 280h + node number 380h + node number 480h + node number

Table K.16 Default-COB-Ids in digsy®CGM and digsy®compact E If further COB-Ids are to be set up or existing ones are to be changed, a reconfiguration has to be carried out. As the DS301 V4.0 shows, in CANopen the identifiers in the area 16#0181 – 16#077Fh are available for the PDOs. Consequently, identifiers not used according to this arrangement may be freely assigned in the network. Example: Setting up the COB-identifiers of 16 TxPDO (in this case, e.g., node 2)

Figure K.30 Setting up the COB-identifiers of 16 TxPDOs

04 - 68 280 000/A Version 1.0.0

Page K-79

K Communication via CANopen

Manual digsy®

K.4.3 Mapping in digsy®compact E/ digsy®CGM In this context, the specification CiA DSP-405 is used as a basis. In the process image, additional certain segments with fixed indices and fixed allocations to the addresses are defined. In this connection, there exists a linear mapping between index and address. Within digsy®CGM and digsy®compact E the complete flag area (presently %MB0 to %MB2047) can be mapped to the CAN-bus. The network variables can be addressed in the flag area. In total, there are 2048 bytes available within this area (%MB0..%MB2047). Within the scope of the IEC-standard 1131 the memory allocation is as follows: Data type[%..] Int8/Uint8 INT16/UINT16 INT/UINT32 8-String REAL (32Bit) LREAL (64Bit) UINT64 (64Bit)

MB0

MW

MB1

0 MD SO MD

MB2

MW 0 CT 0

MB3

1

MB4

MW

MB5

2 MD

MB6

MW 1

MB7

3

0 MD

1

...

M2044 M2045 M2046 M2047

... ... ... ... ... ... ...

MW SO MD

1022 MD CT 511

MW 511 255

1023

Figure K.31 Memory allocation of the flag area in the IEC 1131 Within the flag area the lower 1024 bytes are usable for the TxPDOs, whereas the upper 1024 bytes are used for the RxPDOs. Consequently, the TxPDOs start from %MB0 and the RxPDOs from %MB1024. The RxPDOs, however, are to be counted up from „0“, too, i.e., %MB1024 corresponds with the subindex(or Offset) 0. In the case of an access via the CAN-bus the index and subindex are given. The index indicates both the data type and thus its data width, too. The appropriate address can be calculated as follows: Offset = (Subindex - 1) * Data width Equation K.1 Offset determination Consequently, the following subdivision results for the network-objects: Network input variables (from the perspective of the CAN-bus): Read-Only-variables (TxPDOs) (Note: from the perspective of the Prosyd 1131: output variables): Variable types SINT USINT/ BYTE BOOL

INT

from %MB0

from %MB256

from %MB512

from %MB768

to %MB1023

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

A000 A040

1 - 255 1 - 255

A001 A041

1 – 255 1 – 255

A002 A042

1 - 255 1 - 255

A003 A043

1 - 255 1 - 255

A080 A0C0

1 - 255 1 - 128

A081 A0C0

1 – 255 128-255

A082 A0C1

1 - 255 1 - 128

A083 A0C1

1 - 255 128-255

04 - 68 280 000/A Version 1.0.0

Page K-80

K Communication via CANopen

Manual digsy®

Variable types

from %MB0

WORD/ UINT DINT/ UDINT/ DWORD REAL Int64 Uint64

A100

1 - 128

A100

128-255

A101

1 - 128

A101

128-255

A1C0

1 - 64

A1C0

65 – 128

A1C0

129-192

A1C0

193-255

A240 A400 A440

1 - 64 1 - 32 1 - 32

A240 A400 A440

65 – 128 33 – 64 33 – 64

A240 A400 A440

129-192 65 - 96 65 - 96

A240 A400 A440

193-255 97 - 128 97 – 128

from %MB256

from %MB512

from %MB768

to %MB1023

Table K.17 Index and subindex allocation for the TxPDOs

Network output variables (from the perspective of the CAN-bus): Read-Write-variables (RxPDOs) (Note: from the perspective of the Prosyd 1131: input variables) Variable types SINT USINT/ BYTE BOOL

from %MB0

from %MB256

from %MB512

to %MB1023

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

Input ,

Subindex (Offset)

A480 A4C0

1 - 255 1 - 255

A481 A4C1

1 – 255 1 – 255

A482 A4C2

1 - 255 1 - 255

A483 A4C3

1 - 255 1 - 255

A500 A540

1 - 255 1 - 128

A501 A542

A502 A543

1 - 255 1 - 128

A503 A543

1 - 255 128 - 255

A580

1 - 128

A582

A583

1 - 128

A583

128 - 255

A640

129 192

A640

193 - 255

129 192 65 - 96 65 - 96

A6C0

193 - 255

A880 A8C0

97 - 128 97 - 128

WORD/UI NT DINT/ UDINT/ DWORD REAL

A640

1 - 64

A640

1 – 255 128 – 255 128 – 255 65 – 128

A6C0

1 - 64

A6C0

65 – 128

A6C0

Int64 Uint64

A880 A8C0

1 - 32 1 - 32

A880 A8C0

33 – 64 33 – 64

A880 A8C0

INT

from %MB768

Table K.18 Index and subindex allocation for the RxPDOs

ATTENTION:

Since the subindex (Offset) can address a maximum of 254 elements, it is for consistency reasons - on the index boundaries partly not possible to allocate flag areas within the IEC-1131-notation.

Example: Via the index A4C0h a data area of a size of 1 byte is indicated. Thus, according to the Equation K.1, the flag byte %MB254 is occupied by the maximum offset 255 (FFh). According to Table K.18 , however, the following next larger index A4C1h, Offset 1 lies on the flag byte %MB256. Hence, there exists a flag byte %MB255 which therefore cannot be allocated.

04 - 68 280 000/A Version 1.0.0

Page K-81

K Communication via CANopen

Manual digsy®

In digsy®CGM and digsy®compact E it is possible to set up a maximum of 64 TxPDOs and 64 RxPDOs each. The communication objects are predefined and set up through the initialization of CANopen. In this connection, the following setting (Default mapping) is applicable: RxPDO 1 2 3 4 5 : 64 TxPDO 1 2 3 4 5 : 64

Communication parameter index (16#14xx) 16#1400 16#1401 16#1402 16#1403 16#1404 : 16#143F Communication parameter index (16#18xx) 16#1800 16#1801 16#1802 16#1803 16#1804 : 16#183F

Default value of the Mapping Default value of communication index mapping parameter (16#16xx) 16#A8C0|01|40 16#200 + Node-Id 16#1600 16#A8C0|02|40 16#300 + Node-Id 16#1601 16#A8C0|03|40 16#400 + Node-Id 16#1602 16#A8C0|04|40 16#500 + Node-Id 16#1603 16#A8C0|05|40 16#80000000 (inactive) 16#1604 : : : 16#A8C0|40|40 16#80000000 (inactive) 16#163F Default value of the Mapping Default value of communication index mapping parameter (16#1Axx) 16#A440|01|40 16#180 + Node-Id 16#1A00 16#A440|02|40 16#280 + Node-Id 16#1A01 16#A440|03|40 16#380 + Node-Id 16#1A02 16#A440|04|40 16#480 + Node-Id 16#1A03 16#A440|05|40 16#80000000 (inactive) 16#1A04 : : : 16#A440|40|40 16#80000000 (inactive) 16#1A3F

Memory area PROSYD 1131 %MB1024..%MB1031 %MB1032..%MB1039 %MB1040..%MB1047 %MB1048..%MB1055

%MB1528..%MB1535

Memory area PROSYD 1131 %MB0..%MB7 %MB8..%MB15 %MB16..%MB23 %MB24..%MB31

%MB504..%MB511

Table K.19 Default mapping in digsy®CGM and digsy®compact E This default mapping has the advantage that the PDOs, e.g., when transmitting words or double words, do not have to be re-mapped (reconfigured) and that the setting of the communication object index is sufficient in order to use the PDO. If other allocations to the individual PDOs are to be formed, re-mapping is necessary. The mapping value Ldata (length: 4 bytes) from the structure TConDCF consists of index, subindex and data length[bit]:

MSB

LSB

Index (16 Bit)

Subindex (8 Bit)

Data length (8 Bit)

Figure K.32 Structure of an object-mapping-entry for digsy®CGM and digsy®compact E

Example: The 2nd TxPDO is to be mapped in the flag area from %MB8 to %MB15 and is to consist of the following data structure:

04 - 68 280 000/A Version 1.0.0

Page K-82

K Communication via CANopen

MSB %MB15

%MB14

WORD

%MB13

%MB12

%MB11

WORD

BYTE

Manual digsy®

%MB10

%MB9

BYTE

BYTE

LSB %MB8 BYTE

Figure K.33 Contents of the example-TxPDO The SDO-transfer with CM_DCFTrans(), by means of which this PDO is set up, consists of the following data in the CDCF-format:

Figure K.34 Mapping data of the example-PDO in Prosyd 1131

04 - 68 280 000/A Version 1.0.0

Page K-83

K Communication via CANopen

Manual digsy®

K.4.4 Mapping of slaves – in this case with DIGSYcompact In digsy®compact every communication object first has to be set up with the function COPADD(). There are no default-PDOs like in digsy®compact E. The access from the CANopen-manager is effected according to the specified object with the dynamic objects lying in the index range from 16#2000 to 16#2FFF. The memory area, where the data of the Tx- or RxPDOs lie, is freely selectable. It is advisable, however, to deposit all data in the flag area.

NOTE:

In the digsy®compact, no objects are arranged in the initialization part, since the used object types and object lengths are not yet known. The PDOs will only be dynamically arranged by the setup via the CANopenmanager.

In the DcP too, the mapping value Ldata of a length of 4 bytes consists of index, subindex and data length[bit]:

MSB

LSB

Index (16 Bit)

Subindex (8 Bit)

Data length (8 Bit)

Figure K.35 Structure of an object-mapping-entry for digsycompact Explanatory example: The data word 16#iiiissll to be mapped shall be occupied with the value 16#20400908. In this connection, iiii := 16#2040 corresponds with the index of COBADD(); ss := 16#09 is the subindex of COBADD() and ll := 16#08 (data length 8 bits) corresponds with the entry Len of COBADD(). Example: In the DcP, communication objects are arranged which are set up via the CANmanager. The data of the TxPDOx and RXPDOx have been defined in the flag area.

Figure K.36 Setting up the communication objects in the DcP-Slave

04 - 68 280 000/A Version 1.0.0

Page K-84

K Communication via CANopen

Manual digsy®

Here, these set up objects are entered in the manager (digsy®compact E or digsy®CGM) in the COB-list and later, when setting up the network, they are allocated during the runup:

Figure K.37 Mapping list of these communication objects in the CANopen-manager

04 - 68 280 000/A Version 1.0.0

Page K-85

K Communication via CANopen

Manual digsy®

K.4.5 Mapping of slaves – in this case with CGC The CGC has 32 input areas(%IW) and 32 output areas(%QW). Each of these areas includes a memory size of 128 bytes or 64 words. The CGC is accessed via word or bit operations. The access from the CANopen-manager is effected according to the specified object with the dynamic objects lying in the index range from 16#2100 to 16#2FFF.

NOTE:

Within the CGC, no objects are arranged in the initialization part, since the used object types and object lengths are not known yet. The PDOs will only be dynamically arranged by the setup via the CANopen-manager.

In the CGC too, the mapping value Ldata of a size of 4 bytes consists of index, subindex and data length[Bit]:

MSB

LSB

Index (16 Bit)

Subindex (8 Bit)

Data length (8 Bit)

Figure K.38 Structure of an object-mapping-entry for the CGC

The meaning of index and subindex is illustrated in the figure below:

04 - 68 280 000/A Version 1.0.0

Page K-86

K Communication via CANopen

Manual digsy®

Specification of the object-index and subindex for IW and QW accesses in CGC: 2

Index Typ. x

x

Subindex y y

Word index (1...64) Group index 16#01 IW1.yy ... 16#40 IW64.yy 16#81 ... 16#C0

QW1.yy QW64.yy

1 2 3 4 5 6 7 8 9 A B C F

BOOLEAN_k INTEGER8 INTEGER16 INTEGER32 UNSIGNED8 UNSIGNED16 UNSIGNED32 (FLOAT) not used VISIBLE_STRING OCTET_STRING TIME_OF_DAY TIME_DIFFERENCE VISIBLE_STRLEN

Figure K.39 Use of index and subindex in the CGC Example: The data word 16#2txxyyll to be mapped is to be occupied with the value 16#268A0110. In this case, the following applies t := 6 (WORD); xx := 16#8A (10); yy := 16#01 (1) -> xx.yy is here the data word %QW10.1 of the CGC and ll := 16#10 (data length 16 bits) The figure shows the list entries for 5 TxPDOs; each TxPDO consists of 4 WORD-variables each:

04 - 68 280 000/A Version 1.0.0

Page K-87

K Communication via CANopen

Figure K.40 Example of a COB-ID and mapping list for the CGC

04 - 68 280 000/A Version 1.0.0

Page K-88

Manual digsy®

K Communication via CANopen

Manual digsy®

K.4.6 Mapping of slaves – in this case standardized nodes acc. to DS301 In standardized CANopen-nodes acc. to the CiA-specification DS301 V4.01 for I/Omodules the input and/or output values are firmly deposited from index 6000h. In the case of these nodes the mapping value Ldata of a length of 4 bytes consists of index, subindex and data length[Bit]:

MSB

LSB

Index (16 Bit)

Subindex (8 Bit)

Data length (8 Bit)

Figure K.41 Structure of an object-mapping-entry Explanatory example: The first 32 digital inputs are allocated to the TxPDO1 of the CANopennode. According to DS301 V4.01 they are in the object directory under the index 6000h and the subindices 1 and 2 with a data length of 16 bits each. The data word 16#iiiissll to be mapped is to be occupied with the value 16#60000110 and 16#60000210. In this connection, iiii := 16#6000 corresponds with the index of the object directory; ss := 16#01 or 16#02 is the subindex of the object directory and ll := 16#10 (data length 16 bits) corresponds with the data length, since, according to the object directory, in this case WORDvariables are transferred.

Figure K.42 Setting up the communication objects in CANopen-nodes acc. to DS301 V4.01 These set up objects are entered in the CANopen-manager (digsy®compact E or digsy®CGM) in the COB-list and later, in the setup of the network, they are allocated during the runup.

04 - 68 280 000/A Version 1.0.0

Page K-89

K Communication via CANopen

K.5 Sequencer

Manual digsy®

for setting up a CANopen-network digsy compact -/ digsy®CGM as a manager

with

®

K.5.1 Steps of the runup sequencer When configuring a network it is advisable to use the existing example projects regarding the CANopen-manager or the CANopen-slaves as a basis. The entire sequencer is processed or executed in the program CAN_Manager(). In this sequencer every step is based on the previous step. We start from the fact that the CAN-network has been reset. INITIALIZATION STAGE: 1. Initialization: Initialization of the CAN-node with the functionality of the CANopen-network manager. -> see function F_Init_CAN() -> CM_Init(). CONFIGURATION STAGE: 2. Setting up the nodes belonging to the network: All the nodes which are used in this network have to be made accessible to the master F_Step1_Init() -> CM_AddNode(). Each node must have been successfully set up in order to be able to carry out the next step. 3. Starting the guarding of the individual nodes: Starting the guarding of the nodes used in the network. IMPORTANT: Each used node is to be guarded. See F_Step2_StartGuard() -> CM_StartStopGuarding(), F_Step3_Guarding() ATTENTION: The guarding should only be started if it has been ensured that each of the used CAN-nodes is really ready. So, for instance, after a network reset of CAN-nodes of the Intercontrol Company it takes approx. t≈500ms until the node sends its Bootup-message and consequently has taken the node state PREOPERATIONAL. If the guarding mechanism Nodeguarding is started before the Bootup-message, a guarding error can occur as a consequence of which the sequencer can no longer be processed. 4. Evaluating the guarding result: Checking whether or not the network can be set up -> Each and every node to be set up must be PREOPERATIONAL. This evaluation is to be made only after it has been ensured that a nodeguard-response or a heartbeat has arrived and been processed. If the nodes can be set up, the CDCF-list(device configuration(Mapping) is to be allocated to the respective node) F_Step4_WaitPreop() 5. Mapping of the CANopen-network: F_Step5_InitDCF(): In this step the SDO-transfer or the self-setup is implemented, by means of which the communication objects are set up and the mapping of the individual nodes is effected. 6. Stopping the network (optional): When all the nodes have been mapped, the network will be stopped. Only one node, which is active on the network, can carry out the state change PREOPERATIONAL->PREPARED/STOPPED (a little more safety that the nodes carried out the mapping and that there was a reaction to the manager. Besides, in the PREPARED-state neither an SDO-exchange nor a PDO-exchange is possible). This happens at the end of F_Step5_InitDCF() 7. If step 6. has been carried out: Check as to whether all nodes have been stopped. F_Step7_Preop().

04 - 68 280 000/A Version 1.0.0

Page K-90

K Communication via CANopen

Manual digsy®

NETWORK-RUN: 8. Starting the network: Network is started -> Switch to OPERATIONAL. F_Step8_Prepared(). Only from now on can the process data (PDOs) be exchanged. The following figure shows in this connection the use of the individual functions or function blocks regarding the sequences in the CANopen-network: CAN-stage Initialization

Configuration

RUN

-

Used functions and function blocks COBADD() CM_Init() COPINIT() CM_AddNode()

-

CM_StartStopGuarding() CM_Guarding()

-

CM_GetNodeState() CM_SetNodeState()

-

CM_DCFTrans() CM_SDO_RW() CM_StartStopGuarding() CM_Guarding()

-

CM_GetNodeState() CM_SetNodeState()

-

CM_SDO_RW()

-

CM_PDO_Sync()

Table K.20 Use of the functions and FBs depending on the „State“ in the CANopen-network

K.5.2 Keeping to the times between the individual steps As regards the processing of the sequencer there are time dependencies between the individual steps. Step sequence Call of CM_Init() until the call of function CM_StartStopGuarding() if guarding-mechanism Nodeguarding (Time t2)

04 - 68 280 000/A Version 1.0.0

Reason During the call of CM_Init() the entire network is reset. Each node has different times until it is responsive in the network again (Bootup-message) If Nodeguarding has been started, a Bootup-message will cause a guarding error

Page K-91

Time required At least the point of time until the node is responsive on the network again (Bootup), in this connection please mind the worst case t ≈ 500ms (should be sufficient)

K Communication via CANopen

Step sequence Call of CM_StartStopGuarding() of a node until inquiry PREOPERATIONAL in the step F_Step4_WaitPreop() (Time t3) Setting the node to the PREPARED-state in F_Step5_DCFTrans() until this state is inquired in the step F_Step7_Preop() (Time t5)

Manual digsy®

Reason In the case of started Nodeguarding, the request of the CANopen-manager must be answered; in the case of a started heartbeat consumer at least one heartbeat of the node must have been received In the case of started Nodeguarding, the request of the CANopen-managers must be answered; in the case of a started heartbeat consumer at least one heartbeat of the node must have been received

Time required Call of CM_Guarding() (one time) is to be waited out. In the case of heartbeat at least tHeartbeat-producer Call of CM_Guarding() (one time) is to be waited out In the case of heartbeat at least tHeartbeat-producer

Table K.21 Time dependencies

The following figure shows these time dependencies: t1

t2

t3

t4

c

d d d d

t5

t6

Master

c

e

d d d d

N4

c

c

d

d

e

d

d

N5

c

c

d

d

e

d

d

N6

c

c

d

e

d

N7

c

Sign

c d e

A

c B

d

d Ce

D

Legend: Meaning Bootup-message Heartbeat or Nodeguarding SDO-transfer HIGH-level: active on the bus LOW-level: inactive on the bus

Figure K.43 Graphical representation of the runup according to the time aspect

04 - 68 280 000/A Version 1.0.0

Page K-92

d

dE

K Communication via CANopen

Manual digsy®

Point of time A (call of CM_Init()): It must be ensured that all the participants to be set up by the CANopen-manager are available in the network. If this is not the case, the node not available at this point of time has to be individually set up. Point of time B (call of CM_StartStopGuarding()): During the call of CM_Init() a reset of the entire network will be effected. Each node has a different time until it is responsive in the network again (indicated by the Bootup-message). ATTENTION: In the case of started Nodeguarding, a received bootup-message causes a guarding error and a deactivation of the guarding. Point of time C (inquiry of the node state PREOPERATIONAL): No matter whether Heartbeat or Nodeguarding, within the period t3 at least one guarding message each (which contains the node state of the node(s)) must have been received. In the case of started Nodeguarding the request of the CANopen-manager must have been answered, in the case of a started Heartbeat-consumer at least one heartbeat of the node must have been received. In this connection, one has to start out from the worst case, i.e., the decisive factor is the longest guarding time or heartbeat-producertime. Point of time D (setting the network to the PREPARED-/STOPPED-state): Only if all the nodes in the network have been set up can the network be set to this state. In the PREPARED state neither SDO-transfer nor PDO-transfer is possible. Point of time E (inquiry of the node state PREPARED/STOPPED): See point of time D. In the case of started Nodeguarding the request of the CANopen-manager must have been answered, in the case of a started Heartbeat-consumer at least one heartbeat of the node must have been received. In this connection, one has to start out from the worst case, i.e., the decisive factor is the longest guarding time or heartbeat-producer-time.

04 - 68 280 000/A Version 1.0.0

Page K-93

K Communication via CANopen

Manual digsy®

K.6 PDO-Transfer K.6.1 PDO: Transfer of values in the REAL-format The CANopen-specification DS301 V4.01 explicitly defines how values in the REAL-format are transferred via the CAN-bus. The compilers, by means of which the firmware of the individual CANopen-nodes was generated, however, have no standard for this. Consequently, it may happen that CANopen-compliant devices transfer REAL-values in a different way.

DIFFERENCE:

The transfer and storage of the first 16 bits of the value (Low-16Bit) and of the higher significant 16 bits of the value (High-16Bit) are effected in a different order.

Device type A (e.g., digsy®compact E, digsy®CGM): Storage of the „High-16Bit“ BEFORE the „Low16Bit“ (this applies both to transmission and reception) Device type B: Storage of the „High-16Bit“ AFTER the „Low-16Bit“ (this applies also both to transmission and reception) If in a CANopen-network REAL-values are transferred from a device of the type A to a device of the type B (or if they are, vice versa, received by it), the „Low-16Bit“ and the „High-16Bit“ are stored in reverse order and thus the numerical value will be misinterpreted. If REAL-values are only transferred among devices of the A-type or of the B-type, the REAL-values require no special treatment and there are no problems. Workaround: Exchanging/swapping the „Low-16Bit“ and the „High-16Bit“ as a step prior to transmitting the REAL-PDO or receiving the REAL-PDO. For this purpose, there exists a function WordSwapOfAReal() in the library CANopen401.lib.

Figure K.44 Swapping the „Low-16Bit“ and the „High-16Bit“ of REAL-values

ATTENTION:

04 - 68 280 000/A Version 1.0.0

Most of the documentation does not explicitly include the treatment of the REAL-values, so that the implementation requires very careful testing.

Page K-94

K Communication via CANopen

Manual digsy®

K.7 NMT Guarding mechanisms In a CANopen-network the individual nodes have to be monitored with regard to their state in the network. For this mechanism the following functions of the library CANopen401.lib are available: • • • • •

CM_Init() CM_AddNode() CM_StartStopGuarding() CM_Guarding() CM_GetNodeState()

K.7.1 Bootup process After switching on the device or after a node reset, a CANopen-node goes automatically over to the node state PREOPERATIONAL. At this stage, the CANopen-node sends a Bootup-message over the network. The CANopen-manager in the network receives this message, provided that this CANopen-node was set up in it (setup with CM_AddNode()). In this connection, it is not necessary that the guarding mechanism has been started. The following table explains this principle: Example: CANopen-slave-node 3 vs. CANopen-manager State of slave-node 3 Off/Reset Switched on (Boot-up), afterwards PREOPERATIONAL Off/Reset Switched on (Boot-up), afterwards PREOPERATIONAL

Execution state of CM_AddNode(3,x,y,z) in the CANopen-manager Not executed Not executed

Return of CM_GetNodeState(3) in CANopen-Manager

Executed Executed

INIT (1) PREOPERATIONAL (127)

CM_NOT_EXISTANT CM_NOT_EXISTANT

Table K.22 Bootup-recognition in digsy®compact / digsy®CGM

K.7.2 Nodeguarding Nodeguarding can only be carried out by the CANopen-manager. It sends a request to each node to be guarded and receives, as an answer from it, the respective node state. (See also Chapter K.1.2.3.1 Nodeguarding). In the digsy®compact E or digsy®CGM the following must be set up and used for the Nodeguardingmechanism: 1. Initialization as CANopen-manager through the function CM_Init() 2. Each node to be guarded must have been set up with the function CM_AddNode(). In this connection, it is important that the entries guardtime correspond with the entry 16#100C of the object directory of the slave-node and lifetime with the entry 16#100D of the object directory of the slave-node.

04 - 68 280 000/A Version 1.0.0

Page K-95

K Communication via CANopen

Manual digsy®

Note: If other guarding times than those of the object directory are to be used, they can be adapted by the CANopen-Manager via an SDO-transfer. This, however, should be done prior to starting the guarding. 3. Start of the guarding or of the nodeguarding with the function CM_StartStopGuarding(). The guarding mechanism will only be active after successfully executing this function. The guardtime (from CM_AddNode()) is the minimum time in the course of which guarding is possible. In CM_Guarding() a comparison takes place as to whether the node may be guarded again or not. If the minimum period guardtime is exceeded, guarding takes place, otherwise the next call is waited out. Consequently, this does not mean that the guarding takes place exactly at the guardtime. Example: guard-time := 500ms; CM_Guarding() calls the guarding of this node every t≈400ms. Thus, it may happen that the node will only be guarded again after t≈800ms.

ATTENTION:

The guarding of the nodes is not automatically carried out by the firmware. Consequently, the application program (AWP) must ensure that CM_Guarding() is called as often as necessary.

Reaction in the case of a guarding error in the digsy®compact E or digsy®CGM: Slave: When a guarding failure is detected (tFailure=guardtime * lifetime) the own node state will be set to PREOPERATIONAL and an entry into the error memory is effected. Master: In the case of a slave-node failure the nodeguarding-mechanism will be deactivated after tFailure=guardtime * lifetime. A failure is visible via the return value of the function CM_Guarding(). Besides, an entry in the error memory is effected. The nodeguarding-mechanism can be restarted by carrying out point 3.

K.7.3 Heartbeat The guarding of the nodes can be carried out both from the CANopen-manager and from the CANopen-slaves. In contrast to nodeguarding this requires no central point which manages the guarding. Thus CANopen-slaves can monitor CANopen-slaves, too.

RECOMMENDATION:

If a CANopen-node supports both nodeguarding and heartbeat, the heartbeat is to be used preferentially in an application.

Heartbeat-producer: In digsy®compact E or in digsy®CGM the Default-heartbeat-producer-time (object directory 16#1017) is tPRODUCER:= 0ms. Consequently, a default value has to be given to this time prior to the CAN-initialization. This is done by setting up the communication object for the index 16#1017 via the COBADD()-function. After successfully carrying out the CAN-initialization, the CAN-node automatically sends its life sign (node state) in tPRODUCER-intervals via the CAN-bus. The following example shows an initialization with the defined tPRODUCER:= 512ms.

04 - 68 280 000/A Version 1.0.0

Page K-96

K Communication via CANopen

Manual digsy®

Figure K.45 Setting the heartbeat-producer-time in the case of digsy®compact E/ digsy®CGM

Heartbeat-consumer: Via the function CM_AddNode() the node to be guarded can be set up and be made accessible with its node-characteristics to the heartbeat-consumer. In this connection, it has to be taken into account that the value of mode := 2 (see also section K.2.3.2.4 CM_AddNode(): Setting up the node list). When the CANopen-node is set up, the guarding can be started with CM_StartStopGuarding(x,2). In a CANopen-slave-configuration the guarding is effected by calling the function CM_GetNodeState(), in a CANopen-manager-configuration it is also possible to use additionally the function CM_Guarding(). Functions CM_GetNodeState() CM_Guarding()

Manager x x

Slave X Not usable

Table K.23 HB-consumer-functions in digsy®compact / digsy®CGM Reaction in the case of a guarding error in digsy®compact E or digsy®CGM: A failure becomes visible by a change of the node state of the heartbeat-producer to be guarded to the state 1(INIT) by means of the function CM_GetNodeState(). In a CANopen-manager-configuration a failure can be noticed with the function CM_Guarding() too, since the node number of the affected heartbeat-producer is mapped in it as a return value. Example of an evaluation:

04 - 68 280 000/A Version 1.0.0

Page K-97

K Communication via CANopen

Manual digsy®

Figure K.46 Guarding evaluation when using the heartbeat-consumer

ATTENTION:

04 - 68 280 000/A Version 1.0.0

In the CANopen-Manager, after a guarding error, the guarding mechanism has to be restarted with CM_StartStopGuarding(). In the slave-node this is not necessary.

Page K-98

K Communication via CANopen

Manual digsy®

K.8 Error Handling K.8.1 Introduction CANopen-devices generate so-called „Emergency-messages“ by means of which error events or messages are signalized. The emergency-message is specified in DS301 V4.01. It has the following identifier with which it is output on the CAN-bus: Identifier:

16#80 + node number

The message has a length of 8 bytes and looks as follows: Byte Contents

0 1 Emergency Error Code (see table)

2 Error Register (Object 16#1001)

3

4 5 6 Manufacture Specific Error Field

7

Table K.24 Data contents of the emergency-object For the Emergency Error Code in CANopen the following classification applies to the „MostSignificant-Byte“ of this code word: Error Code (hexadecimal) 00xx 10xx 20xx 21xx 22xx 23xx 30xx 31xx 32xx 33xx 40xx 41xx 42xx 50xx 60xx 61xx 62xx 63xx 70xx 80xx 81xx 8110 8120 8130 8140 82xx 8210 8220

04 - 68 280 000/A Version 1.0.0

Meaning Error Reset or No error Generic error Current Current, device input side Current, input current Current, device output side Voltage Principal voltage Input voltage Output voltage Temperature Ambient temperature Device temperature Hardware of the device Software of the device Firmware Application program Data set Additional modules Monitoring Communication CAN Overrun (loss of CAN-messages) CAN in Error passive mode Life guard or Heartbeat error Recovered from bus off Protocol error PDO not accepted due to data length error PDO-data length exceeded

Page K-99

K Communication via CANopen

Error Code (hexadecimal) 90xx F0xx FFxx

Manual digsy® Meaning

External error Additional functions Device-specific

Table K.25 Emergency Error Codes

K.8.2 Functionalities regarding digsy®compact E / digsy®CGM

the

emergency-objects

in

digsy®compact and digsy®CGM feature an integrated error mechanism which can also be used via the application program. In this connection, there are 2 possibilities: • •

Reading of an error/a message (emergencies) and entry in the own error memory Generation of errors/messages from the application program

K.8.2.1 Basic user-functions regarding the error memory K.8.2.1.1

GetNextError(): Inquiring the error memory

With this function the internal error memory can be read out. Only one error or message is read out at a time. In this connection, the FIFO-principle (first in, first out) applies, which ensures that no entry gets lost. Function block: 1131-Library: Application:

GetNextError Dcompact50x.lib, CGM01_10x.lib; Prosyd.lib in CANopen-manager or in CANopen-slave

GetNextError Code Location Channel Para1 Para2

Function output Code

Data type WORD

Location Channel Para1 Para2

WORD DWORD WORD WORD

04 - 68 280 000/A Version 1.0.0

Description Error code acc. to „Emergency Error Code“classification Error location Channel number or address Additional parameter 1 Additional parameter 2

Page K-100

K Communication via CANopen

K.8.2.1.2

GetNextErrorTS():

Manual digsy®

Inquiring the error memory with time

indication This function block is an extension of the function block GetNextError(). In addition, the point of time of the occurred error or of the occurred message is output, too. Function block: 1131-Library: Application:

GetNextErrorTS Dcompact50x.lib, CGM01_10x.lib; Prosyd.lib in CANopen-manager or in CANopen-slave

GetNextErrorTS Code Location Channel Para1 Para2

timestamp

Function output Code

Data type WORD

Location Channel Para1 Para2 timestamp

WORD DWORD WORD WORD DWORD

Description Error code acc. to „Emergency Error Code“classification Error location Channel number or address Additional parameter 1 Additional parameter 2 Point of time, i.e., here, the time of the system timer is filed

Example: see Chapter K.8.2.2 „Reading-out an emergency message“

K.8.2.1.3

SetNextError(): Generating an error / a message

In this function block an error or a message is generated from the application program. This generated message/error is exactly treated like an error generated by the digsy®compact and the digsy®CGM itself, i.e., it is entered in the internal error memory and, if necessary, output via the CAN-bus. Function block: 1131-Library: Application:

04 - 68 280 000/A Version 1.0.0

SetNextError Dcompact50x.lib, CGM01_10x.lib; Prosyd.lib; Prosyd42.lib in CANopen-manager or in CANopen-slave

Page K-101

K Communication via CANopen

Manual digsy®

SetNextError Code Location Channel Para1 Para2

Function input Code

Data type WORD

Location Channel Para1 Para2

WORD DWORD WORD WORD

Description Error code acc. to „Emergency Error Code“classification (see note) Error location Channel number or address Additional parameter 1 Additional parameter 2

Example: see Chapter K.8.2.3 „Generating emergency messages“

K.8.2.1.4

Emergency-variables in data structures or of the adjustable control configuration

With the variable en_emergency it is possible for the user to output only certain emergencymessages via the CAN-bus. For this, a mask is placed over the function input or output Code. This is documented in the Chapter K.2.5 „CAN-variables in data structures or in the control configuration“. Note: There is no difference between an error/a message generated by the system itself and an error/a message generated by the user. The following classification is applicable: Number 0 16#01 16#02 16#04 16#08 16#10 16#1F

Symbolic name NO_ERROR WARNING USER_ERROR APP_ERROR SYS_ERROR -

Meaning No message output Output of messages Output of warnings Output of user error Output of application error Output of system error Output of all errors/messages (logic OR-operation of the numbers of this table)

Table K.26 Allocation of en_emergency

04 - 68 280 000/A Version 1.0.0

Page K-102

K Communication via CANopen

Manual digsy®

K.8.2.2 Reading-out an emergency message The function blocks SetNextError() and SetNextErrorTS() described above are used in order to provide the contents of the internal error memory to the user.

ATTENTION:

Since the internal error memory is a ring buffer, the internal error memory has to be prevented from overflowing by regularly reading out the entries.

Appearance of an error memory entry: The variables Code and Location belonging to the error memory entry define the main selection criteria for the classification of an entry: Code: Here, a code according to the classification of Table K.25 is deposited. For a detailed description of all possible entries/codes and their respective meanings please refer to the „Manual digsy®CGM“ or the „Manual digsy®CGM“. Location: This WORD-variable is divided up into 2 bytes which include the following classifications: • MSB: Classifying the significance according to Table K.26 • LSB: Area where the error / message occurred: Area designation ERR_LOCAT_OS ERR_LOCAT_1131_LZS ERR_LOCAT_DIGIN ERR_LOCAT_DIGOUT ERR_LOCAT_ANIN ERR_LOCAT_PWM ERR_LOCAT_ COUNTER ERR_LOCAT_ FLASH ERR_LOCAT_ RETAIN ERR_LOCAT_ MEASURE ERR_LOCAT_ HARDWARE ERR_LOCAT_ CANOPEN

Area Operating system 1131-Runtime system (firmware area) Digital inputs Digital outputs Analog inputs PWM-outputs Counter Flash-ROM Retain data Measurement inputs Hardware CANopen

Value 1 2 16#10 16#11 16#12 16#13 16#14 16#15 16#16 16#17 16#18 16#19

Table K.27 Locations in DIGSYcompact Example: Location := Meaning:

ATTENTION:

04 - 68 280 000/A Version 1.0.0

16#0212; 16#02xx -> a warning is output 16#xx12 -> the message was generated in the area of the analog inputs As a CANopen-Slave the MSB of the variable Location is changed in a transmission via the CAN-bus: MSB: - 16#80 (external error)

Page K-103

K Communication via CANopen

Manual digsy®

In the case of an implementation as a CANopen-manager the messages or error messages of the individual slaves can thus be unambiguously received and are available for the user. In the variable Channel the node number of the transmitting node is deposited in the „Most-Significant-Word“. Example: The figure shows the basic sequence for a read-in of the internal error memory in the user error memory ErrorHist:

Figure K.47 Sequence for reading-in the error memory

K.8.2.3 Generating emergency messages Via the function block SetNextError() it is possible to generate your own messages or error messages. In this connection, the nomenclature of the error coding should correspond with that of the digsy®compact and digsy®CGM, in order to avoid a non-ambiguity of the message. This applies particularly to the variables Code and the MSB of Location. For user-specifically generated messages/errors the following areas are available for the input variable Code:

04 - 68 280 000/A Version 1.0.0

Page K-104

K Communication via CANopen

Error Code –> Code 16#0000..16#0FFF 16#6200..16#62FF 16#FF00..16#FFFF

Manual digsy®

Comments None Partly occupied, please refer to the Chapter Error Coding in the „ digsy®compact“ or „digsy®CGM“ manual None

Table K.28 Usable Error Codes for the user

Example: With every thousandth call a message will be generated which is entered in the internal error memory and possibly (occupation of en_emergency) transmitted via the CAN-bus:

Figure K.48 Example of generating an error message

04 - 68 280 000/A Version 1.0.0

Page K-105

K Communication via CANopen

Manual digsy®

K.9 Example Project K.9.1 Task definition The following example shows how to set up a CANopen-network with 2 digsy®compact E-control units and a digsy®CGM. The following constellation applies: • • • • •

The network will be operated with a baud rate of 250 kBauds. Node number of the manager: 2 (in this case a digsy®compact E) Node numbers of the slaves: 3 (in this case a digsy®compact E) and 5 (in this case a digsy®CGM) The NMT guarding mechanism is heartbeat, and in this connection both the manager and the slave are consumer and producer for all nodes in the network The following PDOs are to be transmitted or received:

COB-ID TxPDO1

16#182

TxPDO2

16#282

TxPDO3

16#382

TxPDO4

16#482

RxPDO1

16#183

RxPDO2

16#283

RxPDO3

16#185

RxPDO4

16#282

Node 2 Mapping 4 WORD to %MB0..7 4 BYTE 1 DWORD to %MB8..15 2 BYTE to %MB16..17 2 REAL to %MB24..31 1 DWORD to %MB1024..1027 8 BYTE to %MB1032..1039 3 WORD to %MB1040..1045 1 BYTE to %MB1048

COB-ID 16#183

Node 3 Mapping

COB-ID

Node 5 Mapping

1 DWORD to %MB0..3 8 BYTE to %MB8..15

16#185

Inactive

Default

Inactive

Default

Inactive

Default

Inactive

Default

16#182

4 WORD to %MB1024..1027 4 BYTE 1 DWORD to %MB1032..1039 2 BYTE to %MB1040..1041 1 BYTE to %MB1048

16#283

8 BYTE to %MB1024..1031 4 BYTE 1 DWORD to %MB1032..1039 2 REAL to %MB1040..1047 Default

16#283

16#282 16#382 16#285

16#285

16#282 16#482 Inactive

3 WORD to %MB0..5 1 BYTE to %MB8

Table K.29 PDO-setup in the example network • • •



Via a user-SDO a data field of a size of 200 bytes is to be transmitted from the manager to the slave 3 and read out from it, too. The CANopen-network always starts with node 2 and node 3. Node 5, as soon as it is available, will be set up for the network without any effects on the remaining network. Reaction in the case of a node failure: Failure of node 3: During the failure of this node, the entire network is set to PREOPERATIONAL; the network will be newly set up and started as soon as this node is again available in the network. Failure of node 5: The node will be newly set up and started as soon as this node is again available in the network. Entries in the error memory are to be evaluated and both in the CAN-manager and in a slave an own message shall be generated.

04 - 68 280 000/A Version 1.0.0

Page K-106

K Communication via CANopen

Manual digsy®

K.9.2 Implementation of the CANopen-slave-nodes The configuration of the slaves is very easy. The following points have to be set up: a.) CAN-initialization b.) Determining the PDO-memory areas according to configuration c.) Setting up the guarding mechanism

K.9.2.1 CAN-Initialization It is necessary to set up the requirements for the CANopen-nodes called for in Chapter K.9.1 Task definition. For this purpose, the initialization is to be carried out in the IEC1131-program CAN_Init() once: -

Setup of possibly required additional COB-identifiers or those to be changed and their meaning with COBADD(). CANopen-initialization as a slave-node with CM_Init(), in this connection, the heartbeatproducer is started with the initialization. Setup of the heartbeat-consumer-values for the guarding of the other nodes with CM_AddNode()

The following figure shows the appropriate initialization steps for slave-node 3:

04 - 68 280 000/A Version 1.0.0

Page K-107

K Communication via CANopen

Manual digsy®

Figure K.49 Initialization of CANopen-slave-node 3

K.9.2.2 PDO-Setup In the slave-node, the memory areas used for the PDOs have to be defined in the flag area. In this connection, the memory positions defined in Chapter K.9.1 Task definition are applicable which are set up in the slave-node by the CANopen-manager during the runup. The following figure shows the memory allocation for the PDOs in slave-node 5:

04 - 68 280 000/A Version 1.0.0

Page K-108

K Communication via CANopen

Manual digsy®

Figure K.50 Memory allocation of the PDOs in slave-node 5

K.9.2.3 Guarding mechanism In the slave-node the guarding is implemented by means of the heartbeat-consumer. The guarding is effected in every AWP(application program)-cycle in the 1131-program P_Guarding(). As soon as the slave-node has been set to OPERATIONAL, the guarding will be started. The slave-node can now receive the node states of the nodes to be guarded and thus, if necessary, react to changes in their states:

Figure K.51 Excerpt from the guarding routine in slave-node 3

04 - 68 280 000/A Version 1.0.0

Page K-109

K Communication via CANopen

Manual digsy®

K.9.2.4 SDO-transfer The communication object where the data field is to be transferred to is to be set up in slavenode 3. This is to be done with COBADD() prior to the initialization:

Figure K.52 Setting up the communication object for the data field

K.9.2.5 Error evaluation in slave-node implementations As compared with a CANopen-manager-implementation the only difference here is that slavenodes do not receive the emergency-messages of other nodes. In this case too, a further specification of the individual errors or messages can be effected. This has the advantage that it is possible to accept only the important messages, whereas the less important ones are rejected, since in the internal error memory all errors or messages are stored. The following figure shows the sequence for storing the „real“ errors in the user error memory:

Figure K.53 Filtering the errors of the internal error memory

04 - 68 280 000/A Version 1.0.0

Page K-110

K Communication via CANopen

Manual digsy®

K.9.3 Implementation of the CANopen-manager Basically, the configuration of the CANopen-managers does not differ from that of a slave-node. In this case too, the following points have to be set up: a.) CAN-initialization b.) Determining the PDO-memory areas according to configuration c.) Setting up the guarding mechanism The CANopen-manager-characteristics have to be implemented as well: d.) Runup sequencer for setting up the network e.) Network management Here, in addition, the f.) SDO-Transfer is set up, too.

K.9.3.1 CAN-Initialization It is necessary to set up the requirements for the CANopen-manager which are called for in the Chapter K.9.1 Task definition. For this purpose, the initialization in the IEC1131-function F_Init_CAN() is to be carried out once: -

Setup of possibly required additional COB-identifiers or those to be changed and their meaning with COBADD() CANopen-initialization as a manager with CM_Init(), in this connection, the heartbeat-producer is started with the initialization Initializing the runup sequencer

The following figure shows the appropriate initialization steps for the manager:

Figure K.54 Initialization of the CANopen-manager node 2

04 - 68 280 000/A Version 1.0.0

Page K-111

K Communication via CANopen

Manual digsy®

K.9.3.2 PDO-Setup In this case too, the memory areas used for the PDOs have to be defined in the flag area. In this connection, the memory positions defined in Chapter K.9.1 Task definition apply, which the CANopen-manager sets up in itself during the runup: The following figure illustrates the memory utilization for the PDOs in the CANopen-manager:

Figure K.55 Memory allocation of the PDOs in the manager

K.9.3.3 Guarding mechanism The implementation of the guarding mechanism is a bit more complicated than in the case of the slave-nodes. It is effected in the 1131-program P_Guarding(). According to the task definition in Chapter K.9.1 the two slave-nodes are to be differently treated with regard to their guarding reaction. In this connection, the network situations indicated in the following figure can result: active

Node 2 CAN-manager

active

Node 3 Slave:

active inactive

active

Node 5 Slave: inactive Point of time:

1

inactive 2

3

3a 4

Figure K.56 Time representation of the network states

04 - 68 280 000/A Version 1.0.0

active

Page K-112

5 5a

6

K Communication via CANopen

Manual digsy®

The following table gives a description of the network states and indicates the reaction of the CANopen-manager-node 2 at the individual points of time: Point of time 1

2

3

3a

4

5

5a

6

Node states

Reaction

Node 2: active (node state change to > 1 The CAN-manager-node 2 is connected to (INIT)) the network and configures node 3 which is Node 3: active (node state > 1 (INIT)) active, too. Afterwards, both nodes are in the Node 5: inactive (node state = 1 (INIT)) network, i.e., in the node state OPERATIONAL Node 2: active (node state > 1 (INIT)) Node 5 sends its bootup-message and the Node 3: active (node state > 1 (INIT)) first heartbeat. Thus, it will be recognized by Node 5: inactive (node state change to > 1 the node 2 as being active and configured (INIT)) and then it is in the status OPERATIONAL in the network, too. Node 2: active (node state > 1 (INIT)) Node 3 becomes inactive (state change from Node 3: active (node state change to 1 greater than 1 to 1). (INIT)) Node 5: inactive (node state > 1 (INIT)) Node 2: active (node state > 1 (INIT)) Node 2 has recognized that and the function Node 3: active (node state = 1 (INIT)) CM_Guarding() signals a failure of the node. Node 5: inactive (node state > 1 (INIT)) The entire network is now set to PREOPERATIONAL. Node 2: active (node state > 1 (INIT)) Node 3 is active again. The manager node 2 Node 3: active (node state change to > 1 recognizes that, configures the entire network (INIT)) anew and sets then the entire network to Node 5: inactive (node state > 1 (INIT)) OPERATIONAL. Node 2: active (node state > 1 (INIT)) Node 5 becomes inactive (state change from Node 3: active (node state > 1 (INIT)) greater than 1 to 1). Node 5: inactive (node state change to 1 (INIT)) Node 2: active (node state > 1 (INIT)) Node 2 has recognized that and the function Node 3: active (node state > 1 (INIT)) CM_Guarding() signals a failure of the node. Node 5: inactive (node state = 1 (INIT)) The guarding of the node is restarted with CM_StartStopGuarding(), in order to recognize when it becomes active in the network again. Node 2: active (node state > 1 (INIT)) Node 5 is active again. The manager node 2 Node 3: active (node state > 1 (INIT)) recognizes that, configures the node 5 anew Node 5: inactive (node state change to > 1 and sets then the node to OPERATIONAL. (INIT)) Table K.30 Description of the time states acc. to Figure K.56

In this example, the 1131-program P_Guarding() is called every AWP(application program)-cycle. The implemented program sequence looks as follows:

04 - 68 280 000/A Version 1.0.0

Page K-113

K Communication via CANopen

Manual digsy®

Figure K.57 Program flow of the guarding in CANopen-manager-node 2 It is visible that, in the evaluation of the guarding, the runup of the network is called as a functionality to be executed.

04 - 68 280 000/A Version 1.0.0

Page K-114

K Communication via CANopen

Manual digsy®

K.9.3.4 Runup sequencer for setting up the network In this program, there are the following sequences as regards the runup sequencer for setting up this CANopen-network: 1. 2.

Network runup, in the case of which the node 3 is set up and in which the setup of node 5 is only optionally effected (if it is available in the network). Runup sequencer for setting up node 5 as soon as it has been recognized as being existent or active in the network.

K.9.3.4.1

Setting up node 3, optionally node 5

The setup of the network is carried out according to the process described in Chapter K.5 „Sequencer for setting up a CANopen-network with digsy®compact -/ digsy®CGM “. After successfully initializing node 2 as a manager, the runup sequencer in the 1131-program CAN_Manager() is called. In the first step STEP_INIT the relevant nodes in it are set up in the 1131-funktion F_Step1_Init() with the function CM_AddNode(). After the node guarding has been started in the next step STEP_STARTGUARD, a period of time at least as long as the longest heartbeat-producer-time of the relevant nodes has to be waited out until it is checked whether or not the nodes are existent in the network. In step STEP_WAITPREOP it is checked, whether the relevant nodes are available in the network. The optional node 5 will only be taken into account in the further course of the sequencer, if it is available in the network with a node state of >1(INIT). In the next step STEP_INIT_DCF the actual setup of the node(s) is effected. In it, the lists, in which the „Expedited SDOs“ saved in the format CDCF are stored, are transmitted to the relevant nodes. The list belonging to node 3 includes the following program parts: • In Global_Variables in CANList_N3, in which the defined list Node_03_DCF of the type TConDCF is declared • In the folder initNodes the function F_Init_Node3(), in which this list with the applicable values is initialized When this transfer is successfully completed, the network will be set to PREPARED. In this network state neither an SDO nor a PDO transfer is possible. This network state will be evaluated in the following step STEP_PREOP. In this case it is necessary too that a defined period of time has to be waited out which is at least as long as the longest heartbeat-producer-time of the relevant nodes. If the network is set to PREPARED, the network can be started in the next step STEP_PREPARED by setting it to the OPERATIONAL state. From now on an exchange of the process data can be effected. If an error occurs in one of the steps of the runup sequencer, the step STEP_ERROR, within which the complete network will be started or setup anew, will be immediately activated. The following figure shows the sequence of the individual steps:

04 - 68 280 000/A Version 1.0.0

Page K-115

K Communication via CANopen

Manual digsy®

Figure K.58 Complete sequencer of the CANopen-manager

K.9.3.4.2

Individual setup of the node 5

Since the setup of node 5 is not to have an influence on the remaining network, the setup of this node does not cause a state change in the network. If the node in the network is recognized as being active (see point of time 2 in Chapter K.9.3.3 Guarding mechanism), in the 1131-program STEP_N5_INITDCF the CDCF-list Node_05_DCF will be transferred to this node via SDO. After successfully carrying out this step, the node 5 will be set to PREPARED and after waiting out a defined period of time, which is at a least as long as the longest heartbeat-producer-time of node 5, the step STEP_N5_PREPARED will be called. Within it, it is checked whether the node 5 has taken this state PREPARED, and if yes, the node 5 will be set to OPERATIONAL. From now on, an exchange of process data with this node is possible.

04 - 68 280 000/A Version 1.0.0

Page K-116

K Communication via CANopen

Manual digsy®

K.9.3.5 Network management One of the CANopen-manager's most important characteristics is the network management. Only the CANopen-manager may change the node states in a CANopen-network. This is done with the function CM_SetNodeState(). If a node state change is effected without the CANopen-manager initiating it, a guarding error will result as a reaction. This reaction is detectable via the function CM_Guarding().

K.9.3.6 Error evaluation in the CANopen-manager-implementation In the folder ErrorHandling the functionalities belonging to the error memory are implemented. In the CANopen-manager all messages of the individual nodes are entered in the program ErrorTraceRoutine() and a case distinction is made as to from which node this entry has come:

04 - 68 280 000/A Version 1.0.0

Page K-117

K Communication via CANopen

Manual digsy®

Figure K.59 Program ErrorTraceRoutine() Afterwards, the individual errors or messages can be further specified. Slave-nodeimplementations transmit only those emergency messages via the CAN-bus which are released for this in their application program (Variable en_emergency). Consequently, the CANopen-manager can receive only these emergency messages. In the example implemented here, all the errors or messages are sent via the CAN-bus.

04 - 68 280 000/A Version 1.0.0

Page K-118

K Communication via CANopen

Manual digsy®

In the evaluation routine for the own node Error_N2() all errors are additionally stored in an own error memory.

04 - 68 280 000/A Version 1.0.0

Page K-119

K Communication via CANopen

Manual digsy®

K.10 Technical Data and Important Additions K.10.1 Technical data a.) NMT: Master, Slave b.) Node-ID: max. 32 CANopen-nodes possible, node numbers freely selectable from 1 to 32 PDO: c.) A maximum of 64 TxPDOs and 64 RxPDOs each can be set up d.) PDO-mode: time-triggered e.) PDO linking and variables mapping SDO: f.) 40 SDO-clients g.) 4 SDO-servers Guarding mechanism: h.) Nodeguarding i.) Heartbeat (producer and consumer) Error handling: j.) Output of emergency messages CANopen-version: Device profile:

DS301-V4.01 DSP405-V1.0

K.10.2 Storage processes in FLASH-memory in the case of digsy®compact E/ digsy®CGM The storage of the retain data requires between t≈0.03s and t≈10 seconds. During this period of time a data transfer cannot take place. For this reason, the storing of data has to be requested from the CANopen-manager. Then, the inquiring node can, for a certain period of time, be set to a state (e.g., PREOPERATIONAL or better PREPARED) in which it cannot lose any data or in which data can be purposefully transmitted anew. This has to be absolutely taken into account in an application!

04 - 68 280 000/A Version 1.0.0

Page K-120

K Communication via CANopen

Manual digsy®

K.11 Appendix K.11.1 List of illustrations: Figure K.1 Schematic device connection on the CAN-bus .............................................................K-5 Figure K.2 Structure of a CAN-message.........................................................................................K-6 Figure K.3 NMT-states ....................................................................................................................K-9 Figure K.4 Nodeguard principle.....................................................................................................K-10 Figure K.5 Heartbeat principle.......................................................................................................K-11 Figure K.6 Storage allocation of the flag area in the IEC 1131.....................................................K-36 Figure K.7 Use of CM_INIT().........................................................................................................K-41 Figure K.8 Use of COPINIT() ........................................................................................................K-42 Figure K.9 Use of COBADD()........................................................................................................K-44 Figure K.10 Use of CM_AddNode() ..............................................................................................K-46 Figure K.11 Use of CM_Reset() ....................................................................................................K-47 Figure K.12 Use of CM_SetNodeState().......................................................................................K-49 Figure K.13 Use of CM_GetNodeState() ......................................................................................K-51 Figure K.14 Use of CM_StartStopGuarding() ...............................................................................K-52 Figure K.15 Use of CM_Guarding()...............................................................................................K-54 Figure K.16 Use of SDOADD()......................................................................................................K-56 Figure K.17 Use of CM_SDO_RW()..............................................................................................K-58 Figure K.18 Handling of the function block CM_DCFTrans()........................................................K-62 Figure K.19 Handling of CM_PDO_Sync()....................................................................................K-63 Figure K.20 Format for segmented SDO-write or SDO-read operations ......................................K-70 Figure K.21 Initiate SDO-download...............................................................................................K-70 Figure K.22 Changing the heartbeat-producer-time via SDO-transfer for node 13 ......................K-72 Figure K.23 Example regarding CM_DCFTrans().........................................................................K-74 Figure K.24 CANanalyzer-output ..................................................................................................K-74 Figure K.25 Principle of data exchange via PDO..........................................................................K-76 Figure K.26 Principle of data exchange via PDOs in the case of digsy®compact / digsy®CGM ............K-76 Figure K.27 Structure of a mapping-entry .....................................................................................K-77 Figure K.28 CANanalyzer-output ..................................................................................................K-78 Figure K.29 CDCF-list of the example ..........................................................................................K-78 Figure K.30 Setting up the COB-identifiers of 16 TxPDOs ...........................................................K-79 Figure K.31 Memory allocation of the flag area in the IEC 1131 ..................................................K-80 Figure K.32 Structure of an object-mapping-entry for digsy®CGM and digsy®compact E .....................K-82 Figure K.33 Contents of the example-TxPDO...............................................................................K-83 Figure K.34 Mapping data of the example-PDO in Prosyd 1131 ..................................................K-83 Figure K.35 Structure of an object-mapping-entry for digsycompact............................................K-84 Figure K.36 Setting up the communication objects in the DcP-Slave...........................................K-84 Figure K.37 Mapping list of these communication objects in the CANopen-manager..................K-85 Figure K.38 Structure of an object-mapping-entry for the CGC....................................................K-86 Figure K.39 Use of index and subindex in the CGC .....................................................................K-87 Figure K.40 Example of a COB-ID and mapping list for the CGC ................................................K-88 Figure K.41 Structure of an object-mapping-entry ........................................................................K-89 Figure K.42 Setting up the communication objects in CANopen-nodes acc. to DS301 V4.01.....K-89 Figure K.43 Graphical representation of the runup according to the time aspect.........................K-92 Figure K.44 Swapping the „Low-16Bit“ and the „High-16Bit“ of REAL-values..............................K-94 Figure K.45 Setting the heartbeat-producer-time in the case of digsy®compact E/ digsy®CGM ............K-97 Figure K.46 Guarding evaluation when using the heartbeat-consumer........................................K-98 Figure K.47 Sequence for reading-in the error memory .............................................................K-104 Figure K.48 Example of generating an error message ...............................................................K-105 Figure K.49 Initialization of CANopen-slave-node 3 ...................................................................K-108 Figure K.50 Memory allocation of the PDOs in slave-node 5 .....................................................K-109

04 - 68 280 000/A Version 1.0.0

Page K-121

K Communication via CANopen

Manual digsy®

Figure K.51 Excerpt from the guarding routine in slave-node 3..................................................K-109 Figure K.52 Setting up the communication object for the data field............................................K-110 Figure K.53 Filtering the errors of the internal error memory......................................................K-110 Figure K.54 Initialization of the CANopen-manager node 2........................................................K-111 Figure K.55 Memory allocation of the PDOs in the manager......................................................K-112 Figure K.56 Time representation of the network states ..............................................................K-112 Figure K.57 Program flow of the guarding in CANopen-manager-node 2 ..................................K-114 Figure K.58 Complete sequencer of the CANopen-manager .....................................................K-116 Figure K.59 Program ErrorTraceRoutine()..................................................................................K-118

04 - 68 280 000/A Version 1.0.0

Page K-122

K Communication via CANopen

Manual digsy®

K.11.2 List of tables: Table K.1 Communication types in the case of CANopen ..............................................................K-8 Table K.2 Network states and how they differ.................................................................................K-8 Table K.3 Memory allocation of the flag area in the IEC 1131......................................................K-23 Table K.4 Index and Subindex allocation for the TxPDOs............................................................K-23 Table K.5 Index and Subindex allocation for the RxPDOs ...........................................................K-24 Table K.6 Index and Subindex allocation for the TxPDOs............................................................K-36 Table K.7 Index and Subindex allocation for the RxPDOs ...........................................................K-37 Table K.8 Default-PDOs in the case of digsy®compact E / digsy®CGM .................................................K-38 Table K.9 Objects of the object directory belonging to CM_AddNode() .......................................K-46 Table K.10 Functionality in manager and in slave ........................................................................K-50 Table K.11 Possibility of distributing unassigned SDO-server-IDs ...............................................K-56 Table K.12 Error codes .................................................................................................................K-65 Table K.13 Overview of the functions / function blocks regarding the application........................K-68 Table K.14 Identical SDO-transfer with CM_SDO_RW() and CM_DCFTrans() ...........................K-73 Table K.15 Meaning of the relevant indices in the object directory...............................................K-75 Table K.16 Default-COB-Ids in digsy®CGM and digsy®compact E ........................................................K-79 Table K.17 Index and subindex allocation for the TxPDOs ..........................................................K-81 Table K.18 Index and subindex allocation for the RxPDOs ..........................................................K-81 Table K.19 Default mapping in digsy®CGM and digsy®compact E ........................................................K-82 Table K.20 Use of the functions and FBs depending on the „State“ in the CANopen-network ....K-91 Table K.21 Time dependencies.....................................................................................................K-92 Table K.22 Bootup-recognition in digsy®compact / digsy®CGM .............................................................K-95 Table K.23 HB-consumer-functions in digsy®compact / digsy®CGM .....................................................K-97 Table K.24 Data contents of the emergency-object ......................................................................K-99 Table K.25 Emergency Error Codes ...........................................................................................K-100 Table K.26 Allocation of en_emergency .....................................................................................K-102 Table K.27 Locations in DIGSYcompact.....................................................................................K-103 Table K.28 Usable Error Codes for the user ...............................................................................K-105 Table K.29 PDO-setup in the example network ..........................................................................K-106 Table K.30 Description of the time states acc. to Figure K.56 ....................................................K-113

04 - 68 280 000/A Version 1.0.0

Page K-123

K Communication via CANopen

Manual digsy®

K.11.3 Bibliography Etschberger, Konrad: Controller-Area-Network Munich/Vienna: Hanser-Verlag, 2000 Farsi, Mohammed; Bernardo, Manuel; Barbosa, Martin: CANopen Implementations - applications to industrial network Baldock(UK): Reseach Studies Press, 2000 Zeltwanger, Holger: CANopen Berlin: VDE-Verlag, 2001 CiA (CAN in Automation e.V.): CANopen Applications Layer and Communications Profile DS 301 V4.01 CiA (CAN in Automation e.V.): Device Profile for IEC1131 Programmable Devices DSP 405 V2.0 INTER CONTROL: Manual digsycompact Nuremberg: 04-68255 INTER CONTROL: Manual digsyCGM Nuremberg: 04-68253

04 - 68 280 000/A Version 1.0.0

Page K-124

K Communication via CANopen

K.12 Notes

04 - 68 280 000/A Version 1.0.0

Page K-125

Manual digsy®

K Communication via CANopen

04 - 68 280 000/A Version 1.0.0

Page K-126

Manual digsy®

K Communication via CANopen

04 - 68 280 000/A Version 1.0.0

Page K-127

Manual digsy®

K Communication via CANopen

04 - 68 280 000/A Version 1.0.0

Page K-128

Manual digsy®

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF