MATLAB: Is there a delay while using the J1939 FIFO blocks in xPC Target 5.0 (R2011a)

delayfifoj1939Simulink Real-Time

I have a model that uses J1939 Transmit/Receive blocks and I experience a 300ms delay when I perform a loopback test. I am sending and receiving 7 messages. The messages are triggered every 10ms.
When I use the equivalent CAN Blocks to transmit and receive I see a 50ms delay which I believe is the network delay. The sample time for my model is 10ms.

Best Answer

The following two features can be disabled in the J1939 Protocol Stack to help reduce latency:
1. Double Click the J1939 Protocol Stack Block.
2. Select the "Transport Protocol" tab and uncheck "Enable Transport Protocol". Click "Apply".
3. Select the "Network Management" tab and uncheck "Enable Address Claiming". Click "Apply".
These two features add some latency to the message transmission and reception depending on the type of messages being sent or how the J1939 network is set up.
If these features are not explicitly required, they can be turned off.
If the latency is observed only during the first transmission cycle then specifically address claiming might be the reason for the initial latency (since actual message transmission won't start until the node address is claimed successfully and acknowledged by other nodes).