CANopen description

It was originally developed from an EEC ESPRIT III project and has found applications in industrial automation applications. There are detailed specifications ...
183KB taille 59 téléchargements 399 vues
CANopen description CERN ATD-DCS A high level protocol is necessary in order to define how the CANbus 11 bit identifier and the 8 data bytes are used among the different nodes on a bus segment. It exits several standards which uses the CAN bus. CERN has chosen CANopen, which is supported by the CAN in Automation (CiA) organisation. It was originally developed from an EEC ESPRIT III project and has found applications in industrial automation applications. There are detailed specifications available from CiA. 1.0 THE ISO/OSI LAYER MODEL AND CANOPEN ....................................................................................... 2 1.2 MINIMAL FUNCTIONALITY DEVICES ............................................................................................................. 3 2.0 NETWORK MANAGEMENT IN CANOPEN - INITIALISATION AND OPERATION........................... 4 2.1 NETWORK MANAGEMENT IN CANOPEN - IMPLEMENTATION......................................................................... 5 2.2 CANOPEN NODE GUARDING ........................................................................................................................ 7 3.0 A COMPARISON OF THE DATA COMMUNICATION OBJECTS IN CANOPEN ................................ 8 3.1 3.2 3.3 3.4 3.5

PROCESS DATA OBJECT (PDO) TRANSFER MODES ......................................................................................... 8 CANOPEN PROCESS DATA OBJECTS EXAMPLE .............................................................................................. 9 PDO - RECONFIGURATION ............................................................................................................................ 9 PDO TRANSMISSION TYPE ......................................................................................................................... 10 PDO INHIBIT TIME ..................................................................................................................................... 11

REFERENCES:.................................................................................................................................................. 12 APPENDIX......................................................................................................................................................... 13 A.0 DEVICE PROFILE PRINCIPLE ........................................................................................................................ 13 A.1 OBJECT DICTIONARY 0000…0FFFH / TYPE DEFINITION ............................................................................. 15 A.2 OBJECT DICTIONARY 1000…1FFFH / COMMUNICATION OBJECTS............................................................... 16

CANopen description: canoproto4.doc 18/06/98

1.0 The ISO/OSI layer model and CANopen The organisation of CANopen in reference to the ISO Open System Interconnect model is shown in Figure 1. This consists of on the top level the CANopen device and communication

Figure 1 CANopen communication reference model. profiles. On the data link layer there is the CAN controller, which conforms to CAN 2.0A and/or 2.0B, while the physical layer is specified in the ISO 11898 standard. The data link layer and the physical layer is implemented in hardware, see [1]. CANopen uses the concept of device profiles. Manufacturers can produce standardised devices by conforming to the guidelines contained in a CANopen device profile. Networks of devices from independent manufacturers can be constructed without having to write specialised specific software for networking each device together. Basic network operation is guaranteed by defining mandatory device characteristics. It is possible to implement additional functions with the help of the optional and the manufacturer specific part of the profiles. There are a number of standard profiles available from CiA, among them CiA-401 [2], which covers I/O modules and CiA-404 [3] for measuring devices and closed loop controllers. The profiles are implemented in a standardised database called object dictionary. There exit software tools to read, configure and 2

CANopen description: canoproto4.doc 18/06/98

