EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: CSS X-Y Graph
From: Mark Rivers <[email protected]>
To: Andrew Johnson <[email protected]>, "[email protected]" <[email protected]>
Cc: Eric Norum <[email protected]>
Date: Fri, 24 Feb 2012 20:01:14 +0000
Hi Andrew and Janet,

While Janet is looking at the plot widget, there is a serious performance problem that should be fixed if at all possible.  If you create a waveform with a large number of elements, so that the plot update is rather slow, then you can clearly see the following: when a new array is posted the plot widget first replots the existing array, and then plots the new array.  This slows things down by a factor of 2, which is very significant when the number of elements is large, and the plot is really slow anyway.

Thanks,
Mark


________________________________________
From: [email protected] [[email protected]] on behalf of Andrew Johnson [[email protected]]
Sent: Friday, February 24, 2012 12:46 PM
To: [email protected]
Cc: Eric Norum
Subject: Re: CSS X-Y Graph

Hi John,

On 2012-02-24 John Dobbins wrote:
>
> This works for me with the following caveat. If the number of points in
> the waveform becomes greater than the number of points when the MEDM
> screen began execution the display does not adjust. It handles reducing
> the number of points and then increasing back to the original number but
> if I want to exceed the number of points that was  in effect when the
> screen began execution I have to switch to Edit and then back to Execute.
>
> Is this what I should expect?

I can believe that MEDM currently behaves like that, although it seems like
that should be a bug.  I suspect what's happening is that the graph widget is
using the initial value from the count channel in the size of its subscription
to the waveform data channel.  Closing and reopening the screen would delete
and recreate those channels, cause the widget to read a new count value and
thus subscribe for a larger number of data points.  This is what you're seeing
happen.

I can see two conflicting uses for the count channel though and IMHO the
second one makes it hard to change the existing behavior, although that
doesn't mean we can't change the code so you can do what you want.

1. In your and Eric's case the count channel is being used to work around the
problem that older versions of CA didn't support variable length arrays.  If
MEDM were to subscribe for the waveform data giving a length of zero, recent
versions of Base would only give it NORD elements automatically (older
versions would always supply NELM elements although the values beyond NORD
would all be zero).  I have asked Janet Anderson to look at how hard it would
be to be able to configure the graph widget to do this.

2. The other case that I am concerned about is where the waveform might
contain a large amount of valid data, and the count channel is being used to
limit the graph to only subscribe for and display a small initial portion of
the array.  If we were to modify MEDM to *not* use the count channel as a
limit to the subscription size then we might break existing control systems as
we could overwhelm the IOC's available bandwidth.

I think that adding the ability to tell the widget to use the new variable-
length array support should provide the functionality that you want without
breaking any existing uses.  Hopefully Janet can find an easy way to add this
feature and come out with a new release of MEDM that supports it (as long as
you're using Base 3.14.12 for both your IOC and client, and you're not going
through a gateway, since neither it nor the CAS support variable length arrays
yet, unfortunately).

- Andrew
--
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte

Replies:
Re: CSS X-Y Graph Andrew Johnson
References:
CSS X-Y Graph John Dobbins
Re: CSS X-Y Graph Eric Norum
Re: CSS X-Y Graph John Dobbins
Re: CSS X-Y Graph Andrew Johnson

Navigate by Date:
Prev: Re: QT-based tools: Expressions of interest requested dreid
Next: Re: CSS X-Y Graph Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: CSS X-Y Graph Andrew Johnson
Next: Re: CSS X-Y Graph Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·