|
Q: What is the identifier of a node, message and or variable?
A: In CAN and CANopen® there are several identifiers used for
different purposes. Beginners tend to mix-up these, so pay close attention to the
different meaning of the word "identifier":
- On the CAN level (looking at CAN messages on the bus, generated by a
CAN controller, no higher-layer protocol involved), the "identifier" is the CAN
message identifier. Version CAN 2.0A allows for an 11-bit ID ID (up to 2048 different
identifiers), version CAN 2.0B for a 29-bit ID.
- Higher-layer protocols such as CANopen® use node identifiers to
address a specific node in the network. The node ID is in the range of 1 to 127 in CANopen®
and 0 to 63 in DeviceNet. Sometimes, the node-ID is embedded into the CAN ID. The
pre-defined connection set of CANopen® places the node ID into the lower 7 bits of the
11-bit CAN ID.
- In CANopen®, network variables have their own identifier. All network
variables are located in the object dictionary, which is a look-up table using a 16-bit
index and a 8-bit subindex. The index and subindex are used to identify one specific
network variable in one specific node. A typical access (SDO access, service data object)
to such a variable uses a CAN message that contains a node-ID within the CAN-ID and the
index and subindex (indexing a variable in the object dictionary) within the data field.
|