CANopen system overview
CXxxxx-M510/B510
12
Version: 1.0
2.1.1
Boot-up message
After the initialization phase and the self-test the device sends the boot-up message, which is a CAN
message with a data byte (0) on the identifier of the guarding or heartbeat message:
CAN-ID = 0x700 + node ID.
In this way temporary failure of a module during operation (e.g. due to a voltage interruption), or a module
that is switched on at a later stage, can be reliably detected, even without Node Guarding. The sender can
be determined from the message identifier (see default identifier allocation).
It is also possible, with the aid of the boot-up message, to recognize the nodes present in the network at
start-up with a simple CAN monitor, without having to make write access to the bus (such as a scan of the
network by reading out parameter 0x1000).
Finally, the boot-up message communicates the end of the initialization phase. The device indicates that it
can now be configured or started.
Format of the Boot-up message
11 bit identifier
2 byte of user data
0x700 (=1792)+
node ID
0x00
2.1.2
Node Monitoring
The heartbeat and guarding mechanisms are available for monitoring CANopen device failures. These
mechanisms are particularly important for CANopen, since in the event-driven operating mode the devices
do not report on a regular basis. In the case of "guarding", the devices are cyclically interrogated about their
status by means of a data request telegram (remote frame), whereas with "heartbeat" the nodes transmit
their status on their own initiative.
Guarding: Node Guarding and Life Guarding
Node guarding is used to monitor the slaves, which themselves use life guarding to detect a faulty guarding
master.
Node guarding involves the master issuing request telegrams, referred to as remote frames (remote transmit
requests) to the guarding identifiers of the slaves to be monitored. The slaves respond with a guarding
message. The message contains the node state of the slave and toggle bit, which has to change after each
message. If the node state or the toggle bit do not match the values expected by the master or if there is a
general lack of response, the master assumes an error.