Why message cannot be found in CAN database (.dbc text file) ?

Thread Starter

naseeam

Joined Jan 4, 2017
80
I have CAN database (dbc file). It's a text file. The extension of this file is dbc. When it is opened in Vector CANdb++ Editor, J1939 messages and CAN IDs are populated.

However, some of the CAN IDs that are in the CANdb++ Editor could not be found in the .dbc text file,

I open the .dbc text file, I search for one of the CAN IDs but it is not found. In the search field, I had entered the CAN ID in decimal.

In .dbc text file, messages start with BO_

I was expecting to find CAN id in one of rows that start with BO_

Why does this message show up in CANdb++ editor but not in the .dbc text file?

This is standard SAE J1939 message that is broadcasted on vehicle CAN bus. The message is SAS, Steering Angle Sensor Information. Message CAN ID is:

0x18F0 1D13
418,389,267
 

Papabravo

Joined Feb 24, 2006
21,264
It is probably the case that the CANdb++ Editor knows more about the J1939 universe than the CAN dbc file which may cover only a single vendor. Why would this be a surprise to you? The 29-bit identifiers cover a great deal of territory.
 

Thread Starter

naseeam

Joined Jan 4, 2017
80
I was surprised because I thought every message ECU software supports is in the .dbc text file. But it makes sense if CAN db++ already has knowledge of messages, they don't need to be in the .dbc file.

I thought I can just open .dbc text file and see decoding rules for all the messages ECU software supports.
 

Papabravo

Joined Feb 24, 2006
21,264
I was surprised because I thought every message ECU software supports is in the .dbc text file. But it makes sense if CAN db++ already has knowledge of messages, they don't need to be in the .dbc file.

I thought I can just open .dbc text file and see decoding rules for all the messages ECU software supports.
It is an interesting thought. I would also point out that several manufacturers might want to keep the details of their ECU messages confidential to prevent reverse engineering or mischief by basement engineers.
 
Top