| Field | Description | Example | |-------|-------------|---------| | SignalName | Unique within the message. | EngineSpeed | | StartBit | Bit index where the signal begins. CAN bit numbering can be or Motorola (big‑endian) – see below. | 24 | | Length | Number of bits (1–64). | 16 | | ByteOrder | 0 = Intel (little‑endian, LSB first), 1 = Motorola (big‑endian, MSB first). | 0 | | ValueType | + = unsigned, - = signed (two’s complement). | + | | Factor | Scaling factor (float). Physical = (Raw * Factor) + Offset. | 0.125 | | Offset | Offset (float). | 0 | | Min | Minimum physical value (optional, but brackets required). | 0 | | Max | Maximum physical value (optional). | 8000 | | Unit | String, may be empty "" . | "rpm" | | Receivers | One or more node names from BU_: . If none, use Vector__XXX . | TCU_EMS,BCM |
BA_ “Vendor” BU_ ECU_EMS “Bosch”; BA_ “GenMsgCycleTime” BO_ 100 50; BA_ “MySignalAttribute” SG_ 100 EngineSpeed “High”; Maps numeric raw values to human‑readable strings for a signal. Syntax:
BA_DEF_ BO_ “GenMsgCycleTime” INT 0 65535; BA_DEF_DEF_ “GenMsgCycleTime” 100; BA_ “GenMsgCycleTime” BO_ 100 20; BA_ “GenMsgCycleTime” BO_ 200 50;
BU_: ECU_Powertrain ECU_Body Gateway DiagnosticTool
CM_ "BU_ ECU_EMS" "Engine control module"; CM_ "BO_ 100" "Main engine data"; CM_ "SG_ 100 EngineSpeed" "Engine rotational speed"; Attributes allow extending the database with user‑defined metadata. BA_DEF_ – Define an attribute Syntax:
VAL_ msgId sigName value "text" ... ; This concludes the long‑form documentation of the DBC file format. Use it as a reference when creating, reading, or debugging CAN database files.
VERSION "" This section lists all possible attribute types that the file might define. Usually copied from a template. Example:
BU_: node1 node2 ... ;