CANopen Emergency Call
Error messages
Every CANopen node has a high-priority CAN identifier for reporting any error situations. This mechanism is referred to as “Emergency Messaging” (emergency call) and the associated communication object as “Emergency Message” (emergency message).
Such an emergency message consists of eight data bytes in the following format:
The error codes are specified in the CANopen specification DS-301. The high byte distinguishes between the error categories:
| Error code (hex) | Error description |
|---|---|
| 00xx | Invalid reset / No error |
| 10xx | General error |
| 2xxx | Power |
| 3xxx | Voltage |
| 4xxx | Temperature |
| 50xx | Device Hardware |
| 6xxx | Device Software |
| 70xx | Additional modules |
| 8xxx | Monitoring |
| 90xx | External Fault |
| F0xx | Additional functions |
| FFxx | Device-specific |
Simultaneously with the transmission of the emergency message, the CANopen device writes the error code to Object Directory item [1003], where the error history is stored. The current error register is the content of OD item [1001] with bit-by-bit encoding of the error cause:
| Bit | Cause of error |
|---|---|
| 0 | General error |
| 1 | Current |
| 2 | Voltage |
| 3 | Temperature |
| 4 | Communication error |
| 5 | Device Profile specific |
| 6 | Reserved (always 0) |
| 7 | Manufacturer-specific |
The CAN identifier of the emergency call is stored in the device Object Directory under [], but this OD entry is optional, as is the emergency call mechanism itself.
Communication problems
Emergency calls naturally depend on a node being operational and able to communicate, and on the software having detected an abnormal situation.
To monitor whether a node has failed or communication has been disrupted, the Master has additional capabilities. For example, a Master can use node guarding or so-called heartbeats to determine whether nodes are still actually present within the network.
The Master can, of course, also monitor the CAN bus for any CAN error frames. This is independent of CANopen and relates entirely to additional software in the Master that detects and handles such errors.






