Skip to content

DBC Extension for Telematics Logging

The following documentation describes the custom extension of the standard DBC format used to support telematics application development. The extension adds signal-specific attributes for telematics logging in addition to the standard DBC definitions.

For a general introduction of the standard DBC format, see the following tutorial provided by CSS Electronics.

The custom DBC extensions described in this document interact with the following telematics features and DataPlatform configurations:

Custom Field Definitions

The following custom fields are added to standard DBC signal definitions to control telematics logging behavior.

TelematicsLoggingEnabled

Defines whether a signal should be logged by the TCU. The field is an integer flag (0 or 1).

Value Description
0 The TCU must not log this signal
1 The TCU must log this signal

TelematicsLoggingIntervalSeconds

Defines the logging interval in seconds for cyclic logging.

Parameter Description
Integer value Frequency in seconds at which the signal is logged

TelematicsLoggingKey

Defines the unique identifier of the signal on the DataPlatform.

Parameter Description
String Signal key used as identifier in the DataPlatform

Note

Refer to the Signal Catalog for valid signal keys. Follow the Proemion Standard Metrics for rules for assigning signal keys.

TelematicsLoggingStrategy

Defines the logging strategy used by the TCU. The field is implemented as an enumeration (ENUM). Only the defined values are allowed.

Note

If needed, this enumeration can be extended with additional logging strategies upon request.

Value Description
Cyclic Signal is logged periodically based on TelematicsLoggingIntervalSeconds
OnChange Signal is logged when its value changes
OnMachineStart Signal is logged when the machine starts
OnMessage Signal is logged when any message containing the signal as payload is received

Use of Custom Fields

The custom fields extend standard DBC signal definitions and are used by the telematics application layer to control logging behavior.

  • Each signal must include appropriate logging configuration.
  • Select the logging strategy based on signal behavior.
  • Define the interval when using cyclic logging.
  • Ensure signal keys are aligned with the DataPlatform definitions.

Template DBC

The following template DBC file is provided as a reference for the custom telematics logging extension. For correct interpretation and practical use, open the file in a compatible DBC editor such as CANdb++, CANoe, or CANalyzer.

The template includes both standard DBC attributes and custom telematics extensions. Only the attributes prefixed with "TelematicsLogging" are part of the custom extension.

Download:

Template DBC (reference preview, click to view)
VERSION "created by canmatrix"


NS_ : 
    NS_DESC_
    CM_
    BA_DEF_
    BA_
    VAL_
    CAT_DEF_
    CAT_
    FILTER
    BA_DEF_DEF_
    EV_DATA_
    ENVVAR_DATA_
    SGTYPE_
    SGTYPE_VAL_
    BA_DEF_SGTYPE_
    BA_SGTYPE_
    SIG_TYPE_REF_
    VAL_TABLE_
    SIG_GROUP_
    SIG_VALTYPE_
    SIGTYPE_VALTYPE_
    BO_TX_BU_
    BA_DEF_REL_
    BA_REL_
    BA_DEF_DEF_REL_
    BU_SG_REL_
    BU_EV_REL_
    BU_BO_REL_
    SG_MUL_VAL_

BS_:

BU_: ECM Display ClimateController CANLink
VAL_TABLE_ Vt_DO_Error 3 "N/A" 2 "Undefined" 1 "Error" 0 "OK" ;
VAL_TABLE_ Vt_J1939_Boolean 3 "N/A" 2 "Error" 1 "True" 0 "False" ;


BO_ 3221225472 VECTOR__INDEPENDENT_SIG_MSG: 0 Vector__XXX
 SG_ EngTotalIdleFuelUsed : 0|32@1+ (0.5,0) [0|2105540607.5] "L" Vector__XXX

BO_ 2566842624 LFC: 8 ECM
 SG_ EngTotalFuelUsed : 32|32@1+ (0.5,0) [0|2105540607.5] "L"  Display
 SG_ EngTripFuel : 0|32@1+ (0.5,0) [0|2105540607.5] "L"  Display

