What is the message format used for a DTC on the J1939 bus?

Status
Not open for further replies.

DonL

Newbie level 4
Joined
Mar 30, 2009
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,321
Does anyone know what the message format is for a DTC on the J1939 bus? For example, what byte location are the SPN, FMI and Counts in PGN 65262? I am getting data in that PGN like thisin HEX)
PGN 25262 Source 0
[01][64][87][CA][FE][0][6][0][0][C7][FF][FF][FF][FF][FF][FF][FF][0][0][0][0]
any help would be appreciated...
 

dtc j1939

funnynypd said:
I believe you are talking about PGN 65226.
PGN 65262 is Engine Temperature 1 (ET1).

A screen cut of your software would help a lot.

Yes, typo

I copied a sample using Trans Temp from PGN 65272 as an example of how I am pulling the data, See Below... what I need to know is in the fault code PGN 65226, I retreive the data in a message format, from what I have been able to learn, the breakdown is as follows:

6 Data Bytes

Byte 1 bit 5&6 Red Lamp Status PGN 623
Byte 1 bit 3&4 Amber Lamp status PGN 624
Byte 1 bit 1&2 Protect Lamp Staus PGN 987
Byte 1 bit 7&8 Malfunction Indicator PGN 1213
Byte 3&4 SPN of fault code PGN 1214
Byte 5 FMI of fault code PGN 1215
Byte 6 first 7 bits = Counts PGN 1216
Byte 6 8th bit=Conversion Method PGN 1706

then the sequence repeats until all active codes are sent, so my message would be 24 characters long if there were 4 faults and I have no byte 2 breakdown...

When I apply this I get bad results, all other PGNs I apply this to work flawlessly (See attached screen clip) so I must be looking at it wrong... wrong byte locations, missing something...

The same with 65231, 65236, 65727, and 65230

Can you tell me the makeup of these PGNs dealing only with the data segment


In the following snipit, I am pulling the Transmission Temperature (Bytes 5&6) from PGN 65272 then converting it to degrees f.

SPN 177 is byte 5&6 of PGN 65272, offset is resolution is .03125 offset is -273 to get degrees in C. then *9/5+32 to convert to Degrees F. then I format the CString Value to display the temperature

SNIPIT ===================>
case 65272:
// SPN 177 trans temp
fReading = (double) UnPackTwoByteIntegerLSB( &ucMessage[i+4] );
Value.Format(_T("%4.2f Deg. F"),fReading * .03125 +(-273) * 9 / 5 +32 );
break;

 

spn j1939

Please disregard, I purchased the diagnostic layer papers from SAE and found my answer, anyone needing help in this area or PGN SPN details, please feel free to ask, or email me at pfsupport@rogers.com.

Thanks all


 

[Priority |Extended Data Page |Data Page |PDU Format |PDU Specific |Source Address ]
[3 bit] | [1 bit] | [1 bit] | [8 bit] |[8 bit] |[8 bit]
[-------------------- PGN FORMAT --------------------------------]
*****************************************************************************************
[Data Field]
[BYTE 0][BYTE 1][BYTE 2][BYTE 3][BYTE 4][BYTE 5][BYTE 6][BYTE 7]
*****************************************************************************************
BYTE 0
bits 8-7 Malfunction Indicator Lamp Status
bits 6-5 Red Stop Lamp Status
bits 4-3 Amber Warning Lamp Status
bits 2-1 Protect Lamp Status

BYTE 1
bits 8-7 Flash Malfunction Indicator Lamp
bits 6-5 Flash Red Stop Lamp
bits 4-3 Flash Amber Warning Lamp
bits 2-1 Flash Protect Lamp

BYTE 2
bits 8-1 SPN, [DTC Byte 1] Low byte (7-0) bit format

BYTE 3
bits 8-1 SPN, [DTC Byte 2] High Byte (7-0) bit format

BYTE 4
bits 8-6 SPN, 3 most significant bits (most significant at bit 8)
bits 5-1 FMI (most significant at bit 5)

BYTE 5
bit 8 SPN Conversion Method

bits 7-1 Occurrence Count
BYTE 6 - NA
BYTE 7 - NA

I hope this will be useful for u.
 


Thanks... I got it all figured out,
 

Attachments

  • BCFault.jpg
    131.6 KB · Views: 247

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…