change entries in the dictionary of a device. The object dictionary is not stored in the CANopen node itself, it is defined in the Electronic Data Sheet (and on paper), so a master (application) will know the data type and size of every object. The communication profile defines that in a CANopen network there must be at least one master application and one or several slave applications. The master performs the boot-up process and checks and maintains the network in operational state. It also manipulates the object dictionary entries and the CAN identifiers of the connected devices. The communication profile defines several methods for transmission and reception of messages over the CAN bus. Synchronous data transfers allow network wide co-ordinated data acquisition and actuation. Synchronous transfers are supported by predefined communication objects i.e. synchronisation messages transmitted on a cyclic time period and time stamp messages. Asynchronous or event messages may be sent at any time and allow a device to immediately notify another device without having to wait for a synchronous data transfer to take place. The content of both synchronous and event messages (Process Data Objects) may be dynamically configured at network boot up by the network master using Network Management. Although CAN is restricted to transfers of a maximum of 8 bytes of information, data transfers larger than 8 bytes in length are also provided for by the protocol (Service Data Objects). The detailed specifications of the CANopen communication profile are contained in the CiA DS 301 document [4]. In summary the CANopen communication standard defines four types of messages (communication objects): Network administration messages such as Network Management (NMT), e.g. to turn on or turn off a slave node (highest priority). Predefined Messages such as the synchronisation time stamp and emergency messages. Process data messages with one predefined identifier and 1 to 8 data bytes. Service Data Messages e.g. multiple CAN messages with acknowledgement between master and slave (has low priority).

1.2 Minimal Functionality Devices In order to cope with simple slave nodes the CiA 301 profile also specifies what minimal functionality a CANopen device must provide. The configuration effort for simple networks is reduced with mandatory default identifiers. These identifiers are available directly after initialisation (if no modifications have been stored) and may be modified by means of dynamic distribution. Only a selection of the identifiers has to be supported by a device node. Up to 127 nodes is supported on network. The boot up sequence is also considerably simplified and the device boots directly into a pre-operational state. A single message from the master then makes the device fully operational. The supported CAN identifiers for the device are statically allocated and pre-configured by means of the devices DIP switches (for example). The CAN 11 bit identifier is allocated with the four most significant bits implementing the function code and the 7 other bits are the node ID. Table 1 shows the pre-defined identifier for a minimal slave node.

3

CANopen description: canoproto4.doc 18/06/98

Table 1 Predefined identifier for minimal CANopen devices Database Database Resulting Communication Mapping Identifier Index Index

Message

Function code (binary)

NMT

0000

000H

-

-

SYNC

0001

080H

(1005H)

-

TIME STAMP

0010

100H

-

-

EMERGENCY

0001

081-0FFH

-

-

DIP switch + 080H

PDO1 (tx)

0011

181-1FFH

1800H

1A00H

DIP switch + 180H

PDO1 (rx)

0100

201-27FH

1400H

1600H

DIP switch + 200H

PDO2 (tx)

0101

281-2FFH

1801H

1601H

DIP switch + 280H

PDO2 (rx)

0110

301-37FH

1401H

1601H

DIP switch + 300H

SDO (tx) server

1011

581-5FFH

1200H

-

DIP switch + 580H

SDO (rx) client

1100

601-67FH

1280H

-

DIP switch + 600H

Nodeguard

1110

701-77FH

(100EH)

-

DIP switch + 700H

Comments Highest priority

DIP switch = 01H to 7EH or 127 nodes

2.0 Network Management in CANopen - initialisation and operation Network management is used to control the operating state of devices in a CANopen network with the following functions is available: 1. Dynamic or static distribution of CAN identifiers for SDO/PDO communication and error services. 2. Control over node operating states and communication modes for individual or multiple nodes. 3.

Periodic polling of nodes to detect nodes that is no longer alive or functioning correctly.

Their configured module ID initially identifies nodes connected to a CANopen network. The module ID may be configured by setting DIP switches on the device. When the network initialises and boots the network master initially establishes a dialog with individual network dialog with each connected slave by means of the NMT services. Once this dialog has been established the CAN identifiers for communication of the process data messages are allocated to the node. Any configuration information may be downloaded to a device from the cell master 4

CANopen description: canoproto4.doc 18/06/98

