PDO CANopen Mapping Utility

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.

✓ TPDO Mapping ✓ RPDO Mapping ✓ 32-Bit Entry ✓ 64-Bit Limit ✓ Entry Decoder
MAP
Build / Decode PDO Mapping
● Ready
Used to show the appropriate standard mapping-object range.
Standard predefined PDO mapping objects are shown for PDOs 1–4.
Object Index
Sub-index
Length Bits
Mapping Entry
Enter hexadecimal such as 60410010 or 0x60410010.
Mapping entries are normally shown in hexadecimal.
PDO mapping entry: Bits 31–16 contain the object index, bits 15–8 contain the sub-index, and bits 7–0 contain the number of mapped bits. Standard Classical CANopen PDO payload is limited to 8 bytes / 64 bits.
CANopen PDO Mapping Result Valid Mapping
Total PDO Payload
Mapped Objects
Total Bits
Total Bytes
Mapping Object
PDO Payload Usage 0 / 64 bits
# Index Sub-index Length Mapping Entry Bit Offset
Calculation Details -

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.

The 32-bit layout is: Bits 31–16 : Object Index Bits 15–8 : Sub-index Bits 7–0 : Mapping Length in Bits Formula: Mapping Entry = (Index << 16) | (Sub-index << 8) | Length

CANopen PDO Mapping Example

Suppose object dictionary entry 0x6041:00 is a 16-bit Statusword.

Index: 0x6041 Sub-index: 0x00 Length: 16 bits = 0x10 Mapping value: 0x6041 00 10 = 0x60410010

The lowest byte is 0x10 because decimal 16 bits equals hexadecimal 0x10.

How to Calculate a PDO Mapping Entry

Enter the object index

Use the 16-bit object dictionary index, for example 6041 or 6064.

Enter the sub-index

Enter the 8-bit sub-index, commonly 00 for a simple object.

Enter mapped length

Specify how many bits of that object are placed in the PDO.

Generate the mapping entry

The calculator packs index, sub-index and length into one 32-bit value.

Check total PDO size

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.

Example: 0x1A00:00 = Number of mapped objects 0x1A00:01 = First mapping entry 0x1A00:02 = Second mapping entry 0x1A00:03 = Third mapping entry …

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:

8 bytes × 8 bits = 64 bits

The sum of all mapped object lengths must therefore fit within 64 bits for a standard Classical CAN PDO.

The calculator warns when the combined mapping exceeds 64 bits rather than silently treating the mapping as valid.

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.

For: Object 1 = 16 bits Object 2 = 32 bits Object 3 = 16 bits Offsets are: Object 1: bit 0 Object 2: bit 16 Object 3: bit 48 Total: 64 bits = 8 bytes

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.

Example mapping entries: 0x60410010 Statusword 0x6041:00 16 bits 0x60640020 Position Actual Value 0x6064:00 32 bits Combined size: 16 + 32 = 48 bits = 6 bytes

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:

0x60410010 Split the value: 6041 | 00 | 10 Therefore: Index = 0x6041 Sub-index = 0x00 Length = 0x10 = 16 bits

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:

Disable the PDO or mapping

Follow the device’s required configuration procedure before modifying active mapping parameters.

Set mapped-object count to zero

Sub-index zero of the mapping object is commonly cleared before changing entries.

Write new mapping entries

Configure each 32-bit index/sub-index/length value at sub-index 1 and above.

Set the final object count

Write the actual number of mapped objects to sub-index zero.

Enable the PDO as required

Complete the procedure according to the device’s object dictionary and CANopen implementation.

Always follow the actual device manual. Some devices restrict dynamic PDO mapping or only allow specific objects and lengths to be mapped.

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?
It is a 32-bit value identifying an object dictionary index, sub-index and the number of bits of that object mapped into a PDO.
What is the PDO mapping formula?
Mapping entry equals index shifted left 16 bits, OR sub-index shifted left 8 bits, OR the mapped length in bits.
What does 0x60410010 mean?
It maps object 0x6041, sub-index 0x00, with a mapped length of 0x10 or 16 bits.
Is PDO mapping length specified in bytes?
No. The lowest byte of the mapping entry specifies length in bits.
What is the maximum Classical CANopen PDO size?
A standard Classical CAN PDO carries at most 8 data bytes or 64 bits.
What is TPDO mapping object 0x1A00?
0x1A00 is the standard mapping parameter object for TPDO1.
What is RPDO mapping object 0x1600?
0x1600 is the standard mapping parameter object for RPDO1.
Where is the first mapping entry stored?
The first mapping entry is normally at sub-index 1 of the PDO mapping object.
What does sub-index zero contain?
Sub-index zero normally contains the number of active mapped application objects.
Can every object dictionary entry be mapped into a PDO?
No. PDO mapping capability is defined by the device’s object dictionary and implementation.
Can a 32-bit object be mapped into a PDO?
Yes, if that object is PDO-mappable and the combined PDO payload remains within the permitted size.
Can I map four 16-bit objects into one PDO?
Yes, assuming all four objects are PDO-mappable. Four times 16 bits equals 64 bits, exactly filling an 8-byte Classical CAN PDO.
Can I map a 64-bit object by itself?
A 64-bit object can fill the entire Classical CAN PDO if the device permits that object and mapping length.
Does this calculator configure a CANopen device?
No. It calculates mapping values and payload layout. Actual configuration requires writing the appropriate object dictionary entries through the device’s supported CANopen configuration method.
Is PDO mapping the same as the PDO COB-ID?
No. Mapping defines the contents of the PDO. The COB-ID is part of the PDO communication parameters and determines the CAN identifier used for that PDO.

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.

Scroll to Top