CANopen PDO Mapping Calculator
Use this CANopen PDO Mapping Calculator to build or decode 32-bit PDO mapping entries from an object dictionary index, sub-index and mapped bit length. Calculate the total TPDO or RPDO payload and verify whether the mapping fits within the standard 64-bit CANopen PDO data field.
| # | Index | Sub-index | Length | Mapping Entry | Bit Offset |
|---|
-
What Is a CANopen PDO Mapping Calculator?
A CANopen PDO Mapping Calculator converts object dictionary entries into the 32-bit mapping values used to define the contents of Process Data Objects. CANopen PDOs provide fast real-time exchange of application data without the request-response overhead associated with SDO communication.
Each mapped object is described by its object dictionary index, sub-index and the number of bits that should be placed into the PDO. These three values are packed into one 32-bit PDO mapping entry.
This tool generates those mapping values, tracks the bit offset of every mapped object and verifies whether the combined payload fits inside the standard eight-byte Classical CANopen PDO.
CANopen PDO Mapping Entry Format
A PDO mapping entry occupies 32 bits but does not itself contain the process data. Instead, it describes which object dictionary value belongs in the PDO and how many bits are mapped.
CANopen PDO Mapping Example
Suppose object dictionary entry 0x6041:00 is a 16-bit Statusword.
The lowest byte is 0x10 because decimal 16 bits equals
hexadecimal 0x10.
How to Calculate a PDO Mapping Entry
Use the 16-bit object dictionary index, for example 6041 or 6064.
Enter the 8-bit sub-index, commonly 00 for a simple object.
Specify how many bits of that object are placed in the PDO.
The calculator packs index, sub-index and length into one 32-bit value.
All mapped lengths are added and compared with the 64-bit Classical CAN PDO limit.
TPDO vs RPDO Mapping
TPDO Mapping
Defines which local object dictionary values a node places into a Transmit Process Data Object.
RPDO Mapping
Defines which local object dictionary objects receive data carried by a Receive Process Data Object.
The 32-bit mapping-entry format is the same. The difference is the direction of the PDO and the mapping-object index in the CANopen object dictionary.
CANopen PDO Mapping Object Indexes
Standard PDO mapping parameter objects use different object dictionary ranges for receive and transmit PDOs.
| PDO | RPDO Mapping | TPDO Mapping |
|---|---|---|
| PDO 1 | 0x1600 | 0x1A00 |
| PDO 2 | 0x1601 | 0x1A01 |
| PDO 3 | 0x1602 | 0x1A02 |
| PDO 4 | 0x1603 | 0x1A03 |
Broader CANopen implementations may support additional PDO mapping objects, but the first four PDOs are the standard predefined set commonly encountered.
PDO Mapping Sub-indexes
Within a PDO mapping object such as 0x1A00, sub-index zero
contains the number of mapped application objects. Mapping entries themselves
begin at sub-index one.
If three application objects are mapped, sub-index zero normally contains the value 3 after mapping configuration is completed.
CANopen PDO 64-Bit Payload Limit
Classical CAN data frames carry a maximum of eight payload bytes. Standard Classical CANopen PDOs therefore normally carry no more than:
The sum of all mapped object lengths must therefore fit within 64 bits for a standard Classical CAN PDO.
CANopen PDO Bit Offset
Objects are packed into the PDO payload in mapping order. The first object’s bit offset is zero. Each following object begins immediately after all mapped bits that precede it.
CiA 402 PDO Mapping Example
Motion-control devices using the CiA 402 device profile commonly map objects such as Controlword, Statusword, Target Position or Position Actual Value into PDOs.
The exact objects available and whether they are PDO-mappable depend on the device’s object dictionary.
How to Decode 0x60410010
Take the hexadecimal mapping value:
The decoder mode on this page performs this split automatically.
PDO Mapping vs PDO Communication Parameters
Mapping Parameters
Define which object dictionary values appear inside the PDO payload and how many bits each consumes.
Communication Parameters
Define how the PDO is transmitted, including its COB-ID and transmission type, plus other timing parameters where applicable.
These are separate configuration problems. This calculator intentionally focuses on the mapping-entry and payload-layout calculation rather than duplicating the CANopen COB-ID calculator.
CANopen PDO Remapping Procedure
Many CANopen devices require a particular sequence when changing PDO mappings. A typical configuration procedure is conceptually:
Follow the device’s required configuration procedure before modifying active mapping parameters.
Sub-index zero of the mapping object is commonly cleared before changing entries.
Configure each 32-bit index/sub-index/length value at sub-index 1 and above.
Write the actual number of mapped objects to sub-index zero.
Complete the procedure according to the device’s object dictionary and CANopen implementation.
Common CANopen PDO Mapping Mistakes
Using Bytes Instead of Bits
The lowest mapping-entry byte contains the number of mapped bits, not bytes.
Reversing Index and Length
The 16-bit index occupies the most significant half of the mapping value.
Exceeding 64 Bits
A Classical CANopen PDO cannot carry more than eight payload bytes.
Mapping an Unsupported Object
Not every object dictionary entry is necessarily PDO-mappable.
Wrong Object Length
The mapping length must match a valid mappable portion of the object according to the device implementation.
Forgetting Sub-index Zero
The mapping object’s sub-index zero represents the number of active mapping entries.
CANopen PDO Mapping Calculator FAQs
What is a CANopen PDO mapping entry?
What is the PDO mapping formula?
What does 0x60410010 mean?
Is PDO mapping length specified in bytes?
What is the maximum Classical CANopen PDO size?
What is TPDO mapping object 0x1A00?
What is RPDO mapping object 0x1600?
Where is the first mapping entry stored?
What does sub-index zero contain?
Can every object dictionary entry be mapped into a PDO?
Can a 32-bit object be mapped into a PDO?
Can I map four 16-bit objects into one PDO?
Can I map a 64-bit object by itself?
Does this calculator configure a CANopen device?
Is PDO mapping the same as the PDO COB-ID?
Build CANopen TPDO and RPDO Mapping Entries
Enter object dictionary indexes, sub-indexes and mapped bit lengths to generate 32-bit PDO mapping values, calculate payload offsets and verify the complete PDO against the standard 64-bit Classical CANopen payload limit.