Emergency Messages – CanOpen

The emergency message is a high priority message with the following format

Can header rtr len Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
0x080 + node 0 8 Error Code Error Register Vendor specific data

Do not confuse SYNC and Emergency messages as SYNC has a COB ID of 0x080 where as Emergency has a COB-ID of 0x080+ Node ID.

Standard error codes according to CiA DS-301 and DS-401 Taken from CanOpen Node project on sourceforge 

Error code Description
0x00xx error Reset or No Error
0x10xx Generic Error
0x20xx Current
0x21xx Current device input side
0x22xx Current inside the device
0x23xx Current device output side
0x30xx Voltage
0x31xx Mains Voltage
0x32xx Voltage inside the device
0x33xx Output Voltage
0x40xx Temperature
0x41xx Ambient Temperature
0x42xx Device Temperature
0x50xx Device Hardware
0x60xx Device Software
0x61xx Internal Software
0x62xx User Software
0x63xx Data Set
0x70xx Additional Modules
0x80xx Monitoring
0x81xx Communication
0x8110 CAN Overrun (Objects lost)
0x8120 CAN in Error Passive Mode
0x8130 Life Guard Error or Heartbeat Error
0x8140 recovered from bus off
0x8150 CAN-ID collision
0x82xx Protocol Error
0x8210 PDO not processed due to length error
0x8220 PDO length exceeded
0x8230 DAM MPDO not processed destination object not available
0x8240 Unexpected SYNC data length
0x8250 RPDO timeout
0x90xx External Error
0xF0xx Additional Functions
0xFFxx Device specific

 

Standard error register values

Bits Description
bit 0 generic error
bit 1 current
bit 2 voltage
bit 3 temperature
bit 4 communication error (overrun error state)
bit 5 device profile specific
bit 6 reserved (always 0)
bit 7 manufacturer specific

The error reporting is also stored with in following Object Dictionary entries

Entry Array Meaning Size (bits)
0x1003 Yes Error code (8 Values stored) 32
0x1001 No Error register 8

The Entry at 0x1003 is in the following format and provides an error history for the device:-

Bits Description
31-24 Manufacturer-specific error code
23-16 Error register
15-0 Error code