using SDO’s. This includes any configuration information for the data content of any process data messages that the device may support. To determine whether nodes are still functional CANopen using NMT lifeguarding techniques whereby individual nodes that support lifeguarding are polled using CAN remote frames to see whether they are still functional. The functional status of the device is returned in the reply to the remote frame. Inhibit times/timeouts may also be implemented so that if the master does not receive a reply from a node within a certain time period the node is regarded as dysfunctional and an error may be flagged. Also nodes supporting inhibit times can also signify an error condition should they not receive a lifeguarding remote frame within the time period negotiated at boot time with the cell master. NMT services can also be used to bring all or selected nodes into various operating states at any time. For example, the network master can broadcast an Enter_Preoperational_State message to all nodes to bring them into a state where further configuration information may be downloaded to the device using service data messages. Alternatively, a single node may be brought into its Pre-Operational state (or configuration mode) by using the same message with different protocol information whilst keeping all other devices fully operational. 2.1 Network Management in CANopen - implementation Every slave node contains a state machine with the four states called: [1] Initialisation, [2] PreOperational, [3] Operational and [4] Prepared. There are five different NMT messages, which permit a CANopen master to change the state of one slave or all slaves simultaneously: Start_Remote_Node, Stop_Remote_Node, Enter_Pre-Operational_State, Reset_Node, Reset_Communication. [1] Initialisation at power on the CANopen slave (with minimum boot-up capability) performs an initialisation sequence and enters automatically into the Pre-Operational state. [2] In the Pre-Operational state, the node will perform the following functions: Perform its internal I/O function, Allow communication via the SDO channel for configuring e.g. PDO mapping, communication parameters Node guarding and respond to node-guarding protocol.

5

CANopen description: canoproto4.doc 18/06/98

Change state to: • • •

Operational_ State Prepared_ State Reset the node

by the Start_Remote_Node command. by the Stop_Remote_Node command. by the Reset_Node or Reset_Communication commands.

[3] In the Operational_State the node will perform the following functions: Perform its internal I/O function Have it’s PDO channels active (synchronised if required) Have it’s SDO channels active Send emergency messages on an error event . Change state to: • • •

Prepared_ State by the Stop_Remote_Node command. Pre-Operational_State by the Enter_Pre-Operational_State command. Reset the node by the Reset_Node or Reset_Communication commands.

[4] In the Prepared_State the node is disabled (no SDO/PDO/emergency communication) But it will perform its internal I/O function. Change state to: • • •

Pre-Operational_State by the Enter_Pre-Operational_State command. Operational_ State by the Start_Remote_Node command. Reset the node by the Reset_Node or Reset_Communication commands.

The NMT message format is (CAN header + 2 data bytes): CAN Header

Byte 1

Byte 2

000H

CS

Node_ ID

CS (Command Specifier) has five values according to the NMT function wanted: 6

CANopen description: canoproto4.doc 18/06/98

NMT function

CS

Start_Remote_Node

01H

Stop_Remote_Node

02H

Enter_Pre-Operational_State

80H

Reset_Node

81H

Reset_Communication

82H

Node_ID can be 1 to 127 to select a single node, or 0 to select all nodes. The hardware switch defines the Node_ID. The CANopen slave does not send any CAN message back with these 5 NMT commands. 2.2 CANopen Node Guarding This is used to detect communication errors in the network. The node guarding (NMT) master can check its slaves and the slaves can check the master (life guarding). Node guarding should be used if a slave isn’t polled on a regular time base. The object dictionary contains Node guarding configuration: 100CH: guard time (in milli-seconds) 100DH: life time factor (* guard time = life time) 100EH: node guarding identifier (default 700H + Node_ID)

Life guarding is enabled for a slave when the node guarding master checks the slave state via a Remote Transmit Request (RTR) on the Node Guarding COB_ID, and the guard time and the life time factor are nonzero: The NMT master message format is: CAN Header 111.0iii.iiii

7

CANopen description: canoproto4.doc 18/06/98

The NMT slave replies with its current state: CAN Header

Byte 1

111.0iii.iiii

tsss.ssss

iiiiiii

Node ID

t

toggle bit, has to toggle every Node guarding request (1st time zero)

sssssss

node state: 3 = Pre-Operational 4 = Prepared 5 = Operational

