0

Multiple JFOUT Multi-Packet Messages from Different source addresses

JackT 1 year ago in IQANdesign updated 1 year ago 5

Hello,

I have a couple J1939 messages that are longer than 8 bytes (EC1 and RC) which are 40 and 19 bytes respectively, that I wish to transmit from the IQAN display on a J1939 network, each from a different source address. 

When I select multi-packet for the JFOUT, the source address is no longer configurable and must be set as the default source address. Is there a way around this or any advice? Thanks.

Hi JackT,

You can configure the J1939 source address for a multipacket frame as long as the destination address is set to Broadcast, and send method is On trigger:

Image 3812

Hello Tim,

Thanks for the response. I am able to set the source address now, thanks!

In terms of selecting multipacket, does IQAN handle the transmission of long messages using transport protocol - connection management (TP.CM)? The documentation only specifies "transport protocol", but I assume IQAN will use the correct protocol for broadcasting vs specific destination address? IE, I will not need to use PGN 60416 to utilize the protocol, IQAN will do it on its own if I wish to broadcast?

Also, the total length of each JFOUT block can be 8 byte in length. This makes me think I need to string along multiple JFOUT blocks, each with broadcast and multipacket enabled, from the same PGN of the message I wish to send, with the respective bit offsets.

If this is true, it is worth noting that when you select a length of less than 8 bytes in the JFOUT block, broadcast and multipacket become unavailable. IE, if your PGN message is 19 bytes in length, you will need two 8 byte messages and a shorter length message at the end to handle all the data. 


So I am wondering, if you apply the correct offsets in each 8-byte message, will IQAN correctly trim the last message if no data exists beyond the last used bit? Thanks

+1

For those of you following this thread, my intention is to use the IQAN screen to "mimic" other controllers on the J1939 network to clear DM1 messages on the instrument control unit (ICU) in my vehicle. One of the DM1 faults on the ICU was caused by the ECU not transmitting the PGN "EC1". In our case, the engine on our truck does not exist on the chassis as it is a retrofit. EC1 is a long J1939 message (40 bytes long). 

I was able to successfully transmit this EC1 message using one JFOUT block, set to broadcast with a multipacket. I was not able to make multiple JFOUT blocks interact with each other, so I decide to make it work with just one. 

Image 3814

I added in filler signals into the JFOUT block (all set to 0) and created an 8 byte message that I placed at the end of the PGN data part (so that the message ended at byte 40). I set all unused bits to zero.

In the end, the screen seems to transmit an empty EC1 message from a specified source address (0), and this successfully clears the fault on the ICU. 

Hope this helps anyone trying to transmit long J1939 messages to clear any existing DM1 faults on a retrofit project where a controller may no longer exist on the CAN bus.

+1

Hi JackT,


Yes, the total length of each JFOUT block is limited to 8 bytes in length but IQAN manages the sending of the individual 8 byte messages for you. There is no need to create individual JFOUT's for each 8 byte group - this is handled automatically.

If you run a CAN trace with IQANanalyse after creating the JFOUT (with more that 8 bytes of data) you will see the magic. The 8 byte blocks are created according to how many are needed to transmit all your JPOUT's

Thank you Tim. I was previously unaware of IQANAnalyze. I will check this out, thanks.