NI VeriStand Add-Ons Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Diagnostics (CAN) Addon Custom Device support?

Greetings all! I recently found the Diagnostics Addon CD on Github, downloaded it and dove in. I'm wondering if the author (eatondan) is active here because I have some questions.

I'm trying to add CAN diagnostic communications over UDS to my HIL systems, pretty much exactly the same thing that's described in this SAE paper (http://papers.sae.org/2011-01-0454/). I'm fairly new to UDS and complex VS Custom Devices, and the Diagnostics Addon CD is both of these. The hierarchy in the project is very different than other CDs I've seen, and I can't really figure out why.

I also can't seem to find the connection between the included temporary Diagnostics database file (to be replaced, one would assume, by the CAN Diag database of interest). Given that I'm having to write a custom XML parser since VS doesn't support .odx file import, I'd like to know exactly what I need to parse and pass to the CD. I have a general idea so far, due to the standard services/data that UDS prescribes, but I need to find more details on the internal Diag DB-to-Diag CD connections to fill in the gaps.

I also can't get the Help CHM file to display in the built CD after I add it to a VS project, but that might have something to do with our IT policies.

So, any help from eatondan (or anyone else on here that's familiar with this CD) will be greatly appreciated.

Thanks!

edit: OK, so I managed to locate the Initialize Database VI, which answers one question. It's pretty simple and it looks like it's just taking the Diagnostic mode database info you provide and turning it into a plain old CAN cluster. Not much help, unfortunately.

0 Kudos
Message 1 of 10
(11,376 Views)

Hi,ElectricWraith:

Do you solve the problem now?I'm also  doing the work that creating Diagnostic Custom Device with CAN (ISO15765).I just want the HIL system to receive multiple frame OBD fault message.

(please forgive my poor english!)

Thank you

0 Kudos
Message 2 of 10
(10,057 Views)

CrystalMiao,

I've had a good deal of success with this Custom Device, but I've had to learn a lot in the process. First off, the Temp Diganostic Database can be ignored, the supported protocol services handle getting the data you need. The best way to go about reading DIDs or DTCs from your ECU is to manually add & configure them in the System Definition File via System Explorer.

Have you built and deployed the Custom Device? Is it functioning in any way for you?

0 Kudos
Message 3 of 10
(10,057 Views)

ElectricWraith,

Thanks for your answer!

At first,I don't find the Diagnostic Addon CD that you recommend.Secondly, I just don't konw what you mean by the  suppored protocol services. I'm doing the test about OBD. I want to use the command called 15031 to receive OBD Diagnostic messages.Are you familiar with the ISO 15031? The process about requesting Diagnostic trouble codes ia that HIL send message 1 with the content "01 03 00 00 00 00 00 00 " firstly.Then ECU request mesage about part  Diagnostic trouble codes.Then HIL send message 2 with the conteng "30 00 00 00 00 00 00 00" immediately.ECU will request the rest of Diagnostic trouble codes. I don't know how to merge all of the Diagnostic trouble codes which ECU sends for two times.

Do you have any ideas?

0 Kudos
Message 4 of 10
(10,057 Views)

I'm not entirely sure, but I think that you can use UDS on CAN to request OBD Diagnostic messages. If you haven't gotten to the point where you've deployed the Diagnostics Custom Device to your real-time target yet, then you've got your work cut out for you.

The Diagnostics Custom Device can be found here: https://github.com/NIVeriStandAdd-Ons/Diagnostics-Custom-Device

I'd say download it and see if you can get it deployed before you go any farther. Be advised, It's got a fairly steep learning curve if you're doing anything other than basic reading of DTCs and DIDs.

0 Kudos
Message 5 of 10
(10,057 Views)

ElectricWraith,

Thanks for your answer.Sorry ,I'm just a freshman.I still don't understand.

The UDS (you say I can use on CAN to request OBD Diagnostic messages)and the Diagnostics Custom Device  are the same thing that on the github?How I can find the UDS and use it? I read the materials  on SAE you mentioned(http://papers.sae.org/2011-01-0454/He just introductioned the Unified Diagnostic Service's features.He don't say how to establish the Unified Diagnostic Service in detail.

I've looked at the link you gave me on github.I found that the Diagnostics Custom Device is develped by Labview 2013. But Our Labview version is 2011,Veristand version is 2011.

Thanks a lot!

0 Kudos
Message 6 of 10
(10,057 Views)

UDS (ISO 14229) is a specific protocol you can choose to implement Diagnostics on CAN (ISO15765), and it will allow you to receive OBD messages.

The Diagnostics Custom Device is the way you use UDS in Veristand to request Diagnostic info from your ECU. It also allows you to implement other protocols such as GMLAN, etc., but you don't need to worry about that.

Unless there's a version of the Custom Device for Veristand 2011 (and I don't think there is), then you won't be able to use it. There's a list of required software components on the Github page, the most important one is the Automotive Diagnostics Command Set, which isn't free and something you absolutely must have to use the Custom Device.

Based on what you're telling me, I think you need to find another way to get your OBD messages.

Message 7 of 10
(10,057 Views)

ElectricWraith,

Thanks for your answer! You are so patience.

I'm using  Teststand2014 to do the OBD test.So far,I can use Teststand to let ECU send OBD messages.But I still can't solve the problem that logging the messages whose ID are 0x18DAF100. I use NI-XNET to send and receive messages. If I can log the CAN messages and put them into an array, I can analyse whether the array has the message I want.

Do you have any ideas?Look farward to your request!

0 Kudos
Message 8 of 10
(10,057 Views)

I am new to LabVIEW. My company is getting a HIL rig which runs LabVIEW and Veristand. Our device uses UDS. I am trying to build the Diagnostics Custom Device using LabVIEW 2015 and Veristand 2015 SP1. I installed all of the dependancies listed at https://github.com/NIVeriStandAdd-Ons/Diagnostics-Custom-Device, however I am missing two vi's nirviXML_GetValue_String.vi and nirviXML_GetValue.vi.

So far the only place I have been able to locate these is in
https://github.com/NIVeriStandAdd-Ons/FPGA-Advanced-Interface-Tools/tree/master/LabVIEW%20FPGA%20Adv...

Did I install the dependencies correctly ? Is the correct source for these vi's ?

0 Kudos
Message 9 of 10
(8,630 Views)

Hi Comet63,

I think you should open a new post.

I installed the custom device and I didn't get those errors. However I haven't use it yet.

 

=======
My Channel: https://www.youtube.com/@LV_Lab

0 Kudos
Message 10 of 10
(8,609 Views)