If the node-guarding master doesn’t receive the current state reply within the guard time, it signals a remote error for that slave to the application. If the slave doesn’t receive this request during its ‘life time’ (guard time * life time factor) then the slave will: Switch to pre-operational state. If the node-guarding master restarts, it will detect the changed operational state of the slave and signal this error to the application.

3.0 A comparison of the data communication objects in CANopen Two different mechanisms exist in CANopen for data transfer. Service Data Object (SDO) transfers are mainly used for large, low priority data transfers between devices and are transmitted asynchronously. They are typically used for configuring devices on a CANopen network. Individual parameters are addressed using a 16-bit index and an 8-bit sub-index addressing mechanism. Data transfers in this mode may be greater than 8 bytes by use of multiple CAN messages. The second mode of communication is by use of Process Data Object (PDO) transfers. Process data messages (synchronous and event/asynchronous) are mainly used for real-time transfer of data and typically have a higher priority on the CAN bus than service data messages. Data in a PDO telegram is limited to 8 bytes or less. The format and data content of the message may be fixed or dynamically configured using SDO data transfers. SDO transfers may be thought of as high load lower speed transfers and PDO transfers thought of as small load high speed transfers hence the analogy between the lorry and the sports car. 3.1 Process Data Object (PDO) transfer modes CANopen supports different modes for transfer of real-time data. One method is simply to send a PDO message on the occurrence of an event. For example, a digital I/O transmits the state of its 8

CANopen description: canoproto4.doc 18/06/98

input lines when they change state. An analogue input module might send the state of an input line once the state of that input line has changed by a pre-configured amount. Another method is by means of synchronous data transfers. In this mode, a very high priority synchronisation telegram (SYNC) is sent on a set time period. The SYNC telegram is broadcast to all devices and on reception of the telegram those devices that are configured to respond to it send data onto the bus. Data is also sent from the controlling device to those devices requiring it. Data transmitted from the device on reception of the SYNC is commonly referred to as actual data whilst data sent to the device is commonly referred to as command data. For a digital I/O module the actual data may be the state of its input lines whilst the command data would be the new state to set the outputs to. After receiving command data the device then actuates on reception of the next SYNC telegram. Thus in a network consisting of several digital output devices all outputs may be set synchronously. Command and actual data may be configured so that the transfer takes place only every Nth SYNC telegram helping to reduce bus loading. Data may also be transferred as an event but synchronously i.e. an event happens on the device and a PDO message is sent as actual data once a SYNC message has been received. Synchronous data communication is one of CANopen’s most powerful features and ensures predictable bus loading.

3.2 CANopen Process Data Objects example When, for instance, the device has one 16 bit analogue output, this value can be mapped in the first 2 bytes of a PDO. A CAN message to this device will therefore contain only two data bytes. Because a PDO transfer does not need any confirmation, setting this 16 bit analogue output just needs one CAN Message with 2 data bytes, total of 60 bits over the CAN bus. The same function with the SDO method would need 2 CAN messages with 8 data bytes, a total of 216 bits over the bus. Reading an analogue input can be done by a remote request of the PDO, these 2 CAN messages then take 104 bits over the bus. Another method is that the PDO can be transferred after a SYNC message. This could even trigger PDOs on all devices in the network. 3.3 PDO - reconfiguration If a device has multiple in- or outputs, they can be mapped into a single PDO (e.g. four 16 bits analogue inputs), as long as the PDO length doesn’t exceed 8 bytes (maximum of a single CAN message). Mapping dictionary object into a PDO is done (via the SDO) using dictionary objects 1600H or 1601H (for receive PDOs of output nodes) and 1A00H or 1A01H (for transmit PDOs of input nodes).

9

CANopen description: canoproto4.doc 18/06/98

Example of PDO mapping (analogue input 16 bits and float): Object Dictionary Mapping Value

Object

Sub Length Index (in bits)

Points to:

Object

