CAN ID: Difference between revisions
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..." |
(No difference)
|
Revision as of 12:01, 25 June 2025
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.