EPICS Talk Accel Phys Coll 2 by U42oJP7


									ACNET vs EPICS at Fermilab

Accelerator Physics and Technology Seminar

              Sharon Lackey

                       Special Thanks to:
   Ned Arnold – APS
   Fritz Bartlett – D0
   Dennis Nicklaus – AD/Controls
   Jim Patrick – AD/Controls
   Charlie Briegel – AD/Controls
   Brian Hendricks – AD/Controls

                 ACNET vs EPICs at Fermilab   2

   What is EPICS
   What EPICS is not
   Who uses EPICS
   Comparison of EPICS and ACNET
   Other Solutions
   The Future

               ACNET vs EPICs at Fermilab   3
                         EPICS is …

 Experimental Physics and Industrial Control System
 A toolkit that Allows a Controls System to be built with
  configuration rather than programming
 A set of tools with well defined interfaces
 Written and Maintained by a Collaboration of Controls
 Client/Server based
 Distributed, Two Tiered Architecture
 Allows Communication between any two points
 Limited primarily by Network Bandwidth
 Written in C and C++

               ACNET vs EPICs at Fermilab                    4
                              What is EPICS? *

                                                                            My Special
 Any tool/program/application that                                            Data
  abides by the Channel Access                                              Collection
  protocol could be described as
                                            StripTool     MEDM
  “EPICS Compliant”.
                                                  CAC       CAC                CAC

 EPICS can be viewed as a
  “toolkit” of EPICS
  compliant programs. One                   CAS                   CAS   CAC       CAS    CAC

  can select the appropriate                My
  tool for their need or                Accelerator               iocCore        LabView
  develop their own.                       Code
                                                                    (PVs)            (PVs)


           *Courtesy of N. Arnold   ACNET vs EPICs at Fermilab                                 5
                                                 CA Clients may run on:
                                                 Unix, Windows,
                                                 VxWorks or VMS

                                     Ethernet TCP/IP & UDP