Sub Index

1A01

1

64010110H = 6401H

01H

10H

PDO byte 1,2

1A01

2

64040120H = 6404H

01H

20H

PDO byte 3,4,5 6

These results in the following CAN message: PDO1 (tx) CAN Identifier 11bits e.g. 181H

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6

Byte 7

Byte 8

6401H/ 6401H/ 6404H/ 6404H/ 6404H/ 6404H/ not used not used LSB MSB LSB 2nd 3rd MSB

Changing the (variable) PDO mapping is only possible when the node is in its pre-operational state (see ‘Boot-up sequence’). If the node contains non-volatile memory, this is needed only once when reconfiguring is wanted. When changing the PDO mapping fails (node not preoperational, object is not mappable or PDO becomes longer then 8 bytes), the node responds with a ‘Abort domain transfer’. 3.4 PDO Transmission Type The transmission of a PDO can be initiated (triggered) is different ways, according to the PDO transmission type. One method is Asynchronous transmission The PDO can be triggered by: •

Remote request from another device



Device (profile) specific event

The other method is Synchronous transmission

10

CANopen description: canoproto4.doc 18/06/98

The PDO can only be triggered by the Network SYNC message, this can be done in different ways: Acyclic: •

Remote request from another device ‘pre-triggers’ the PDO.



A device (profile) specific event ‘pre-triggers’ the PDO.



The PDO is triggered periodically after every (1,2, up to 240) SYNC messages.

Cyclic:

Dictionary objects 1400H/1401H/1800H/1801H (PDO communication parameter), sub-index 2 (transmission type) determine how a PDO is triggered: PDO transmission method

transmission conditions to trigger PDO A=both needed, O=one or type both Sync 0

A

1-240

O

RTR

Event A

synchronous, acyclic synchronous, cyclic

241-251 252

reserved A

A

synchronous, after RTR

253

O

asynchronous, after RTR

254

O

O

asynchronous, manufacturer specific event

255

O

O

asynchronous, device profile specific event

The DS401 I/O device profile declares the transmission type of every PDO at 255: transmit (input) PDOs are asynchronous, event driven (change of input) or requested with a RTR. receive (output) PDOs are asynchronous. 3.5 PDO inhibit time When a PDO is triggered by an I/O event (e.g. change of digital input or reception of a RS232 character) it is possible that the PDO is triggered at such a high rate that it causes a ‘traffic jam’ on the CAN bus. To prevent this situation, a transmit PDO (on input nodes) has a PDO inhibit time parameter. This is a counter with a 100 µs resolution, which will inhibit the next PDO transmission for a period of time.

11

CANopen description: canoproto4.doc 18/06/98

References: [1] CiA DS-301, V3.0: CANopen Communication Profile, October 1996. [2] Newcastle University Robotics and Automation group http://www.ncl.ac.uk/~nrauto/canproto.htm

12

CANopen description: canoproto4.doc 18/06/98

APPENDIX A.0 Device Profile Principle The CANopen device profile contains the complete specifications of a CANopen module. These specifications include in addition to the functionality also the communication protocol of the module. Because all modules have uniform specifications, the effort for system integration and device standardisation is simplified. Modules from any manufacturer, which adhere to a CANopen profile, can be used together, even if the modules are very different. For every CAN module an Electronic Data Sheet (EDS) and possibly an implemented objects html page should be available, wherein all node objects are described according to the DS301 EDS Specification. This object dictionary is not stored in the CANopen node itself, it is defined in the Electronic Data Sheet (and on paper), so a master (application) will know the data type and size of every object. The Appendix A contains an example of a detailed device profile. The first part of the profile is common for all types: the object dictionaries for the type definitions and the communication part. The second part of the profile contains the manufacturer specific part and also the standard objects for each profile. All application parameters are stored in the object dictionary. Reading and writing a dictionary object is done via the CANopen SDO object. A dictionary object is selected by a 16-bit index. If a object is a record or array then each field is selected by a 8-bit sub-index, and the field with sub-index 0 contains a byte with the amount of fields (excluding sub-index 0 itself) of the object. The meaning of objects / object fields is defined in: •

