0

Problem with J1939 PDU1 messages

Jesus 1 month ago in IQANdesign updated by Gustav Widén (System support) 4 weeks ago 4

Hi,

I'm having communication problems with a J1939 control module and I can't solve them.

There are some messages inside the PDU1 that I can't read through IQAN, I have analysed the can with a peak-can and the messages exist inside the can.

The messages are as follows:

Image 4550


The configuration I have in IQAN for each of these messages, for example ID: 7050hex is as follows:

Image 4551

I also tried assigning PGN=PF*256=28672, but that didn't work either.

I can't assign PGN 112 (70hex), when I exit the message and enter again, the program has automatically set it back to 0. The Destination adress can be assigned without any problem.

The module has address 33 (21hex):

Image 4552


Analysing the CAN, it is clear that messages are being sent:

Image 4553

If you can tell me how to configure the channels to be able to read these messages, it would be a great help.

Thanks you for your attention.

I think you should try using a generic bus with a 29 bit identifier.

When I evaluate the full identifier (hex), it looks like the PGN is always 112 and the source address is different for each message so I am not sure you really have J1939 protocol there:

0x7050 = PGN 112, SA 80

0x7060 = PGN 112, SA 96

0x7070 = PGN 112, SA 112

0x7080 = PGN 112, SA 128

0x7090 = PGN 112, SA 144

0x70A0 = PGN 112, SA 160

0x70B0 = PGN 112, SA 176

You can put the full identifier (hex) into generic frames and give that a go.

Image 4554

Thanks for your attention Tim, the communication protocol is J1939 because I receive DM1 messages from the module, so I have to keep that CAN line configured as J1939 because there are more modules connected to this CAN BUS. I have no free CAN BUS lines left, so I can't configure an additional bus line as generic.

+1

Sounds like it might be a bus with some proprietary messages, not all according to the J1939 standard.

If you use IQANanalyze you can use the J1939 decoder to see if the messages are native to J1939.

A PDU1 message cannot really have PGN 112. 

In the J1939 identifier, there is a PF byte and a PS byte. On PDU1, PS byte is the destination address.

The PGN of a PDU1 message is what you have when the PS byte is 0.

Image 4563

To read the message, configure your JFIN to read PGN 0 and DA 112.

Alternatively, you could set the J1939 address on the master module to 112 and set DA property to “addressed to me”

To get the complete ID right, you also need to have the J1939 module you assign the JFIN to set to the correct Source Addressed. As your list shows six different values on the last byte of the identifier, you'd need six J1939 modules in the IQANdesign system layout.

As Tim pointed out, the messages does not look like proper J1939.