LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

from CANoe to LabVIEW

It depends on which hardware you have.  If you need to use Vector hardware, then you can use these vxlapi wrappers as a starting point, but as Hooovahh said, you will also need to understand and implement the transport layer below UDS, ISO 15765.

 

It is possible to do but not simple. (I've had a LabVIEW>UDS>vxlapi>Vector implementation working for about 10 years, but the IP belongs to my employer, so I'm not at liberty to share.)


If you're using NI CAN hardware, then it would be easiest to use the Automotive Diagnostic Command Set Toolkit.

Troy - CLD "If a hammer is the only tool you have, everything starts to look like a nail." ~ Maslow/Kaplan - Law of the instrument
0 Kudos
Message 11 of 14
(326 Views)

@TroyK wrote:

 

It is possible to do but not simple. (I've had a LabVIEW>UDS>vxlapi>Vector implementation working for about 10 years, but the IP belongs to my employer, so I'm not at liberty to share.)


The blog post I linked to does this. I reimplemented the NI ADCS library in pure G, then wrapped the Vector, Intrepid, and KVaser drivers into it. With my package those three hardware types have a UDS, KWP2000, and other ISO 15765 palettes for doing all the things you'd want.  The unposted version makes these classes and adds the NI-CAN and NI-XNet options but I have similar posting limitations.

Message 12 of 14
(307 Views)

@Hooovahh wrote:

I believe a good resource for understanding ISO 15765, and UDS is my blog post.  CAN Blog Part 8. It  could use some updated examples, and could have the drivers rewritten into class abstraction.  But as far as understanding the UDS messages I think it is very useful.  There is a core that does all the state machine stuff for sending and receiving long messages.


Extremely good read.  Thank you!

0 Kudos
Message 13 of 14
(299 Views)

From your ISO CAN library, the mutiframe part seems to be not working at a specific part when writing blocks say for example
Expected:
TxID: 21 xx xx xx xx xx xx xx
TxID: 22 xx xx xx xx xx xx xx
...
TxID: 2A xx xx xx xx xx xx xx
RxID: 30 0A 05 xx xx xx xx xx
TxID: 2B xx xx xx xx xx xx xx
Actual:
TxID: 21 xx xx xx xx xx xx xx
TxID: 22 xx xx xx xx xx xx xx
...
TxID: 2A xx xx xx xx xx xx xx
RxID: 30 0A 05 xx xx xx xx xx
TxID: 21 xx xx xx xx xx xx xx
RxID: 03 7F 36 24 xx xx xx xx

Not sure on what I'm missing out..?
This hasppens when I'm trying to flash an ECU at Transfer Data block...

r94_0-1727951871711.png

 

 

0 Kudos
Message 14 of 14
(142 Views)