5

I am a student studying CANopen. What is the relationship between a COB-ID and CAN identifier in CANopen?

I read on the CiA homepage that COB-ID is not a CAN ID, but I do not understand it.

For example, if a PDO is transmitted over a CAN bus, it will be converted from a CANopen frame to a CAN frame. Will the CAN identifier not be converted using the node ID of the COB-ID?

At this time, the COB-ID varies according to the function code, but it is more confusing in that the CAN identifier has only one per device.

How does CANopen convert identifiers when sending messages via the CAN bus?

3
  • That's a matter on research on the internet, I'd say this question is too broad because it is not focused on a concrete programatic problem. By the way, take a look here, it might help you: microcontrol.net/download/appnotes/td-03011e.pdf Commented Oct 11, 2017 at 5:20
  • Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question Commented Oct 11, 2017 at 5:31
  • Re, "if a PDO is transmitted over a CAN bus, it will be converted from a CANopen frame to a CAN frame." No, because a CANOpen frame is a CAN frame. Commented Oct 16, 2017 at 17:54

3 Answers 3

6

Node ID and COB ID are different things.

Node ID is the hard coded ID of a CANopen device (in the connector).

COB ID is the CAN identifier (11 bits or 29 bits) and the RTR

bit 1: for request, 0: for data

The CAN identifier contains in itself the priority.

In some(?) CANopen standards, like CiA-301, some COB-ID ranges or values are reserved.

See:

Sign up to request clarification or add additional context in comments.

1 Comment

The www.can-cia.org link is broken: "404. Page Not Found"
3

Node-ID is basically the name of the device on the CAN line. If you want to control the device, you need to reach it with that name. Every device has a different Node-ID, so you can control each device individually. You can create that name and you can change if you want. The devices usually come with a default Node-ID. You can see it in datasheet of the device. For example, default Node-ID=1.

COB-ID(s) contains the node-ID(s) and there is a standard for COB-ID(s).

COB-ID

As you can see the table on the link. If you want to use PDO for send and receive the data, for example you want to use PDO1 and your device's node-ID is 1.

So your COB-ID is 180 + node-ID = 181 (you can get data (information) from the device) with PDO1

And 200 + node-ID = 201 (you can send the data (command) to the device) with PDO1.

1 Comment

Re "180, 181, 200, and 201": All hexadecimal numbers, presumably.
0

@Peter Mortensen
the link is now https://www.can-cia.org/cia-groups/technical-documents
look for CiA301. The link is available for download only if you are registered (for free and can be done within a few min)

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.