J1939 Diagnostic Messages

J1939 Diagnostics: DM1, DM2 and the Structure of a DTC

Anyone reading out the fault memory of a commercial vehicle, an engine or an agricultural machine inevitably ends up with three abbreviations: SPN, FMI and OC. Together they form a Diagnostic Trouble Code (DTC), and it is transported by the diagnostic messages DM1 and DM2 defined in SAE J1939-73. This article explains how those two parameter groups are built, how to decompose a DTC correctly, and where hand-written parsers regularly get it wrong.

Continue reading “J1939 Diagnostic Messages”

Understanding CANopen SDO Abort Codes

Understanding CANopen SDO Abort Codes

Anyone commissioning CANopen devices knows the situation: an SDO access to an object fails and the tool reports a 32-bit value such as 0x06090011 or 0x08000022. Without looking it up, that number says very little — yet it carries the decisive information about why the access was rejected. This article explains how abort codes are structured and shows, for the cases that actually turn up in the field, what really lies behind them. Continue reading “Understanding CANopen SDO Abort Codes”