<...> Required field
<A|B> A or B required
[...] Optional field
[A|B] A or B optional
VERSION "<Number>"
BS_: [speed-kbit/s]
BU_: Node1 Node2 Node3 Node4
List of all Board Units (Nodes) in the Network. Also known as NetworkNodes, ECUs, Transmitters/Receivers, Producers/Consumers, SendingNodes/ReceivingNodes, etc.
BO_ <CAN-ID> <MessageName>: <MessageLength> <SendingNode>
- CAN-ID in decimal (not hex), must be unique and not repeated in the document.
- MessageLength in bytes.
SG_ <name> : <Start>|<Length>@<ByteOrder><+|-> (<factor>,<offset>) [<min>|<max>] "[unit]" [Rx]
- min,max: proportional to
factor
, eg: a 16-bit max 65535 becomes 655.35 with .01 offset - Length: in bits.
- Signed: + = unsigned; - = signed
- ByteOrder (endianness): 1 = little-endian, Intel; 0 = big-endian, Motorola
SG_ <name> [M|m<M-ID>] : <Start>|<Length>@<ByteOrder><+|-> (<factor>,<offset>) [<min>|<max>] "[unit]" [Rx]
- M: If M than this signals contains a multiplexer identifier.
- M-ID: Signal definition is only used if the value of the multiplexer signal equals to this value.
CM_ [BU_|BO_|SG_] [Node|CAN-ID] [SignalName] "<Comments>";
CM_ "<Comments>" ;
CM_ BU_ <NodeId> "<Comments>" ;
CM_ BO_ <CAN-ID> "<Comment>" ;
CM_ SG_ <CAN-ID> <SignalName> "<Comment>" ;
VAL_ <CAN-ID> <SignalsName> <Name|Definition> ;
VAL_TABLE_ <Name> <Definition> ;
List of IntValue "StringValue"
pairs, separated by whitespaces
BA_DEF_ BO_ "VFrameFormat" ENUM "StandardCAN","ExtendedCAN","StandardFD","ExtendedFD","J1939PG" ;
BA_DEF_ BO_ "GenMsgSendType" ENUM "cyclic","triggered","cyclicIfActive","none" ;
Supported types:
- cyclic
- triggered
- cyclicIfActive
- cyclicAndTriggered
- cyclicIfActiveAndTriggered
- none
BA_DEF_DEF_ "GenMsgSendType" "none" ;
BA_DEF_ BO_ "GenMsgCycleTime" INT <mininum=0> <maximum=10000> ;
Message Cycle Time intervals defined in milliseconds.
BA_DEF_DEF_ "GenMsgCycleTime" 0 ;
BA_DEF_ BO_ "GenMsgStartDelayTime" INT <mininum=0> <maximum=10000> ;
Time (ms) from startup to delay before sending the first message frame.
BA_DEF_DEF_ "GenMsgStartDelayTime" 0 ;
BA_DEF_ BO_ "GenMsgDelayTime" INT <mininum=0> <maximum=10000> ;
BA_DEF_DEF_ "GenMsgDelayTime" 0 ;
BA_DEF_ SG_ "SigType" ENUM "Default","Range","RangeSigned","ASCII","Discrete","Control","DTC" ;
BA_DEF_ SG_ "GenSigSendType" ENUM "Cyclic","OnWrite","OnChange","NoSigSendType" ;
BA_DEF_ SG_ "GenSigILSupport" ENUM "Yes","No" ;
BA_DEF_ SG_ "GenSigCycleTime" INT <minimum=0> <maximum=0> ;
BA_DEF_ SG_ "GenSigDelayTime" INT <minimum=0> <maximum=0> ;
BA_DEF_ SG_ "GenSigStartDelayTime" INT <minimum=0> <maximum=0> ;
BA_DEF_ SG_ "GenSigStartValue" INT <mininum=0> <maximum=0> ;
Defines the value as long as no value is set/received for this signal.
BA_DEF_DEF_ "GenSigStartValue" 0 ;
Document Scope:
This document doesn't claim to specifiy the complete Vector DBC standard
Sources:
- https://github.com/stefanhoelzl/CANpy
- http://pisnoop.s3.amazonaws.com/snoop_help_dbc.htm
- http://www.racelogic.co.uk/_downloads/vbox/Application_Notes/CAN%20Format%20for%20VBOXII%20and%20PRO%20v4.pdf
- https://hackage.haskell.org/package/ecu-0.0.8/src/src/j1939_utf8.dbc
- http://www.ingenieurbuerobecker.de/downloads/CANtool_Manual.pdf