1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 <2007> 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 <2007> 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: correlations application |
From: | Tim Mooney <[email protected]> |
To: | Christopher Larrieu <[email protected]> |
Cc: | [email protected] |
Date: | Mon, 30 Jul 2007 17:19:09 -0500 |
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Christopher Larrieu
Sent: Monday, July 30, 2007 12:51 PM
To: [email protected]
Subject: correlations application
Hi,
I've been tasked with developing a new correlation application to replace
the storied Correlation Plots from the old SLC control system.
My intent was to develop an eclipse-based java app to accomplish this.
However, Earnest Williams and Stephanie Allison suggested that I should look
into sscan and SynApps.
While these tools do seem feature-rich, they don't provide all of the things
that we want. So my questions are
(1) can they provide the functionality we want? (2) do we need the functionality that we think we want?
The main issues:
(a) user-extensibility
We want our physicists and other users easily to define steps, measures, and step functions using tools they are familiar
with, like Matlab.
The sscan record can certainly do that. It can do conventional linear scans (start, stop, step), and also table-mode where a table of target positions is downloaded. We use IDL to generate tables for EXAFS, where the step sizes are different in different parts of the scan (pre-edge, XANES, EXAFS).
(b) beam synchronous data acquisition
We need to use our specially developed beam synchronous data acquisition system to acquire pulse-synchronous data. How can the
sscan
record support this?
I think you can do it with a detector trigger, but need more information to be sure.
(c) concurrent use
Can one perform multiple scans concurrently with the sscan record, or must one pre-create multiple instances of the record to
achieve such?
What do you mean by "concurrently". Really at the same time (then you need multiple sscan records) or in quick succession (then one sscan record can be used and the parameters changed from the client). Note that sscan records can be nested to generated N-dimensional scans.
(d) data types Can this system retrieve data of types other than simple numbers?
Yes, it can retrieve arrays. The detector readback fields are doubles, so it cannot handle strings, for example.
(e) design philosophy
Is it a good idea to put this sort of functionality in an IOC? It seems sort of limiting to me. Why do it? Is it a matter of
using
the tools at hand, or are there more compelling reasons that I don't
see,
being mostly unfamiliar with IOC level applications?
It was designed this way for performance. If all of the things being scanned are in that IOC (which they do not have to be) then scans of hundreds of points per second can be achieved. This is difficult to do over the network from a client.
Now that we have soft IOCs, if you don't have strict performance requirements, then you don't need to put the scans in the real-time (RTEMS, vxWorks) IOC, but rather run them on a workstation IOC (Linux, Windows, etc.)
-- Tim Mooney ([email protected]) (630)252-5417 Beamline Controls & Data Acquisition Group Advanced Photon Source, Argonne National Lab.