LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Running profile performance and memory tool simultaneously with my ECU programming application solves the issue, why ?

 

Thanks for taking a look at this issue.Smiley Happy I have encountered rather bizzare phenomenon while troubleshooting my applciation.

 

Here is what I am doing:

I am developing an application in LabVIEW to flash ECU (Engine control unit). I am using ADCS toolkit for my development and the end product will be an executable used in run time environment.

 

I have all the documents and procedure on how to flash the ECU and I am carefully following exact steps to do so. The data file that I am flashing contains some 300 frames divided in 4 blocks (not a uniform distribution). When it starts programming the ECU, my application fails randomly during transfer of data to ECU some between 0 and 300 frame. After CAN monitoring and checking CAN Logs I found that the while transferring the data CAN transmit jumps the frames and misses few in between. (ECU must have a CRC check that immediately flags the incorrect data sequence and breaks the communication.) 

 

So I started to debug my code and see if I am having any race conditions or not meeting any ECU specific requirement for programming. I increased timeout, no. of trials, delay and even tried to bring everything within same execution system by forcing it to use UI thread using references to upper level VIs but no luck, still keeps failing randomly.

 

BUT, if I run performance and memory tool with memory usage checked. It always transfers data successfully to the unit without fail.

 

What I dont understandSmiley Mad:

Is what is the performance tool doing that is fixing the problem ? And how can I replicate it within my application since I have to use it as executable where I will not have the help from performance and memory tool.

 

Any suggestions or ideas to try will be greatly appreciated.

 

Thanks,

Vicky Mahodaya

 

 

0 Kudos
Message 1 of 5
(2,406 Views)

My very first thought was that you are sending things too fast.  But since you already tried adding delays, I'm so sure.  As far as I know, the profile tool should just be slowing things down just a little bit.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 5
(2,400 Views)

Yes Crossrulz, I have tried adding delay to upper level VIs, since all the lower level VIs are password protected within data transfer.vi in ADCS toolkit. If I had access to them I might have tried creating data transfer VI on my own.

 

Vicky

0 Kudos
Message 3 of 5
(2,393 Views)

You should probably contact whoever made the toolkit.

0 Kudos
Message 4 of 5
(2,388 Views)

@altenbach: Yes I did, they siad they are working on replicating the issue on thier end and will provide me solution as soon as they find one but I need this done soon and the issue is pending since a month.

 

I am simply looking to see if someone else has encountered this or related issue and provide some insight or any new idea that I hav'nt tried already. Basically just need second set of eyes to double check if I missed something.

 

Thanks,

Vicky

0 Kudos
Message 5 of 5
(2,376 Views)