LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What makes chart go wonky?

Well, thanks for the confirmation, but the bad news there is that you saw it on LV2009. (I'm on 8.6.1)

 

I don't think my code is doing anything wrong.

 

And this strips away all the other stuff and (seemingly) shows the problem every time so that's a troubleshooter's dream.

 

I don't know whether the gridlines-going-wonky problem and the plots-going-wonky problem are related, but I hope this helps find them. 

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 41 of 62
(1,518 Views)

Steve,

 

I think what you have done seems reasonable.  The resulting behavior of the chart certainly exhibits some inconsistencies that need to be addressed.

 

Without any knowledge of the underlying code we can only guess, but my suspicion is that the some interaction between the chart history, scaling, and gridline generation is the root cause of both problems.

 

Lynn 

0 Kudos
Message 42 of 62
(1,513 Views)

johnsold wrote:

Steve,

 

I think what you have done seems reasonable.  The resulting behavior of the chart certainly exhibits some inconsistencies that need to be addressed.

 

Without any knowledge of the underlying code we can only guess, but my suspicion is that the some interaction between the chart history, scaling, and gridline generation is the root cause of both problems.

 

Lynn 


OOOHHHH, can we guess now? 

 

If it was my code, I would be looking for a race condition in the code that realizes the chart. The part of the code that is keeping the history is sycronized with the scale range properly when doing normal updates. Whenever the FP is hidden and shown there is some type of "reset" that is fixing the race condition.

 

Just my wild guess,

 

Ben

 

 

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 43 of 62
(1,509 Views)

Well, as long as we're throwing guesses into the ring, I'll toss one in too.

Having built my own general-purpose plotting code (in object pascal, some 15 years ago), I would hazard a guess that the gridlines problem is a confusion about when it needs to redraw the whole bloody mess, and when it can get away with simply scrolling the buffer left a pixel or two.

At least on the Mac, it was cheaper to scroll the already-drawn bitmap (with gridlines and plotted data) left by two pixels and re-draw the new data in the rightmost two pixels than to re-create the whole thing.

 

So, if it failed to recognize the need to re-draw from scratch, that would explain the gridline problem.

I don't see a connection to the plots-gone-wonky problem, but there's my two cents. 

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

Message 44 of 62
(1,505 Views)

JeffL wrote:

Hi again Coastal,

 

Obviously there is some problem here, but unfortunately none of us have been able to recreate it on our end. If you are able to create a VI that displays the issue at least intermittently, it would allow us to get to the root of the problem.


Hi Jeff,

 

I feel that with the above speculation it is now time to say

 

"Tag you are it!"

 

What I would suggest that NI do is;

 

1) Talk to the developer responsible for the chart (no not the PSE, the developer who's knows what is under the hood) and have THEM review all of this thread.

 

2) Find out from the developer what types of tricks they are uisng to do the chart updates (read carefully Steve's guess since it sound spot-on) and to avoid a complete redraw.

 

3) Brainstorm with them what can be done to push all of the edge conditions in their implementaion.

 

4) Develop code that pushes the "tricks" to their limit.

 

5) Don't just run it for a little while and say "can't duplicate". Beat it for a day or more. 

 

Analogy time!

 

Evryone has heard of or experienced taking a car to mechanic for a problem and them saying they could not find anything. Some of us have found excellent mechanics that don't give up but use the symptoms to devise a test that exercises the possible sub-systems and fixes what others could not find.

 

So please get the DEVELOPER involved in supporting their code.

 

Yes I know that Application Engineers have to follow procedures and you will have to work through the PSE. Well the "procedure" is getting in the way of getting this CAR'd and fixed so can we concider "bending the rules"? We really don't want NI to appear to be "wisling past the grave yard" do we?

 

As alway just trying to help (both myself and NI),

 

 

Ben

 

Please call me if you would like me to make some phone calls if you are not getting the support you need!

Message Edited by Ben on 10-16-2009 09:50 AM
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 45 of 62
(1,491 Views)

Update:

 

I called and logged a Platinum support request (SR# 1440031) and requested that this issue be escalated.

 

Steve's pictures showed there is a problem.

 

I can confirm I have seen the same issue.

 

The will be a meeting with the LabVIEW Product Support Engineer to discuss this issue latter today.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 46 of 62
(1,482 Views)

Just for the record, I want to point out that there are TWO problems, possibly related, possibly not.

One messes up the gridlines, as is demonstrated by the VI above.

The other messes up the plots, but I haven't been able to reproduce it on demand.

If I can offer any assistance to the problem-solving team, I'll be happy to. 

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

Message 47 of 62
(1,477 Views)

CoastalMaineBird wrote:

Just for the record,...

 

 

If I can offer any assistance to the problem-solving team, I'll be happy to. 


Good!

 

If you could zip up the app you are showing us and be ready to send that to support so they can simulate your hardware and run your code. NI has always been very good at protecting my IP rights and I have never had a problem with sharing my code with them.

 

Thank you!

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 48 of 62
(1,469 Views)

OK, well, I'm up to my armpits in ZIP files already. No problem.

Although I'll have to write a dissertation on what needs to run and how to get there. 

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 49 of 62
(1,451 Views)

I'd like to point out another misbehavior by this chart in the example I gave.

 

Once the chart is full (and starts scrolling) the CURRENT points are plotted such that you see a pixel on the LEFT side of the plot area, at the corresponding Y-height of each plot.

 

Look at the red circles on this image -  the pixels on the left side are some kind of drawing artifact (my plot line width is thicker than default).

 

This mystery pixel is in the color of the plot(s) in question.

 

A line width even thicker results in even fatter mystery pixels on the left.

 

 

Whether that's related to anything else, I cannot say. 

 

ChartsBug2.PNG

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

Message 50 of 62
(1,442 Views)