running under:
Solaris, Linux,

                           VME,VXI, PCI,
                           ISA, or embedded

                  ACNET vs EPICs at Fermilab                              6
                               EPICS IS…
 EPICS Core:                                     Channel Archiver
                                                 Sequencer (State Machine)
    Channel Access Client and                   BURT (Back up and Restore Tool)
     Server                                      Gateway
                                                 APIs
    Process Database                               •   Python
    Scanners                                       •   LabVIEW
                                                    •   TCL/TK
    Monitors                                  Data Display Tools
    Database Configuration Tools                   • ADT (Array Display Tool)
    Build Tools                                    • StripTool (Strip Chart Plotting
    Source/Release                                 • Yviewer (Data Visualization
 EPICS Extensions:                            Database
    GUI Builders:                              Configuration/Management Tools
       •   EDD/DM (LNAL)                            •   DCT (Tcl/Tk – deprecated)
       •   MEDM (ANL)                               •   GDCT (Graphical – deprecated)
       •   EDM (ORNL)                               •   JDCT (Java)
       •   DM2K (BESSY)                             •   VDCT (Visual)
       •   JoiMint (DESY)                           •   CapFast (Commercial schematic
                                                        capture Tool…
    Alarm Handler                             More we won’t mention…

                     ACNET vs EPICs at Fermilab                                         7
                       Inside a VME IOC *

                                   Ethernet LAN

                                                         DB Load

Scanners         Database Access                       IOC Database

                                      Record Support




    *Courtesy of F. Bartlett        ACNET vs EPICs at Fermilab                      8
                                 Channel Access in One Slide *

                           “connection request”         “get” or      “put” or          “set a
                            or “search request”         “caGet”       “caPut”          monitor”

                             Who has a PV named                     Change its          Notify me
                             “S1A:H1:CurrentAO”?                   value to 30.5        when the
                                                                                         value                CA Client
                                                  What is its                           changes
  Channel Access Client

              CA Server
 Channel Access Server
                                    I do.          25.5          OK, it            It is now      It is now      It is now
                                                  AMPS          is now             20.5 AMPS    10.5 AMPS       -0.0023 AMPS
Process Variables:                                                30.5

   S1A:H1:CurrentAO                                        “put complete”                       “post an event”
                                                          30.5 is too high.
                                                           It is now set to                    “post a monitor”
                S1:P1:x                            or       the maximum
                                                            value of 27.5.
                                                             You are not
                                                            authorized to
                                                   or     change this value

                      *Courtesy of N. Arnold         ACNET vs EPICs at Fermilab                                                9
                       EPICS is NOT…

 A Control System “in a box”
 The total solution for all your controls needs
 Going to allow you to get rid of the controls dept. & all
 Object Oriented

                 ACNET vs EPICs at Fermilab                   10
                       Channel Access Records
 Analog                                   Calculation
      Input (double float)                Calculation Out
      Output                              Compression
      Long Input (32 bit integer)         CPID and PID
      Long output
                                           fanout and dfanout (data fanout)
 Binary
                                           Event (hardware int. handler)
    Input
                                           Histogram
    Out
    Multi-bit Input (16 bits)
                                           Permissive (client-server
    Multi-bit Output
    Multi-bit Input Direct                Pulse
    (16 bit integer to char[16] )               Counter (counts pulses)
    Multi-bit Output Direct                    Delay (generates pulses)
     ( char[16] to 16 bit integer)              Train (generates pulse trains)

 Archive                                  Scan (used to scan detectors)

                      ACNET vs EPICs at Fermilab                                  11
                       Channel Access Records
   Select (12 input mux)
   Sequence (triggers up to 10 other records and sends values)
   State ( ASCII string representing the current state of a state program )
   Stepper Motor
   String
      Input
      Output
 Array
      Waveform
      Sub Array ( reads part of a waveform)
 Subroutine (calls a C routine with up to 12 input links)
 Timer ( drives an output to latch data)
 Wait – obsolete, replaced by calc out

                      ACNET vs EPICs at Fermilab                               12
         Who Uses EPICS ? (an incomplete list)

   SNS & ORNL
   JLAB
   APS & ANL
   LBL
   LANL
   DESY
   CosyLab
   Kinetic Systems
   Intuit
   FNAL (D0 & SMTF)

              ACNET vs EPICs at Fermilab         13
                  Comparison of EPICS and ACNET

   ACNET                                           EPICS
       3 Tiers                                         2 Tiers
       Central Services                                Distributed Services
       Client/Server                                   Client/Server
       Uses UDP                                        Uses TCP/IP
       Uses Multicasts                                 Uses Broadcasts
       Multiple protocols                              Single protocol
          •   Snapshot                                     • Data Acquisition (Channel Access)
          •   FTP
          •   Data acquisition (RetDat/SetDat)
          •   Network (Acnet)
     Single Site                                     Collaboration
          • More Control                                   • More Help
          • Less help                                      • Less Control
     Lots of Specialized User                        One GUI Application can be used to
      Applications                                     create many displays
     Limited to Six Character Names                  Names can be very long
     FTDs                                            Data scan rate set in database

                        ACNET vs EPICs at Fermilab                                               14
                             ACNET Control System Overview *

Application     Console                    Java                     Web
               Applications             Applications             Applications

Central          Central                                        Open Access
                                           Servlets                                        Database
                 Services                                         Clients


                  MOOC                    Labview                   IRM
                Front-Ends               Front-Ends              Front-Ends

                               field bus: VME, SLD, Arcnet, ethernet, …

                         Field Hardware      CAMAC, VME, PMC, IP, Multibus, CIA, GPIB, …

                     *Courtesy of J. Patrick       ACNET vs EPICs at Fermilab                         15
                      EPICS Use at Fermilab
 D0 slow controls
    Using EPICS since beginning of Run 2
    Extended EPICS by:
       •   Adding support for new device types
       •   Added Global Event reporting system
       •   Added a Central Database
       •   Added support for MIL/STD1553B bus
       •   Detector configuration tool
 Proton Driver
    Plans to use EPICs
 Meson Test Facility
    Using EPICS, DOOCs and ACNET

                    ACNET vs EPICs at Fermilab   16
                                        ACNET on One Slide
                Read M:OUTTMP
                                                Read C:LUMIN

Application 1            Application 2

                                                   Already getting this data?
        Data Pool Manager                                       No
                                                                                                     I’ll get the
                                                           What is its                                 info and
SQL Client       RetDat/SetDat Client                       value?                                    calculate
                                                                                                      the value

                                                                  OAC                           Central Services
                                                         Local Applications
   SQL Server
Database Entries                                                  MOOC
                                                  Retdat/Setdat          Retdat/Setdat
                                                     Server                 Client

                                                                                                 Front Ends
  Retdat/Setdat Client   Retdat/Setdat Server    Retdat/Setdat Client    Retdat/Setdat Server
                    MOOC                                           MOOC
                   Methods                                        Methods
           Local Applications                             Local Applications

                                  ACNET vs EPICs at Fermilab                                                        17
                          Meson Test Facility

 EPICS used for Cryogenics Controls interface to Siemens-
  Moore PLCs
    Implemented in Software IOCs on the PCs that run the APACS+
    Communicate with the PLCs via OPC
       (OLE for Process Control )
 EPICs driver for DESY’s SimCon 3.1 LLRF board
 Edm used as the GUI builder
 Using extensions:        Plan to use:
    Alarm handler                    BURT
    StripTool for plots              Channel Archiver

                   ACNET vs EPICs at Fermilab                      18
Brown Refrigerator GUI Display in edm

     ACNET vs EPICs at Fermilab         19
Alarm Handler for Meson Test Facility Cryo

        ACNET vs EPICs at Fermilab           20
      Strip Tool Plotter

ACNET vs EPICs at Fermilab   21
ACNET vs EPICs at Fermilab   22
      Why Use EPICS @ Meson & ILC Test Facility?

 Test Facility will be used by many visitors from various
 EPICs is used at more labs than other controls systems
 Argonne personnel have expertise
 D0 personnel have expertise
 EPICs or its successor may be considered for the ILC
 FNAL needs to develop expertise in EPICS in order to
  fully evaluate it

                 ACNET vs EPICs at Fermilab                  23
            Why not use EPICS Now at Fermilab?

 ACNET is a stable, full featured controls system
 Operators are familiar with ACNET
 Huge investment in existing code
 Users can easily write applications for ACNET
 ACNET is now ported to Linux
 We can modify ACNET without the approval of a
 Switching controls systems would be a monumental task
 We would lose functionality

                 ACNET vs EPICs at Fermilab               24
        Why Should We Switch to EPICS at Fermilab?

   We can benefit from the collaboration of laboratories
   We can influence the characteristics of Version 4.0
   EPICS or its successor may be the choice for the ILC
   Professional development of staff

                  ACNET vs EPICs at Fermilab                25
         What Does ACNET have that EPICS doesn’t?

   The Parameter Page
   Ability to add a data channel on the fly
   Data has associated error status on each return
   Redirection
   Consolidation of requests to front ends
   Wild card devices
   Snapshot plots
   Automatic downloads of settings on reboot
   Automatic logging of settings
   SDA
   Consolidated Error reports
   An integrated Console environment

                  ACNET vs EPICs at Fermilab          26
  ACNET Parameter Page

ACNET vs EPICs at Fermilab   27
ACNET vs EPICs at Fermilab   28
        What Does EPICS have that ACNET Doesn’t?

   Longer More Descriptive names
   Distributed database
   Wide user base and on-line Tech-Talk help
   Front ends can be “programmed” by configuring database
    records with minimal real programming

                 ACNET vs EPICs at Fermilab                  29
               Some Other Control Systems

   Tango (Collaboration of Light Sources)
   LHC (new system using Java, CORBA & C++)
   DOOCS (DESY Object Oriented Controls System)
   ALMA Common Software (Large Array Telescope)

                ACNET vs EPICs at Fermilab         30
               The FUTURE: Version 4.0

 Provide online add/delete of I/O to support continuous
 Provide redundant control of remote I/O to support
  improved reliability.
 Provide name introspection and domain control in
  support of seamless integration of large control systems
 Provide triggers, filters, and rate limits to improve
  resource use of network and client side processing
 Provide hierarchical devices to support higher level view
  of application in the front-end processors.

               ACNET vs EPICs at Fermilab                     31
                      Version 4.0 cont.

 Provide automatic backup and restore to support bump-
  less reboot and synchronization of redundant controllers.
 Provide atomic read, write, and write with read-back to
  multiple channels to support synchronized access of
  arbitrary sets of channels.
 Support international users with uni-code and time.
 Remove limitations on string lengths, device states,
  number of input links to support arbitrary sizes.
 Internationalize Time Stamps

                ACNET vs EPICs at Fermilab                    32
                        Version 4.0 cont.

 Allow definition and access to complex devices and
  multi-dimensional arrays
 Name hierarchy in Channel Access
 <arbitrary string>.structure. Element[n]
    e.g. Arc3PwrSupply.readback.status,
 Device description in database
 Support arbitrary number of inputs to calculations and
 Support multi-state devices of an arbitrary number of

                 ACNET vs EPICs at Fermilab                33
                     Version 4.0 cont.

 Allow wildcard searches
 Allow request to send all names supported in the IOC
 Support redundancy by allowing connections to specify
  that they are not active
 Support multiple name servers by allowing connections
  to specify how close to the source they are.
 Support Name aliases

               ACNET vs EPICs at Fermilab                 34
                      Another Initiative

 EPICs Office
    Led by Matthias Clausen of DESY
    Initiative to provide an Integrated Development
     Environment for EPICs
    Provide a common look and feel across EPICs

                ACNET vs EPICs at Fermilab             35
              Status of Version 4.0 as of Feb 3, 2006

Ned Arnold (for the APS Team) wrote in TechTalk:

Upon review of last year's efforts and accomplishments, we have realized that
EPICS Version 4 is too large of a development to successfully undertake with
the part-time resources that can be leveraged from operating facilities. In
addition, the ambitious redesign of major portions of EPICS core (database,
communications API, device support interface) would be a significant
impediment for operating facilities to migrate to Version 4.

Therefore, under the current EPICS collaborative structure (and funding
model), we have made a decision to focus on small incremental evolutionary
steps (3.15, 3.16, etc) rather than revolutionary leaps. We will evaluate the
desired features of V4 and develop a roadmap for incorporating some of these
features into Version 3. More significant changes/features will have to wait
until new opportunities present themselves to fund substantial developments
(there are a few ideas on the table, however).

                     ACNET vs EPICs at Fermilab                             36
Andrew Johnson has taken over responsibility of "keeper of the source". His
primary emphases will be reliability, maintainability and establishing a well-defined
forward migration path for existing applications as new features are added. Some
features already identified for possible incorporation into 3.x include enhancement
of the build system; unbundling BASE into Core, Channel Access, and IOC;
variable length strings; etc. Because of our limited resources, we will be looking for
significant assistance in developing these features (i.e. the timeline for delivery is
directly proportional to available resources).

Some V4 research and development will continue, but not led or coordinated by
Argonne. One effort will include investigation of hierarchical records, "devices",
and emerging protocols. An initial implementation of some of these ideas will be in
a Java IOC (Marty Kraimer is working on this development). Another emerging
development effort is the Control System Studio (a.k.a EPICS Office) and IOC
redundancy driven by DESY. Any successes in these areas will be considered for
integration somewhere in the future. Contact Bob Dalesio or Matthias Clausen if
you are interested in these activities.
                         ACNET vs EPICs at Fermilab                                37

To top