LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

waveform chart display is missing chunks of data

Hi,
 
I'm using a waveform chart in strip chart update mode. I'm sending a lot of waveforms to it. As the plots move along, chunks of the data don't appear on the chart. The data is in the chart history. And, if I pause the chart, then zoom in on the suspect region of data, it all will be displayed.
The longer that the vi runs, the worse the problem gets. The vi doesn't slow down and I don't see memory usage climbing.
 
I've attached a sample vi that exibits the problem. It uses a simulated NI USB-6255 as the signal source. LabVIEW 8.5, WinXP
 
I've also moved the vi from a notebook computer to my desktop which has 2 dual core processors and 2 GB Ram. The effect is the same.
 
My example shows all signals being sent to the chart (80 analog waveforms + 24 digital waveforms). In my real application I have 9 analog and 16 digital. I convert the digital waveforms to an analog representation before piping it into the chart.
 
Any ideas on how to correct the display dropouts?
0 Kudos
Message 1 of 6
(3,683 Views)
Is the missing data chunk the same size as the number of points you update the chart with each time through your loop?

Your front panel update rate may be too slow to display your data properly.  Maybe updating with larger chunks each time may help.




Message Edited by rpursley8 on 04-18-2008 04:38 PM
Randall Pursley
0 Kudos
Message 2 of 6
(3,678 Views)

Randall,

I don't think so. Its very difficult to tell. Cursors are not availabe on the chart, and if I zoom in to get a closer look, the plots fill in the empty spots. When I first read your comment, it was about 200ms worth of missing info. The longer it runs the worse it gets. Now its about 420ms worth of missing info. I've changed my loop delay to 10ms. The reported loop time is between 190ms and 205ms.

One thing that I did notice, is that the missing chunks exist only one at a time. Let me explain. Because this is a strip chart, the newest data appears on the right and marches to the left. When a blank chunk appears on the right, it is the only blank chunk that exists as it marches off to the left. the moment that it drops of the left side of the chart, another blank chunk appears on the right side.

 

0 Kudos
Message 3 of 6
(3,670 Views)
I still think its an update problem.  Have you tried one of the alternate update modes?  If so, did you see the same kind of behavior.


Message Edited by rpursley8 on 04-19-2008 08:05 PM
Randall Pursley
0 Kudos
Message 4 of 6
(3,634 Views)

rpursley8,

I tried the other update modes like you suggested (see attached). I think I see what is happening. Even though I get all datapoints that are sampled, during any one loop, I get a buffered group from one source (the digital inputs) that have the most recent time stamp. This information gets displayed. The next loop, my analog input has data with the same timestamp (its the oldest part of the buffered data). It gets included in the chart history, but not displayed because the chart had already displayed that portion of time during the previous loop.

What I need to do (and I don't know how yet) is to index a portion of the captured data from my three sources so the same number of points ending in the same time stamp get sent to the chart.

Here is an example: the analog input is captured first. I get 1000 samples and the last data sample occurs at 4/20/2008 1:00:00.000. Then the buffered digital input is captured. I get 1000 samples and the last data sample occurs at 4/20/2008 1:00:00.050. Then the unbuffered digital input is captured. I get 1 sample (16 inputs) and the data sample occurs at 4/20/2008 1:00:00.060.

I then take this data and combine it into an array of waveforms then feed it into the strip chart. During this current loop, the strip chart gets partial data that has a time stamp of 1:00:00.060 and plots it. Because the other two signal sources don't include data samples up to this time stamp yet, they appear blank on the chart.

During the next loop, I get another 1000 samples of analog input. Its first time stamp is 4/20/2008 1:00:00.0002 (base on my sample rate) this gets fed into the chart and is stored in the history, but won't appear on the display because the chart had already processed data with newer time stamps.

Thank you for pointing me in the right direction.

Download All
0 Kudos
Message 5 of 6
(3,599 Views)
I had a similar problem with data obtained from an RT system.  The last point of a 1 second chunck of data (2000 points) had a time stamp that was 1-2 ms later than the first point of the next set.  This caused the same effect as you saw.  It took me a while to figure it out since I wasn't looking to 3 decimal digits on my time stamps.
Randall Pursley
0 Kudos
Message 6 of 6
(3,532 Views)