CiA DS301 (version 3.0): Communication profile for Industrial Systems



CiA DSP401 (version 1.4): Device Profile for I/O Modules



CiA DSP404 (revision 1.11): CANopen Device Profile for Measuring Devices and Closed-Loop Controllers

13

CANopen description: canoproto4.doc 18/06/98

The object dictionary table contains the following fields:

Index Sub-Index Object Type

16 bit object selection code 8 bit field selection code (arrays, records) deftype var

single value

array

array with same types

record

record with different types

Object Name

symbolic name (used in the Electronic Data Sheet)

Data Type Attr

definition of a data type

data type for field rw

read and write access

wo

write only access

ro

read only access, value can change

con

read only access, value is constant

PDO map

Object is mappable to a PDO

Minimum

Minimum value for data type/parameter

Maximum

Maximum value for data type/parameter

Default

Factory default value for parameter

The first 256 possible entries (Index 0000 - 00FF) are placed in the object dictionary for reference purposes only, they cannot be accessed. These are the definitions of the supported data types. On output nodes objects 0001h-0008h can be mapped on a PDO for dummy PDO mapping (to scale multiple output nodes on a single PDO).

14

CANopen description: canoproto4.doc 18/06/98

A.1 Object Dictionary 0000…0FFFH / Type Definition

Index Object

Object Name Data Type

Minimum

Maximum

Details

(hex) Type 0001 deftype

Boolean

Boolean

0

1

0002 deftype

Integer8

Integer8

-128

127

0003 deftype

Integer16

Integer16

-32768

32767

0004 deftype

Integer32

Integer32

-2147483648

2147483647

0005 deftype

Unsigned8

Unsigned8

0

255

0006 deftype

Unsigned16

Unsigned16

0

65535

0007 deftype

Unsigned32

Unsigned32

0

4294967295

0008 deftype

Float

Float

-3.8 * 10E38

3.8 * 10E38

0009 deftype

Visible String

Vis String

string with ASCII codes 32-126

000A deftype

Octet String

Oct String

string with character/byte codes 0-255

15

CANopen description: canoproto4.doc 18/06/98

A.2 Object Dictionary 1000…1FFFH / Communication Objects

Index Sub- Object Object Name (hex) Index Type 1000

var

Data Type Unsigned32

Device type

Attr Details ro bit0 -bit15: CiA profile bit16: bit17: bit18: bit19:

digital inputs digital outputs analog input analog output

1001

var

error register

Unsigned8

ro The device internal errors

1002

var

manufacturer status reg.

Unsigned32

ro

1003

array pre-defined error field

1003 1003

0

var

1-8 var

Optional variable array with last 8 error

number of errors

Unsigned8

rw

standard error field

Unsigned32 ro

1004

0

var

number of PDOs supported Unsigned32 ro

1004

1

var

number of synchronous PDOs

Unsigned32 ro

1004

2

var

number of asynchronous PDOs

Unsigned32 ro

var

COB-ID SYNC message

Unsigned32 rw Device consumes SYNC,

1005

ID=128 80000080H

1008

var

manufacturer device name

Vis String

ro 4 characters, e.g. ' LMB'

1009

var

manufacturer hardware version

Vis String

ro 4 characters, e.g. '1.00'

100B

var

Node-ID

Unsigned32

ro ID=1 to 127

100C

var

guard time

Unsigned16

rw

100D

var

life time factor

Unsigned8

rw

100E

var

node guarding identifier

Unsigned32

rw

16

Node-ID +700H

CANopen description: canoproto4.doc 18/06/98

1010

array store parameters

Non volatile memory

1010

0

var

largest supported sub-index Unsigned8

ro

1010

1

var

store all parameters

Unsigned32

rw

