EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: StripTool2_5_10_0 display of waveform records?
From: "Lawrence T. Hoff" <[email protected]>
To: Kay-Uwe Kasemir <[email protected]>
Cc: tech talk <[email protected]>
Date: Thu, 07 Sep 2006 11:35:36 -0400


Kay-Uwe Kasemir wrote:
On Sep 6, 2006, at 02:30 , Jon Brinkmann wrote:

Does StripTool2_5_10_0 display waveform records?


Hi:

It doesn't, and it couldn't.

Well, as you point out, it *could*, but only with additional information and sophisticated logic.

	I will tell a long-winded story, the upshot
of which is that I believe that a minimal extension
to StripTool, combined with the (complimentary) SNS
scope tool, could usefully address the vast majority
of waveform display applications....

	Of course, talk is cheap, and I am not actually
volunteering to do any real work. I am only offering to
share experience, and let others decide whether there
is something broadly palatable worth pursuing...


-- Larry



We recently struggled with this issue at BNL, primarily because we had a strong need to correlate data from many sources within the complex (5 different accelerators, with unique timing characteristics, and non-accelerator data).

	The conclusion we arrived at is essentially
identical to what Kay described. We decided to attack
the problem as follows:

	1) For some systems, we created (the RHIC
equivalent of) a "time info" record, with fields
describing the characteristics of the waveform
(much as Kay describes). E.g. one field puts the
data into one of those categories Kay enumerates,
one field describes the time of the waveform "trigger",
another describes the position of the trigger within
the waveform (beginning, end, somewhere in the middle),
another provides the inter-sample timing, etc.

	We probably went overboard, including fields like
"signal bandwidth" (to describe a correlation window for
data with different collection characteristics), and
handling the case of multi-segment data (e.g. data
acquired on multiple, separate triggers, but reported in
a single waveform).

	We then made the RHIC equivalent of StripTool
(General Purpose Monitor) sensitive to this information,
so it could sensible display data from different sources.

	Obviously, populating, maintaining, and verifying
such records requires effort, so we only used this technique
for high-multiplicity, well-defined, and commonly used
data sources (e.g. ramping magnet power supplies, loss
monitors, etc.).

	Note also that one could use a relational
database or plain files to store the same information.
In any case, there needs to be some way of relating the
waveform record to the "time info" record (if it exists).
We chose the (unsophisticated) technique of using a
name extension (i.e. "time info" record name is the
record name with a ".timeInfo" extension). It works,
but I am sure there are better ways to make that association.

	2) General Purpose Monitor (GPM) also allows users
to *manually* define the salient time characteristics
of a signal when that signal is added to the display.
These configurations can be saved between invocations of GPM.

	This technique is best suited for highly dynamic,
ad-hoc situations. If the signal characteristics were more
stable, they should be addressed by technique #1.

	3) As a default, because *something* is better than
*nothing*, GPM was designed to display waveforms even in the
absence of any information describing the time characteristics
of the waveform. StripTool could easily be enhanced in a
similar way. GPM uses one of two techniques:

	A) If a new waveform arrives within some time threshold
of the previously published waveform, the data is presented with
each waveform element evenly distributed in time. This ends up
working well for us, because it is common for us to do things like
collect 720Hz magnet power supply data which is "published" at
1Hz. In that case, the data is displayed as it each waveform
element were separately published at 720Hz. GPM assumes that
the waveform timestamp applies to the first element.

	B) If waveforms arrive "infrequently", some default
inter-sample time is used, based on the length of the waveform.
I.e. if waveforms of length 10,000 come every 4.5 seconds,
GPM might decide that the inter-sampling rate is 10KHz,
but if the waveform were of length 100, it might assume 720Hz
(a common timebase at RHIC).

Obviously, these heuristics are far from fool-proof, and have
resulted in some peculiar displays (data "spread out" when it
should not be, or data "compressed" when it should not be).
Nevertheless, I have found it surprisingly useful, especially
if the alternative is no display at all. Even binary data
such as raw video can be meaningfully displayed with GPM!

HTH



References:
StripTool2_5_10_0 display of waveform records? Jon Brinkmann
Re: StripTool2_5_10_0 display of waveform records? Kay-Uwe Kasemir

Navigate by Date:
Prev: Re: A question concerning rset->special() Benjamin Franksen
Next: Build failure under QNX 6.1 David Eisert
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: StripTool2_5_10_0 display of waveform records? Thomas Pelaia II
Next: A question concerning rset->special() Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·