Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I send a LIN diagnostic request with the second byte equal to or greater than 0x30 using XNET 1.7?

I recently updated from XNET 1.4 to XNET 1.7.

 

After the update my PXI-8516 LIN card will no longer transmit a diagnostic request if the second byte (PCI byte) is equal to or greater than 0x30.  This is resulting in failures of tests that were developed using XNET 1.4, and failures of subsequent tests because the queued frames that weren't sent cause delays within the card.

 

How do send a LIN diangostic request with the second byte equal to or greater than 0x30 using XNET 1.7?

0 Kudos
Message 1 of 16
(8,373 Views)

Hi jnclaker,

 

I believe you also sent in an e-mail request with regards to this inquiry.  Are you seeing any error associated with the transmit?  How did the code work before?  I have some examples I'm going to send you via e-mail, please check your e-mail with regards to this request and let me know if it helps.  Thanks!

Matt S.
Industrial Communications Product Support Engineer
National Instruments
0 Kudos
Message 2 of 16
(8,357 Views)

Yes, I also sent an email regarding this problem.

 

I am using XNET to write a custom device for PXI-8516 LIN card.

 

I've attached a couple snippets showing where I've tracked the problem.

 

The only error that I've seen comes from the XNET Wait vi in the timeout snippet.  I believe that error occurs because frame queued in the write snippet is never transmitted by the LIN card.

Download All
0 Kudos
Message 3 of 16
(8,350 Views)

The custom device I'm using works for sending all of the other diagnostic requests in my tests, it just doesn't work if the second byte is equal to or greater than 0x30.  Maybe because that PCI is invalid?  However, that is exactly the reason I need to send it.

0 Kudos
Message 4 of 16
(8,345 Views)

Hello,

 

   I just started to use the LIN NI 9866 hardware, and have just the same problem. The second byte of master requests seems limited to 0x2F. I think the problems is in the Dll, because in labview step by step, up to the call of the dll, everything is OK, and data frames are not limited.

 

   Did you found a workaround for this problem?

 

Olivier.

0 Kudos
Message 5 of 16
(8,282 Views)
Which NI-XNET revision are you using?
0 Kudos
Message 6 of 16
(8,245 Views)

I use XNET 1.7 with a NI 9866

I work around this problem by temporarelly using x3A and x3B as request and response frame instead of usual LIN diagnostic frames (x3C & x3D), but that s not the right solution.

0 Kudos
Message 7 of 16
(8,241 Views)

Do you tried a XNET example for sending a LIN diagnostic request and response?

For example "LIN Frame Output Queued" and "LIN Frame Input Queued".

 

 

0 Kudos
Message 8 of 16
(8,235 Views)

Yes, i used this example which was just what i needed.

I works fine, only if second byte is below 0x30. Otherwise the frame just isn t sent.

0 Kudos
Message 9 of 16
(8,231 Views)

Can you make a screenshot of your settings?

 

I can't reproduce your problem. I see bus traffic also when setting the PCI byte to 0x30.

 

Do you check the bus traffic with the XNET bus monitor?

0 Kudos
Message 10 of 16
(8,217 Views)