Jump to content

CAN ID

From Wiki
Revision as of 12:01, 25 June 2025 by cpr>Mab (Created page with "The CAN ID is a number to identify messages and modules (axis and IO) on the CAN bus. In the CPRCANv2 protocol specific number ranges are reserved for specifi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The CAN ID is a number to identify messages and modules (axis and IO) on the CAN bus. In the CPRCANv2 protocol specific number ranges are reserved for specific modules. The CAN ID is assigned to a module via the yellow selector wheel at the top of DIN rail modules or via solder connections on igus ReBeL joints.

CPRCANv2 CAN IDs can be described in 3 different ways: by the number of the selector wheel (0-9), in hexadecimal (e.g. 0x10) or decimal (e.g. 16). In configuration files generally the decimal representation is used, while the user interface usually uses the hexadecimal representation for readability.

Axis modules

The following CAN IDs are available for axis modules.

Selector Decimal Hex Note
0 16 0x10 A1
1 24 0x18 available
2 32 0x20 A2
3 40 0x28 available
4 48 0x30 A3
5 56 0x38 available
6 64 0x40 A4
7 72 0x48 available
8 80 0x50 A5
9 88 0x58 A6 on control cabinets, otherwise available
n/a 96 0x60 A6 on igus ReBeL

As a rule of thumb for robot axes (not external axes and note the exception for A6, see the table above):

  • The selector wheel starts at 0, then increases in steps of 2 (e.g. A1 = 0, A2 = 2, A3 = 4,...)
  • Hexadecimal values start increase in steps of 0x10 (e.g. A1 = 0x10, A2 = 0x20, A3 = 0x30,...)
  • Decimal values start at 16 and increase in steps of 16 (e.g. A1 = 16, A2 = 32,...)

Note that there is a maximum of 6 robot axes, 3 external axes, 4 mobile platform axes and 3 tool axes (currently not available).

Digital IO Modules

Digital IO modules use a similar scheme but a different offset.

Selector Decimal Hex Note
0 112 0x70 IO 1
1 120 0x78 available
2 128 0x80 IO 2
3 136 0x88 available
4 144 0x90 IO 3
5 152 0x98 available
6 160 0xA0 IO 4
7 168 0xA8 available
8 176 0xB0 IO 5
9 184 0xB8 available

Note that there is a maximum of 5 IO modules, the 5th module only supports 4 inputs and outputs. When adding IO modules the software automatically assigns an ID depending on the robot type but generally in the scheme shown above. It can be changed in the project configuration file but this is not recommended.