From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Chart timestamp accelerating - why does this VI not work?

In fighting with TDMS files, I decided to experiment with a different approach to get what I need - a stripchart with a long history, that I can pause and scroll back through to look for anomolies.  Came up with a clever (I thought) approach to it...  Not the most elegant, but it should work.  In the attached VI, I have 2 charts simulating my data on the left, and 2 charts that will be my scrollable history on the right.  I worked out how to apply a correct timestamp to the charts, and am basically just passing the history from the source chart to the history one - unless the "pause" button is on, which allows me to scroll back.  All of the charts are set with a window of 300 points, and the VI cycles at 200ms, so it should be a 1 minute active window before it scrolls off the edge and into the buffer.  The chart buffer size is set for 180000 for each chart, which should be 10 hours of data at this polling rate.

 

I start the program, everything is fine.  Both sets of charts begin populating, the timestamp is chugging away in 1 second intervals, it looks beautiful.  Then it all falls apart.  Once the chart is full, and begins scrolling, the timestamp goes nuts and begins accelerating.  It takes exactly 1 minute to fill the chart from empty, then the timestamp starts flying much faster - at least twice the speed, as the data being collected (and the actual time elapsed).  I haven't been able to determine if it is a set multiplier in speed, or if it is ramping up faster and faster.

 

So...  How is this possible?  I can't see what the code could be doing to cause this.  It's so very frustrating, because the pause and scroll feature works perfectly, just like I planned it.  But without an accurate timestamp, this is completely useless.

 

Edit - oops, attached old version of VI, updated with correct one now.

0 Kudos
Message 1 of 3
(2,533 Views)

I didn't run the code, but it sounds like this - http://lavag.org/topic/16789-chart-scale-falling-out-of-sync-with-data-grid/ . You can check if he found a solution.

 

Personally, I tend to use XY graphs because they allow more control and don't require a single dx for all points. They are more of a pain because you have to buffer the data yourself, but the code for that is reasonably easy and I believe there's an XY chart example in the example finder.


___________________
Try to take over the world!
0 Kudos
Message 2 of 3
(2,487 Views)

Thanks, tst.  Sounds like the same issue I'm seeing.  I'm going to try it in 2013 to see if that helps (found another reference that said it was a known bug in 2012 only, why it's still there and never been fixed I don't fully understand).  I'll just have to run through updating their entire system structure to 2013 runtimes...  Not exactly what I wanted, but not overly difficult to do.

 

As for the X-Y graph thing...  I toyed with that as well.  My problem is these UIs for our products have charts all over them, all with at least 2 signals stacked on each chart, so it would be a nightmare to dig through and rework.

0 Kudos
Message 3 of 3
(2,459 Views)