BO_ 2364539904 EEC1: 8 ECM
 SG_ EngStarterMode : 48|4@1+ (1,0) [0|15] ""  Display
 SG_ EngSpeed : 24|16@1+ (0.125,0) [0|8031.875] "rpm"  Display
 SG_ ActualEngPercentTorque : 16|8@1+ (1,-125) [-125|125] "%"  Display

BO_ 2566841600 HOURS: 8 ECM
 SG_ EngTotalHoursOfOperation : 0|32@1+ (0.05,0) [0|210554060.75] "hr"  Display



CM_ BO_ 3221225472 "This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider.";
CM_ SG_ 3221225472 EngTotalIdleFuelUsed "Accumulated amount of fuel used during vehicle operation while under idle conditions.";
CM_ BO_ 2566842624 "Fuel Consumption (Liquid)";
CM_ SG_ 2566842624 EngTotalFuelUsed "Accumulated amount of fuel used during vehicle operation.";
CM_ SG_ 2566842624 EngTripFuel "Fuel consumed during all or part of a journey.";
CM_ BO_ 2364539904 "Electronic Engine Controller 1";
CM_ SG_ 2364539904 EngStarterMode "There are several phases in a starting action and different reasons why a start cannot take place.";
CM_ SG_ 2364539904 EngSpeed "Actual engine speed which is calculated over a minimum crankshaft angle of 720 degrees divided by the number of cylinders.";
CM_ SG_ 2364539904 ActualEngPercentTorque "The calculated output torque of the engine.";
CM_ BO_ 2566841600 "Engine Hours, Revolutions";
CM_ SG_ 2566841600 EngTotalHoursOfOperation "Accumulated time of operation of engine.";
BA_DEF_ SG_  "TelematicsLoggingIntervalSeconds" INT 0 64255;
BA_DEF_ SG_  "TelematicsLoggingStrategy" ENUM  "Cyclic","OnChange","OnMachineStart";
BA_DEF_ BO_  "GenMsgCycleTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgRequestable" INT 0 1;
BA_DEF_ BO_  "GenMsgSendType" ENUM  "Cyclic","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","IfActive","NoMsgSendType";
BA_DEF_ BO_  "MessageTitle" STRING ;
BA_DEF_ BO_  "VFrameFormat" ENUM  "StandardCAN","ExtendedCAN","reserved","J1939PG";
BA_DEF_ SG_  "Category" ENUM  "0:None","1:Undefined","2:User Level","3:Service Level","4:Factory Level";
BA_DEF_ SG_  "GenSigSendType" ENUM  "Cyclic","OnWrite","OnWriteWithRepetition","OnChange","OnChangeWithRepetition","IfActive","IfActiveWithRepetition","NoSigSendType";
BA_DEF_ SG_  "GenSigStartValue" FLOAT -3.4E+38 3.4E+38;
BA_DEF_ SG_  "GeneratorName" STRING ;
BA_DEF_ SG_  "IO_pin_id" STRING ;
BA_DEF_ SG_  "IO_title" STRING ;
BA_DEF_ SG_  "IO_type" ENUM  "0:DO","1:DI","2:AO","3:AI","4:PO","5:PI","6:FRQI";
BA_DEF_ SG_  "IsPermanent" INT 0 1;
BA_DEF_ SG_  "IsWritable" INT 0 1;
BA_DEF_ SG_  "LegacyNameSPN" STRING ;
BA_DEF_ SG_  "LegacyRange" STRING ;
BA_DEF_ SG_  "LegacyResolution" STRING ;
BA_DEF_ SG_  "SPN" INT 0 524287;
BA_DEF_ SG_  "SigType" ENUM  "Default","Range","RangeSigned","ASCII","Discrete","Control","ReferencePGN","DTC","StringDelimiter","StringLength","StringLengthControl";
BA_DEF_ SG_  "TelematicsLoggingEnabled" INT 0 1;
BA_DEF_ SG_  "TelematicsLoggingKey" STRING ;
BA_DEF_ BU_  "Bus" ENUM  "1","2","3","1+2";
BA_DEF_ BU_  "NmStationAddress" INT 0 255;
BA_DEF_  "BusType" STRING ;
BA_DEF_  "ProtocolType" STRING ;
BA_DEF_DEF_  "TelematicsLoggingIntervalSeconds" 0;
BA_DEF_DEF_  "TelematicsLoggingStrategy" "Cyclic";
BA_DEF_DEF_  "GenMsgCycleTime" 0;
BA_DEF_DEF_  "GenMsgRequestable" 0;
BA_DEF_DEF_  "GenMsgSendType" "NoMsgSendType";
BA_DEF_DEF_  "MessageTitle" "";
BA_DEF_DEF_  "VFrameFormat" "J1939PG";
BA_DEF_DEF_  "Category" "0:None";
BA_DEF_DEF_  "GenSigSendType" "NoSigSendType";
BA_DEF_DEF_  "GenSigStartValue" 0;
BA_DEF_DEF_  "GeneratorName" "";
BA_DEF_DEF_  "IO_pin_id" "";
BA_DEF_DEF_  "IO_title" "";
BA_DEF_DEF_  "IO_type" "";
BA_DEF_DEF_  "IsPermanent" 0;
BA_DEF_DEF_  "IsWritable" 0;
BA_DEF_DEF_  "LegacyNameSPN" "";
BA_DEF_DEF_  "LegacyRange" "";
BA_DEF_DEF_  "LegacyResolution" "";
BA_DEF_DEF_  "SPN" 0;
BA_DEF_DEF_  "SigType" "";
BA_DEF_DEF_  "TelematicsLoggingEnabled" 0;
BA_DEF_DEF_  "TelematicsLoggingKey" "";
BA_DEF_DEF_  "Bus" "2";
BA_DEF_DEF_  "NmStationAddress" 254;
BA_DEF_DEF_  "BusType" "CAN";
BA_DEF_DEF_  "ProtocolType" "J1939";
BA_ "BusType" "CAN";
BA_ "ProtocolType" "J1939";
BA_ "NmStationAddress" BU_ ECM 0;
BA_ "NmStationAddress" BU_ Display 128;
BA_ "NmStationAddress" BU_ ClimateController 192;
BA_ "NmStationAddress" BU_ CANLink 40;
BA_ "GenMsgSendType" BO_ 2566842624 8;
BA_ "VFrameFormat" BO_ 2566842624 3;
BA_ "GenMsgCycleTime" BO_ 2364539904 100;
BA_ "GenMsgSendType" BO_ 2364539904 0;
BA_ "VFrameFormat" BO_ 2364539904 3;
BA_ "GenMsgSendType" BO_ 2566841600 8;
BA_ "VFrameFormat" BO_ 2566841600 3;
BA_ "GenSigStartValue" SG_ 3221225472 EngTotalIdleFuelUsed 0;
BA_ "GeneratorName" SG_ 3221225472 EngTotalIdleFuelUsed "TotalFuelUsedIdle";
BA_ "IsPermanent" SG_ 3221225472 EngTotalIdleFuelUsed 0;
BA_ "SPN" SG_ 3221225472 EngTotalIdleFuelUsed 236;
BA_ "SigType" SG_ 3221225472 EngTotalIdleFuelUsed 1;
BA_ "TelematicsLoggingEnabled" SG_ 3221225472 EngTotalIdleFuelUsed 1;
BA_ "TelematicsLoggingKey" SG_ 3221225472 EngTotalIdleFuelUsed "value.custom.value.common.engine.fuel.idle.total";
BA_ "GenSigStartValue" SG_ 2566842624 EngTotalFuelUsed 0;
BA_ "GeneratorName" SG_ 2566842624 EngTotalFuelUsed "TotalFuelUsed";
BA_ "IsPermanent" SG_ 2566842624 EngTotalFuelUsed 1;
BA_ "SPN" SG_ 2566842624 EngTotalFuelUsed 250;
BA_ "SigType" SG_ 2566842624 EngTotalFuelUsed 1;
BA_ "TelematicsLoggingEnabled" SG_ 2566842624 EngTotalFuelUsed 1;
BA_ "TelematicsLoggingKey" SG_ 2566842624 EngTotalFuelUsed "value.custom.value.common.engine.fuel.used.total";
BA_ "GenSigStartValue" SG_ 2566842624 EngTripFuel 0;
BA_ "GeneratorName" SG_ 2566842624 EngTripFuel "TripFuel";
BA_ "IsPermanent" SG_ 2566842624 EngTripFuel 0;
BA_ "SPN" SG_ 2566842624 EngTripFuel 182;
BA_ "SigType" SG_ 2566842624 EngTripFuel 1;
BA_ "GenSigStartValue" SG_ 2364539904 EngStarterMode 0;
BA_ "GeneratorName" SG_ 2364539904 EngStarterMode "EngineStarterMode";
BA_ "IsPermanent" SG_ 2364539904 EngStarterMode 0;
BA_ "SPN" SG_ 2364539904 EngStarterMode 1675;
BA_ "SigType" SG_ 2364539904 EngStarterMode 4;
BA_ "GenSigStartValue" SG_ 2364539904 EngSpeed 0;
BA_ "GeneratorName" SG_ 2364539904 EngSpeed "EngineSpeed";
BA_ "IsPermanent" SG_ 2364539904 EngSpeed 0;
BA_ "SPN" SG_ 2364539904 EngSpeed 190;
BA_ "SigType" SG_ 2364539904 EngSpeed 1;
BA_ "TelematicsLoggingEnabled" SG_ 2364539904 EngSpeed 1;
BA_ "TelematicsLoggingKey" SG_ 2364539904 EngSpeed "value.custom.value.common.engine.speed";
BA_ "GenSigStartValue" SG_ 2364539904 ActualEngPercentTorque 125;
BA_ "GeneratorName" SG_ 2364539904 ActualEngPercentTorque "EngineTorque";
BA_ "IsPermanent" SG_ 2364539904 ActualEngPercentTorque 0;
BA_ "SPN" SG_ 2364539904 ActualEngPercentTorque 513;
BA_ "SigType" SG_ 2364539904 ActualEngPercentTorque 1;
BA_ "TelematicsLoggingEnabled" SG_ 2364539904 ActualEngPercentTorque 1;
BA_ "TelematicsLoggingKey" SG_ 2364539904 ActualEngPercentTorque "value.custom.value.common.engine.torque.actual";
BA_ "GenSigStartValue" SG_ 2566841600 EngTotalHoursOfOperation 0;
BA_ "GeneratorName" SG_ 2566841600 EngTotalHoursOfOperation "OperatingHours";
BA_ "IsPermanent" SG_ 2566841600 EngTotalHoursOfOperation 0;
BA_ "SPN" SG_ 2566841600 EngTotalHoursOfOperation 247;
BA_ "SigType" SG_ 2566841600 EngTotalHoursOfOperation 1;
BA_ "TelematicsLoggingEnabled" SG_ 2566841600 EngTotalHoursOfOperation 1;
BA_ "TelematicsLoggingKey" SG_ 2566841600 EngTotalHoursOfOperation "value.custom.value.common.engine.hours.total";
VAL_ 2364539904 EngStarterMode 0 "startNotRqed" 1 "starterActiveGearNotEngaged" 2 "starterActiveGearEngaged" 3 "strtFnshdStrtrNtActvAftrHvngBnA" 4 "strtrInhbtdDToEngAlreadyRunning" 5 "strtrInhbtdDTEngNtReadyForStart" 6 "strtrInhbtdDTDrvlnEnggdOthrTrns" 7 "strtrInhbtdDToActiveImmobilizer" 8 "strtrInhbtdDueToStarterOvertemp" 9 "1011Reserved" 12 "starterInhibitedReasonUnknown" 14 "error" 15 "notAvailable" ;