1010

2

var

store communication parameters

Unsigned32

rw

1010

3

var

store application parameters Unsigned32

rw

1011

array restore defaults parameters

1011

0

var

largest supported sub-index Unsigned8

ro

1011

1

var

restore all default parameters

Unsigned32

rw

1011

2

var

restore communication default

Unsigned32

rw

1011

3

var

restore application default

Unsigned32

rw

1014

var

COB-ID Emergency message Unsigned32

ro

1200

array

server SDO parameter

ro default SDO

1200

0 var

number of entries

1200

1 var

COB-ID Client à Server (rx) Unsigned32

ro

Node-ID + 600H

1200

2 var

COB-ID Server à Client (tx) Unsigned32

ro

Node-ID + 580H

1400

record

Unsigned8

Node-ID + 80H

ro

rx PDO1 com. parameter

1400

0 var

number of entries

Unsigned8

ro

1400

1 var

COB-ID used by PDO1 (rx)

Unsigned32

rw

17

Node-ID + 200H

CANopen description: canoproto4.doc 18/06/98

1400

1401

2 var

record

transmission type

Unsigned8

rw PDO transmission type table

rx PDO2 com. parameter

1401

0 var

number of entries

Unsigned8

con

1401

1 var

COB-ID used by PDO2 (rx)

Unsigned32

rw

1401

2 var

transmission type

Unsigned8

rw PDO transmission type table

1600

array

Node-ID + 300H

rx PDO1 mapping

1600

0 var

number of mapped objects

Unsigned8

rw

1600

1 var

PDO mapping

Unsigned32

rw 62000108H

1600

2 var

PDO mapping

Unsigned32

rw 2nd object

1600

3 var

PDO mapping

Unsigned32

rw 3rd object

1600

4 var

PDO mapping

Unsigned32

rw 4th object

1601

array

rx PDO2 mapping

1601

0 var

number of mapped objects

Unsigned8

rw 1 if analog outputs(s)

1601

1 var

PDO mapping

Unsigned32

rw 64110110H

1601

2 var

PDO mapping

Unsigned32

rw 2nd object

1601

3 var

PDO mapping

Unsigned32

rw 3rd object

1601

4 var

PDO mapping

Unsigned32

rw 4th object

1800

record

tx PDO1 com. parameter

1800

0 var

number of entries

Unsigned8

con

1800

1 var

COB-ID used by PDO1 (tx)

Unsigned32

rw

1800

2 var

transmission type

Unsigned8

rw according to PDO transmission

Node-ID + 180H

type table

18

CANopen description: canoproto4.doc 18/06/98

1800

3 var

inhibit time

Unsigned16

rw inbit PDO transmission for n * 100 µS

1801

record tx PDO2 com. parameter

1801

0 var

number of entries

Unsigned8

con

1801

1 var

COB-ID used by PDO2 (tx)

Unsigned32

rw

1801

2 var

transmission type

Unsigned8

rw according to PDO transmission

Node-ID + 280H

type table

1801

3 var

inhibit time

Unsigned16

rw inhibit PDO transmission for n * 100 µS

1A00

array

tx PDO1 mapping

1A00 0 var

number of mapped objects

Unsigned8

rw

1A00 1 var

PDO mapping

Unsigned32

rw eg.: 60000108H

1A00 2 var

PDO mapping

Unsigned32

rw 2nd object

1A00 3 var

PDO mapping

Unsigned32

rw 3rd object

1A00 4 var

PDO mapping

Unsigned32

rw 4th object

1A01

tx PDO2 mapping

array

1A01 0 var

number of mapped objects

Unsigned8

rw

1A01 1 var

PDO mapping

Unsigned32

rw eg.: 64010110H

1A01 2 var

PDO mapping

Unsigned32

rw 2nd object

1A01 3 var

PDO mapping

Unsigned32

rw 3rd object

1A01 4 var

PDO mapping

Unsigned32

rw 4th object

19