[Date Prev][Date Next][Date Index]

Personal impressions of EPICS meeting





    Folks,

I have been asked to post my 'notes' from the EPICS Collaboration meeting
recently held in Chicago and the APS.  They probably contain many errors and
certainly contain many omissions, but I present them as the personal impressions
of a 'beam weenie'.  BTW, I only counted four of us CAT types attending the
meeting -- I think we should try to be more of a presence in the Collaboration
in order to influence the direction of EPICS toward being more useful for
beamline control and data acquisition.

Chip Watson - Working on cdev API for C++ and C.  Asked how many people
              program in C++?  About two people (out of about 30) raised their
              hands!

Jeff Hill - His priorities:
              1. Finish portable ca server (promised by the end of this month).
              2. Implement option of caching instead of queing ca server
                 requests (done at request of CEBAF and easy to implement)
              3. Support for larger arrays.  (Many of us beat on him to do
                 this *soon*.)
              4. Support for structures and user-defined data types will not
                 be here until version 4.
              5. Version 4 will also include option of setting priority for
                 server requests.

Mike Oothuodt (LANL) - One lesson they learned in doing an upgrade to LANCE is
                       the importance of protyping GUI's (with paper screens!)
                       for their customers very early in the development cycle.

Stephanie Allison (SLAC) - Control system at SLC is VAX/VMS based.  She has
                           written a sharable image which is a layer on top of
                           ezca, for error handling, VMS time stamps, etc.

Jim Kowalkowski - Driver for Systran's IndustryPack ADC is finished.  The
                  hardware works up to spec.  Greenspring's cheap ADC is lousy
                  (nominally 12 bits, he can only get 9 real bits).
                  New utilities he has put in R3.12.2 (undocumented):
                    1. Added new token to databases with a gdct interface to
                       attach an arbitrary string to a data base, which can
                       then be fetched via a new utility.  The idea is
                       to identify which application's db is running.
                    2. Wrote a general purpose server to provide information
                       from vxWorks and EPICS.  Need to add PVSStart to
                       vxWorks startup script and then can use new clients rdbls
                       (to get a list of records) and rdb_applist (to get the
                       application string).  PVSStart uses John Winans' bulk
                       data transfer library; it is easy to add more server
                       capability.

Mike Borland (ASD) - Physicists love his SDDS format and toolkit.  Documentation
                     now at http://www.aps.anl.gov/asd/oag/oaghome.html

Claude Saunders - Working on Tcl/TK wrapper for the fantastic SDDS toolkit.  He
                  has built an easy to use APS library layer on top of Tcl/TK
                  which enforces a standard look and feel.  (Only use one
                  button on mouse, because 'operators can't learn how to use
                  more than one button'.)  All his top level widgets have a
                  menu bar with at least File and Help (which includes
                  context-sensitive help where the cursor turns into a question
                  mark and give information when buttons are clicked).  a
                  status line is always underneath the menu bar which always
                  gives feedback on what the widget is doing.

Matthias Clausen (DESY) - Uses an IRM, developed at FNAL.  It is a VME
                          module which starts from a MVME 162 but has *lots*
                          of digital and analog I/O added.  The module is
                          now available commercially and can quickly be
                          added to a system when more I/O is needed.
                          He is also working on a system status display
                          which can show the status of all his IOCs --
                          hardware configuration, memory, CPU usage, etc.
                          Finally, he has an IDL GUI application which can
                          display data it fetches from CORBA.  It looks
                          fairly general purpose and we should check it out.

Fred Vong - medm's strip chart now uses monitors instead of sampling.

Janet Anderson - Finished with first version of stripTool, a Motif
                 application to do stripcharting of multiple PV's.  It is
                 included in latest EPICS distribution.  Does *not* use
                 Xrt/graph.

Marty - R3.12.2 will be out RSN.
        Following release will support default.dctsdr only in ASCII.
        Brief synopsis of new scheme (explained better in update to ch. 10 of
        Application Developers Guide, which will be completely rewritten soon):
          DCT and sdr file formats will no longer be supported, but he has
          written a utility to convert existing default.dctsdr files into the
          new formats.
          cat_ascii, replace_ascii and makesdr will no longer exist.
          APS is going over to CVS to support new application directory trees.
          User code that accesses internal db structures must be modified.
          Still use the same dbStatic API for device configuration.
          New ASCII files (all in /base/rec):
            - menu choices (combines many old menu files)
            - recordtype (with consistent easier to use syntax)
            - record instances (same format as now used by dbLoadRecord)
            - device choice
            - driver choice
            - breakpoint conversion table
          Recommended scheme to use for dbLoadAscii:
            path '/base/rec'
            include 'menuGlobal.ascii'
            ...
            path 'your development path, like ../src/O.mv167'
            include ...
          In startup files, dbLoad -> dbLoadAscii, dbLoadRecord, dbLoadTemplates
          This release will automatically generate .h files to:
            - create enums for menu choices. *Use them.*
            - #define all record field names.
            - include a routine that will calculate all offsets in records (to
              allow compilation on arbitrary platforms).
          Changes that need to be made to record support:
            - #define GEN_SIZE_OFFSET /* force use of offset calculation */
              #include 'xxrecord.h' /* existing header */
              #undef GEN_SIZE_OFFSET /* only calculate offsets once */
            - new routine recGblInitConstantLink() must be used to assign links
            - highly encouraged to use new enum definitions
         Online add/delete of records and modification of links:  he is
         thinking about this, but is currently hung up about the problem of
         recomputing lock sets which can be very costly and may be
         unacceptable in a realtime environment.  I asked for gdct support for
         adding record instances.  Whatever the scheme decided upon, it will
         allow for phased implementation of modifiable links, recordtype by
         recordtype and device support will have both behaviors for a while.

Bob Dalesio - he wrote yet another save/restore utility which runs in vxWorks.
              Can work in principle to do a 'glitchless reboot'.  It turns out
              that CEBAF, LANL, and LBNL each have their own versions and it
              was agreed that some order should come from this chaos: maybe 
              the new BURT should support warm reboots.

John Winans - EPICS time structures are offset from POSIX.4 time structures,
              but he is working on a simple fix so that we can use vxWorks and
              POSIX time routines with EPICS timestamps.

                                   --Harvey
   ----
Harvey Rarback                phone:       (312)702-9931
CARS                          fax:         (312)702-5454
University of Chicago         Internet:    rarback@cars3.uchicago.edu
5640 South Ellis Avenue       ESnet:       47583::RARBACK
Chicago, IL 60637             'My husband is a very friendly guy.'