COB-ID CANopen Identifier Utility

CANopen COB-ID Calculator

Use this CANopen COB-ID Calculator to calculate standard CAN identifiers for CANopen communication objects from a node ID. Find EMCY, TPDO, RPDO, SDO and heartbeat COB-IDs, or decode a CAN identifier to identify its likely CANopen communication function and node number.

✓ PDO ✓ SDO ✓ EMCY ✓ Heartbeat ✓ COB-ID Decoder
CAN
Calculate / Decode CANopen COB-ID
● Ready
Standard node IDs range from 1 to 127.
CANopen COB-IDs are commonly written in hexadecimal.
Default CANopen identifiers: The calculator uses the standard predefined connection set. CANopen object dictionary parameters can remap PDO and other communication identifiers, so the actual COB-ID on a configured device may differ from the default formula.
CANopen COB-ID Result Calculated
Node
NMT
SYNC
EMCY
Heartbeat
SDO Server Tx
SDO Server Rx
TPDO1
RPDO1
Default PDO COB-ID Map
Object Base COB-ID Formula Calculated
Calculation / Decode Details -

What Is a CANopen COB-ID Calculator?

A CANopen COB-ID Calculator determines the default CAN identifier used by a CANopen communication object. CANopen is built on Classical CAN, so network messages are transmitted using CAN identifiers. The identifier associated with a CANopen communication object is commonly called its COB-ID.

Many default CANopen COB-IDs are calculated by adding the node ID to a fixed base identifier. This provides predictable identifiers for emergency messages, Process Data Objects, Service Data Objects and heartbeat traffic.

This calculator generates the standard predefined connection-set identifiers for node IDs 1 through 127 and can also decode a raw COB-ID to determine which default communication function it most closely represents.

What Does COB-ID Mean?

COB means Communication Object. A COB-ID identifies the CAN frame associated with that communication object.

For standard CANopen using 11-bit CAN identifiers, a COB-ID can represent network management, synchronization, emergency communication, PDO traffic, SDO communication or heartbeat/node-guarding traffic.

The COB-ID is not always permanently fixed. Communication parameters in the CANopen object dictionary can allow some identifiers, especially PDO COB-IDs, to be configured differently from the predefined connection set.

CANopen COB-ID Table

Communication Object Default COB-ID Node Specific?
NMT 0x000 No
SYNC 0x080 No
EMCY 0x080 + Node ID Yes
TPDO1 0x180 + Node ID Yes
RPDO1 0x200 + Node ID Yes
TPDO2 0x280 + Node ID Yes
RPDO2 0x300 + Node ID Yes
TPDO3 0x380 + Node ID Yes
RPDO3 0x400 + Node ID Yes
TPDO4 0x480 + Node ID Yes
RPDO4 0x500 + Node ID Yes
SDO Server Tx 0x580 + Node ID Yes
SDO Server Rx 0x600 + Node ID Yes
Heartbeat / Node Guarding 0x700 + Node ID Yes

How to Calculate a CANopen COB-ID

Find the node ID

Identify the CANopen node number, normally from 1 through 127.

Choose the communication object

For example, TPDO1, RPDO1, SDO server transmit or heartbeat.

Find the default base identifier

Each object type has a predefined base identifier.

Add the node ID

For node-specific default objects, COB-ID equals the base identifier plus the node ID.

CANopen COB-ID Example for Node 5

Suppose the CANopen node ID is 5.

TPDO1: 0x180 + 0x05 = 0x185 RPDO1: 0x200 + 0x05 = 0x205 SDO server transmit: 0x580 + 0x05 = 0x585 SDO server receive: 0x600 + 0x05 = 0x605 Heartbeat: 0x700 + 0x05 = 0x705

CANopen TPDO COB-IDs

TPDO means Transmit Process Data Object. From the perspective of the CANopen node, a TPDO carries process data transmitted by that node.

TPDO1

Default COB-ID = 0x180 + Node ID.

TPDO2

Default COB-ID = 0x280 + Node ID.

TPDO3

Default COB-ID = 0x380 + Node ID.

TPDO4

Default COB-ID = 0x480 + Node ID.

CANopen RPDO COB-IDs

RPDO means Receive Process Data Object. An RPDO carries process data received by the CANopen node.

RPDO1

Default COB-ID = 0x200 + Node ID.

RPDO2

Default COB-ID = 0x300 + Node ID.

RPDO3

Default COB-ID = 0x400 + Node ID.

RPDO4

Default COB-ID = 0x500 + Node ID.

CANopen SDO COB-ID

Service Data Objects are used for access to the object dictionary and other configuration-style communication.

For the default SDO server connection:

Server to client response: 0x580 + Node ID Client to server request: 0x600 + Node ID For Node ID 5: SDO Tx = 0x585 SDO Rx = 0x605

CANopen Heartbeat COB-ID

The default heartbeat and node-guarding CAN identifier is:

0x700 + Node ID For node 5: 0x700 + 0x05 = 0x705

