CAN identifier space partitioning
In a CANOPEN network it is possible to differentiate between a maximum of 127 nodes.
These nodes share the 11-bit identifier space.
The following diagram shows the resulting partitioning of the CAN identifier space:
The following table shows the identifier allocation of the Predefined Connection Set:
SDOs and PDOs are always used in pairs (i.e. to transmit and to receive),
where the rule is that the node on the lower (and therefore higher priority)
COB-ID transmits and on the higher (i.e. lower priority) COB-ID receives.
In order to reduce configuration effort for simple networks a mandatory default CAN-identifier allocation
scheme is defined. These identifiers are available in the Pre-Operational state (see network management)
immediately following initialisation and may be modified by means of dynamic distribution. A device has to provide the corresponding
identifiers only for the supported communication objects.
The allocation scheme is based on the division of the 11-bit CAN-identifier into a 4-bit function code
part and a 7-bit node-identifier (Node-ID).
The Node-ID is defined by the system integrator, for example by setting DIP switches on the device.
The Node-ID has to be in the range from 1 to 127 (0 (zero) not allowed).
The predefined connection set defines 4 Receive PDOs, 4 Transmit PDOs, 1 SDO (occupying 2 CAN-identifiers),
1 Emergency Object and 1 Node-Error-Control Identifier.
It also supports the broadcasting of non confirmed NMT-Module-Control services, SYNC and Time Stamp-objects.
The resulting CAN-identifier allocation scheme is shown in the table below.
The identifier distribution corresponds to a master/slave connection set because all peer-to-peer
identifiers are different so that in fact only a master device that knows all connected Node-IDs can
communicate to each individual connected slave node (up to 127 nodes) in a peer-to-peer fashion.
Two connected slaves would not be able to communicate because they don't know each other's Node-ID.
With the Predefined Connection Set it is possible to operate systems with a higher order control node and up to 127 slave nodes without reconfiguration.
Here the higher order control node, e.g. for the transmission of process data to the node with the node-ID 5 can use PDOs with the COB-IDs 0x205, 0x305, 0x405 and 0x505;
it receives process data from this node via PDOs with the COB-Ids 0x185, 0x285, 0x385 and 0x485.
A control node can therefore exchange up to 32 bytes of process input and 32 bytes of process output data with a slave node by default.
In our example, the control node can access the object dictionary of node no. 5 with a SDO request with the COB-ID 0x605 and receives the corresponding SDO response under COB-ID 0x585.