LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

plot multistrips

I have a project about DAQ which has 36 channels,I want to monitor the 36
channels simultaneously,I show monitor-curves in two charts because the
customer would not watch too many forms.I add an offset between two curves.
namely,
for(i=0;i<512;i++)
{
Offset=0;
for(j=0;j {
Offset=Offset+2 ;
/*buf[j] is the array read from the jth channel's buffer
which has been dealed with QScale1D (buf[j], 512, buf[j], &scale);
*/
Merge[j+i*traceNum]=buf[j][i]+Offset;
}
}
PlotStripChart (panelID, controlID, Merge, traceNum*512, 0, 0,

VAL_DOUBLE);
I set 512 points per screen.when the traceNum equals 18,the respondence of mouse
become too slow,even invalid.At first I think using two threads can solve this problem,
but when I put plotstripchart in the main thread(maintimer=2s),and DAQ in the other tread which
is created by NewAsyncTimer(NewAsyncTimer=2s),the same phenomenon appeared.Is it because
traceNum*512 too big?


how can solve this problem,please give me some advice.
0 Kudos
Message 1 of 2
(2,876 Views)
So that's about 9000 total points to draw. How fast are you trying to plot? What is the rate at which the PlotStripChart is called (what is your AsyncTimer rate?) Speed of plotting is machine dependent (video card speed, processor speed, screen resolution, etc.). I wrote an example program that charts 18 lines with 512 points at a time. It takes about 60 milliseconds on my machine to make that plot. You may be wanting to go faster than that or have a slower machine. See the example I was using attached below.

Best Regards,

Chris Matthews
National Instruments
0 Kudos
Message 2 of 2
(2,876 Views)