Heartbeat messages are used by CANopen network management to communicate node state and help detect unavailable devices.

CANopen EMCY COB-ID

EMCY means Emergency Object. It allows a CANopen node to communicate an internal error condition to the network.

Default emergency COB-ID: 0x080 + Node ID For node 5: 0x080 + 0x05 = 0x085

NMT and SYNC COB-IDs

NMT

Network Management commands use CAN identifier 0x000 rather than adding a target node ID to the COB-ID.

SYNC

The predefined SYNC communication object uses CAN identifier 0x080.

These differ from most node-specific predefined identifiers because their default CAN identifier itself does not include the node ID.

How to Decode a CANopen COB-ID

A default CANopen COB-ID can often be decoded by determining which predefined identifier range contains it and subtracting the corresponding base value.

For: 0x185 TPDO1 range begins at: 0x180 Therefore: Node ID = 0x185 – 0x180 = 0x05 = 5 The identifier is therefore: TPDO1 for Node 5

What Is the CANopen Predefined Connection Set?

The predefined connection set is the standard mapping that assigns commonly used CAN identifiers according to communication function and node ID. It allows newly configured CANopen nodes to communicate using predictable identifiers without every COB-ID needing to be manually chosen.

For example, the first TPDO for a node is obtained from 0x180 plus the node ID, while heartbeat uses 0x700 plus the node ID.

Can CANopen COB-IDs Be Changed?

Yes. The predefined connection set describes default identifiers, but CANopen communication parameters can permit identifiers to be configured. PDO communication parameters in particular can assign a COB-ID different from the predefined node-ID-based value.

If a CAN trace does not match the standard formulas, inspect the device’s object dictionary and EDS/DCF configuration before assuming that the frame is not CANopen.

CANopen COB-ID vs CAN Identifier

In many practical CANopen discussions, COB-ID is used to refer to the CAN identifier associated with a communication object. However, CANopen communication parameter entries may contain additional control bits alongside the identifier value.

This calculator focuses on the actual standard 11-bit CAN identifier portion used by the predefined connection set.

Node ID Range in CANopen

Standard CANopen node IDs occupy the range 1 through 127. Node ID zero is not normally assigned as an ordinary CANopen device node number.

Valid normal node examples: 1 5 32 100 127

The calculator therefore rejects node IDs outside the range 1–127 when generating node-specific COB-IDs.

Common CANopen COB-ID Mistakes

Adding Node ID to NMT

NMT uses COB-ID 0x000; the target node is carried in the message data.

Adding Node ID to SYNC

The predefined SYNC identifier is 0x080.

Mixing TPDO and RPDO

Transmit and receive PDOs use different base identifier ranges.

Reversing SDO Direction

0x580 + node is the server response direction; 0x600 + node is the request direction.

Assuming PDO COB-ID Is Always Default

PDO communication parameters may remap the identifier.

Using Node ID Above 127

Standard CANopen node IDs use a seven-bit node-number range.

CANopen COB-ID Calculator FAQs

What is a CANopen COB-ID?
A COB-ID identifies the CAN frame associated with a CANopen communication object such as a PDO, SDO, EMCY or heartbeat message.
How do I calculate TPDO1 COB-ID?
For the predefined connection set, TPDO1 uses 0x180 plus the CANopen node ID.
How do I calculate RPDO1 COB-ID?
RPDO1 uses 0x200 plus the node ID.
What is the SDO COB-ID for node 5?
The default server response identifier is 0x585 and the default request identifier is 0x605.
What is the heartbeat COB-ID for node 5?
0x700 + 5 equals 0x705.
What is the EMCY COB-ID for node 5?
0x080 + 5 equals 0x085.
What is the CANopen NMT COB-ID?
The default NMT CAN identifier is 0x000.
What is the CANopen SYNC COB-ID?
The predefined SYNC identifier is 0x080.
What is TPDO?
TPDO means Transmit Process Data Object and carries process data transmitted by a CANopen node.
What is RPDO?
RPDO means Receive Process Data Object and carries process data received by the CANopen node.
Can PDO COB-IDs be changed?
Yes. CANopen communication parameters can configure identifiers differently from the predefined connection-set values.
What node ID range does CANopen use?
Normal standard CANopen node IDs range from 1 through 127.
How do I decode COB-ID 0x185?
0x185 lies in the TPDO1 default range. Subtracting base 0x180 gives node ID 5, so it is the default TPDO1 identifier for node 5.
How do I decode COB-ID 0x705?
Subtracting 0x700 gives node ID 5, so 0x705 is the predefined heartbeat or node-guarding identifier for node 5.
Is COB-ID the same as node ID?
No. Node ID identifies the CANopen node, while COB-ID identifies a specific CAN communication object. Many default COB-IDs are calculated using the node ID.

Calculate CANopen PDO, SDO and Heartbeat COB-IDs

Enter a CANopen node ID to generate its predefined EMCY, PDO, SDO and heartbeat identifiers, or enter a raw CAN identifier to determine its likely default CANopen communication function.

Scroll to Top