Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

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 this:(in 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 :D

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;

1_1239936249.jpg
 

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


DonL said:
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 :D

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;

1_1239936249.jpg
 

[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.
 

[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
    BCFault.jpg
    131.6 KB · Views: 239

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top