2025-05-23 2:49 AM
Hello Team,
I am trying to integrate the CANOpen protocol Emergency error codes (EMCY) based on CiA 301, 418(battery module) and 419(battery charger) standards in the STM32L496VG controller. I could see the standard error codes in CiA 301, but I would like to know how to include custom error codes within the standard error codes mentioned below.
Error codes | Description |
0000h | Error reset or no error |
1000h | Generic error |
2000h | Current – generic error |
2100h | Current, CANopen device input side – generic |
2200h | Current inside the CANopen device – generic |
2300h | Current, CANopen device output side – generic |
3000h | Voltage – generic error |
3100h | Mains voltage – generic |
3200h | Voltage inside the CANopen device – generic |
3300h | Output voltage – generic |
4000h | Temperature – generic error |
4100h | Ambient temperature – generic |
4200h | Device temperature – generic |
5000h | CANopen device hardware – generic error |
6000h | CANopen device software – generic error |
6100h | Internal software – generic |
6200h | User software – generic |
6300h | Data set – generic |
7000h | Additional modules – generic error |
8000h | Monitoring – generic error |
8100h | Communication – generic |
8110h | CAN overrun (objects lost) |
8120h | CAN in error passive mode |
8130h | Life guard error or heartbeat error |
8140h | Recovered from bus off |
8150h | CAN-ID collision |
8200h | Protocol error - generic |
8210h | PDO not processed due to length error |
8220h | PDO length exceeded |
8230h | DAM MPDO not processed, destination object not available |
8240h | Unexpected SYNC data length |
8250h | RPDO timeout |
9000h | External error – generic error |
F000h | Additional functions – generic error |
FF00h | Device specific – generic error |
Thank you.
Solved! Go to Solution.
2025-05-23 4:25 AM
An answer from Google to the question: "implement a custom error code in CANopen":
CO_errorReport()
in CANopenNode) to report the error.0x5000
(Device Hardware, according to CANopenNode) to indicate a hardware-related error.
0x1011
(Device Hardware Error Register).
0x1000
as your custom error code for "Motor Overcurrent" within the MEF.
0x50 00 11 10 01 00 00 00
(where 0x5000
is the standard error code, 0x1011
is the error register, and 0x1000
is your custom error code).
0x5000
and the error register 0x1011
, then it will look for the custom error code 0x1000
in the MEF to identify the specific "Motor Overcurrent" error.
2025-05-23 4:25 AM
An answer from Google to the question: "implement a custom error code in CANopen":
CO_errorReport()
in CANopenNode) to report the error.0x5000
(Device Hardware, according to CANopenNode) to indicate a hardware-related error.
0x1011
(Device Hardware Error Register).
0x1000
as your custom error code for "Motor Overcurrent" within the MEF.
0x50 00 11 10 01 00 00 00
(where 0x5000
is the standard error code, 0x1011
is the error register, and 0x1000
is your custom error code).
0x5000
and the error register 0x1011
, then it will look for the custom error code 0x1000
in the MEF to identify the specific "Motor Overcurrent" error.